AVStream (八)

2019-09-27  本文已影响0人  RWz_my

该结构体描述一个媒体流

主要域的释义如下,其中大部分域的值可以由av_open_input_file根据文件头的信息确定,缺少的信息需要通过调用av_find_stream_info读帧及软解码进一步获取:

index/id:index对应流的索引,这个数字是自动生成的,根据index可以从AVFormatContext::streams表中索引到该流;而id则是流的标识,依赖于具体的容器格式。比如对于MPEG TS格式,id就是pid。

time_base:流的时间基准,是一个实数,该流中媒体数据的pts和dts都将以这个时间基准为粒度。通常,使用av_rescale/av_rescale_q可以实现不同时间基准的转换。

start_time:流的起始时间,以流的时间基准为单位,通常是该流中第一个帧的pts。

duration:流的总时间,以流的时间基准为单位。

need_parsing:对该流parsing过程的控制域。

nb_frames:流内的帧数目。

r_frame_rate/framerate/avg_frame_rate:帧率相关。

codec:指向该流对应的AVCodecContext结构,调用av_open_input_file时生成。

parser:指向该流对应的AVCodecParserContext结构,调用av_find_stream_info时生成。

上一篇下一篇

猜你喜欢

热点阅读