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设置

相关推荐
海南java第二人1 天前
数据库范式详解:从冗余到规范的升华之旅
数据库·oracle·ffmpeg
mortimer1 天前
只需三步,动手搭建一个本地免费【实时语音转录】工具WhisperLiveKit
ffmpeg·github·openai
Hi202402173 天前
消除FFmpeg库的SONAME依赖
linux·ffmpeg
mortimer5 天前
使用阿里AI模型去除背景噪音:单文件40行代码实现
python·ffmpeg·阿里巴巴
今天也想MK代码5 天前
WebRtc语音通话前置铃声处理
ffmpeg·webrtc
撬动未来的支点5 天前
解读ffmpeg控制台输出
ffmpeg
戴草帽的大z5 天前
使用V4L2工具验证RK3588平台视频设备节点数据有效性
ffmpeg·音视频·rk3588·nv12·v4l2-ctl
戴草帽的大z5 天前
rk3588上用rk_mpi_vi_test与ffmpeg实战
ffmpeg·rk3588·mpi·rk_mpi_vi
笑虾5 天前
bat 批处理实现 FFmpeg 命令压缩 MP4
ffmpeg
PenTablet5 天前
用ffmpeg来压缩视频文件
ffmpeg