当前位置: 首页 > news >正文

FFmpeg学习:AVPacket结构体

1.AVPacket结构体

FFmpeg中用于封装一帧的编码数据的结构体(比如H264视频帧或者AAC音频帧),主要用于编解码过程中数据的载体,使用av_read_frame()读取获得,或者使用avcodec_send_packet()进行解码,与AVFrame一起构成FFmpeg开发中的核心数据流结构:

AVPacket->编码后的数据(如H264视频帧)
AVFrame->解码后的数据(YUV帧,PCM等)

2.核心字段

字段名类型说明
datauint8_t*数据指针(压缩的音视频数据)
sizeint数据大小(字节)
ptsint64_t显示时间戳(presentation timestamp)
dtsint64_t解码时间戳(decode timestamp)
durationint该帧持续时长(以 time_base 为单位)
stream_indexint属于哪个 AVStream 的下标
flagsint包含关键帧标志 AV_PKT_FLAG_KEY 等
posint64_t在文件中的偏移(字节)

3.打印相关信息示例

inline void printAVPacketCase(const char* input) {
    AVFormatContext* fmt_ctx = nullptr;
    AVPacket pkt;

    avformat_open_input(&fmt_ctx, input, nullptr, nullptr);
    if(!fmt_ctx) {
        fprintf(stderr, "open file failed");
    }
    while(av_read_frame(fmt_ctx, &pkt) >= 0) {
        printf("-------AVPacket Info------\n");
        printf("stream idx : %d\n", pkt.stream_index);
        printf("PTS : %" PRId64 "\n", pkt.pts);
        printf("DTS : %" PRId64 "\n", pkt.dts);
        printf("Duration: %d\n", pkt.duration);
        printf("Size: %d bytes\n", pkt.size);
        printf("Position: %" PRId64 "\n", pkt.pos);
        if (pkt.flags & AV_PKT_FLAG_KEY)
            printf("Flags: KEY FRAME\n");
        else
            printf("Flags: NON-KEY FRAME\n");
        printf("--------------------------\n");

        av_packet_unref(&pkt);
    }
}

在这里插入图片描述

相关文章:

  • 谷歌Chrome浏览器零日漏洞遭黑客大规模利用
  • Nginx 学习笔记
  • 华为eNSP-配置静态路由与静态路由备份
  • FALL靶机
  • 双目云台摄像头全方位监控方案
  • 网吧网络的边缘计算
  • CSS样式大全
  • 软考《信息系统运行管理员》- 5.3 信息系统数据资源备份
  • 17 python 文件管理
  • 聊一聊安卓WallpaperService壁纸窗口触摸事件接收原理-第一篇
  • POSIX 线程取消与资源清理完全指南
  • 青少年编程与数学 02-012 SQLite 数据库简介 04课题、数据库应用
  • uniapp自定义目录tree(支持多选、单选、父子联动、全选、取消、目录树过滤、异步懒加载节点、v-model)vue版本
  • 7.8 窗体间传递数据
  • Redis和三大消息队列
  • 判断字符串是否存在于 Pandas DataFrame
  • Pytorch学习笔记(十)Learning PyTorch - Learning PyTorch with Examples
  • WifiManager 的扫描限制省电功能介绍
  • 香蕉派 BPI-CM6 工业级核心板采用进迭时空K1 8核 RISC-V 芯片开发
  • Pytorch学习笔记(十一)Learning PyTorch - What is torch.nn really
  • 用爱奇艺会员做视频网站违法吗/开发一个app平台大概需要多少钱?
  • 内容营销的步骤/独立站seo建站系统
  • 用jsp做网站主界面/整合营销传播方案
  • 网站建设调查表/百度竞价点击神器奔奔
  • 网站 服务器 域名/优化方案电子版
  • 网站中怎么做搜索框/湖人队最新消息