ffmpeg源码分析(七)结构体之AVStream

AVStream是存储每一个视频/音频/字幕/其它流信息的结构体。

头文件

github.com

关键字段

  1. index: 流下标,AVFormatContext中对应流的索引

  2. id: 流id,解码时由libavformat设置,编码时由用户设置。

  3. type: 编解码器的类型,可以是音频、视频等。

  4. id : 编解码器类型的唯一标识符,属于 AVCodecID 类型。

  5. codecpar : 这是一个包含编解码器参数的结构体。它包括了与该流关联的编解码器的配置,如编码类型、码率、帧率等。解复用时再avformat_find_stream_info()中获取,复用时由调用者在avformat_write_header()中配置。

  6. time_base: 表示时间基准,用于将时间戳转换为实际时间。例如,如果 time_base{1, 25},即1s用25来标识,则时间戳为 50 的帧表示 2 秒。

  7. sample_aspect_ratio 宽高比

  8. metadata: 一个字典,包含与该流关联的元数据。这些元数据可能包括标题、艺术家、年份等信息。

  9. avg_frame_rate:帧率

  10. attached_pic :封面图,比如说一些MP3,AAC音频文件附带的专辑封面。

  11. side_data nb_side_data: 一整个流的附加信息的集合,解复用由libavformat设置,复用由avformat_write_header设置

相关推荐
追光天使13 小时前
Mac M1 源码安装FFmpeg,开启enable-gpl 和 lib x264
macos·ffmpeg
cuijiecheng20181 天前
FFmpeg源码:av_base64_decode函数分析
ffmpeg
2035去旅行1 天前
FFmpeg(7.1版本)编译:Ubuntu18.04交叉编译到ARM
arm开发·ffmpeg
我码玄黄2 天前
FFmpeg:多媒体处理的瑞士军刀
后端·ffmpeg·开源
yerennuo2 天前
FFmpeg rtmp推流直播
ffmpeg
2035去旅行2 天前
FFmpeg(7.1版本)的基本组成
ffmpeg
学习嵌入式的小羊~3 天前
RV1126画面质量三:QP调节
ffmpeg·音视频
daqinzl3 天前
Ubuntu x64下交叉编译ffmpeg、sdl2到目标架构为aarch64架构的系统(生成ffmpeg、ffprobe、ffplay)
ubuntu·ffmpeg·ffplay·sdl2·交叉编译 aarch64
yerennuo4 天前
FFmpeg 自定义IO和格式转换
ffmpeg
daqinzl6 天前
ubuntu x64下交叉编译ffmpeg到目标架构为aarch架构的系统
ubuntu·ffmpeg·交叉编译·arm64 aarch64