简介
我们经常需要知道一个媒体文件所包含的媒体流的信息,比如文件格式、播放时长、码率、视音频编码格式,视频分辨率,帧率,音频属性等信息。
如何使用FFmpeg API获取这些信息呢?
媒体容器封装格式
文件播放时长
文件平均码率(视频+音频)
视频属性(编码器名称、视频分辨率、帧率、编码码率)
音频属性(编码器名称、采样率、声道数、编码码率)
avformat_find_stream_info
伪代码:
/// 数据结构:大管家婆
AVFormatContext* m_inputAVFormatCxt = NULL;
/// 打开文件
res = avformat_open_input(&m_inputAVFormatCxt, filepath, 0, NULL);
/// 查找流信息
if (avformat_find_stream_info(m_inputAVFormatCxt, 0) < 0)
av_dump_format(m_input