AVStream
該結(jié)構(gòu)體描述一個(gè)媒體流
主要域的釋義如下,其中大部分域的值可以由av_open_input_file根據(jù)文件頭的信息確定,缺少的信息需要通過(guò)調(diào)用av_find_stream_info讀幀及軟解碼進(jìn)一步獲?。?/p>
index/id:index對(duì)應(yīng)流的索引,這個(gè)數(shù)字是自動(dòng)生成的,根據(jù)index可以從AVFormatContext::streams表中索引到該流;而id則是流的標(biāo)識(shí),依賴(lài)于具體的容器格式。比如對(duì)于MPEG TS格式,id就是pid。
time_base:流的時(shí)間基準(zhǔn),是一個(gè)實(shí)數(shù),該流中媒體數(shù)據(jù)的pts和dts都將以這個(gè)時(shí)間基準(zhǔn)為粒度。通常,使用av_rescale/av_rescale_q可以實(shí)現(xiàn)不同時(shí)間基準(zhǔn)的轉(zhuǎn)換。
start_time:流的起始時(shí)間,以流的時(shí)間基準(zhǔn)為單位,通常是該流中第一個(gè)幀的pts。
duration:流的總時(shí)間,以流的時(shí)間基準(zhǔn)為單位。
need_parsing:對(duì)該流parsing過(guò)程的控制域。
nb_frames:流內(nèi)的幀數(shù)目。
r_frame_rate/framerate/avg_frame_rate:幀率相關(guān)。
codec:指向該流對(duì)應(yīng)的AVCodecContext結(jié)構(gòu),調(diào)用av_open_input_file時(shí)生成。
parser:指向該流對(duì)應(yīng)的AVCodecParserContext結(jié)構(gòu),調(diào)用av_find_stream_info時(shí)生成。