ffmpeg AVStream結(jié)構(gòu)體主要變量

AVStream是存儲(chǔ)每一個(gè)視頻/音頻流信息的結(jié)構(gòu)體
參考結(jié)構(gòu)體理解:http://www.lxweimin.com/p/d109e7ef9749

int index

:標(biāo)識(shí)該視頻/音頻流

AVCodecContext *codec

:指向該視頻/音頻流的AVCodecContext(它們是一一對(duì)應(yīng)的關(guān)系)

AVRational time_base

:時(shí)基。通過(guò)該值可以把PTS,DTS轉(zhuǎn)化為真正的時(shí)間。FFMPEG其他結(jié)構(gòu)體中也有這個(gè)字段,但是根據(jù)我的經(jīng)驗(yàn),只有AVStream中的time_base是可用的。PTS*time_base=真正的時(shí)間

int64_t duration

:該視頻/音頻流長(zhǎng)度

AVDictionary *metadata

:元數(shù)據(jù)信息(同AVFormatContext中的AVDictionary)

AVRational avg_frame_rate

:幀率(注:對(duì)視頻來(lái)說(shuō),這個(gè)挺重要的)
舉例

if(stream ->avg_frame_rate.den && stream ->avg_frame_rate.num){
        fps = av_q2d(stream->avg_frame_rate);
    }else{
        fps=30.0;
    }
//其中av_q2d求幀數(shù),利用其中的分子分母做運(yùn)算
static inline double av_q2d(AVRational a){
    return a.num / (double) a.den;
}
AVPacket attached_pic

:附帶的圖片。比如說(shuō)一些MP3,AAC音頻文件附帶的專輯封面。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 教程一:視頻截圖(Tutorial 01: Making Screencaps) 首先我們需要了解視頻文件的一些基...
    90后的思維閱讀 4,749評(píng)論 0 3
  • 本篇博客在雷神的結(jié)構(gòu)體介紹基礎(chǔ)上按自己的喜好整理的 后面根據(jù)自己工作中所需有所增改 AVStream 存儲(chǔ)每一個(gè)視...
    石丘閱讀 2,492評(píng)論 1 10
  • ffmpeg是一個(gè)非常有用的命令行程序,它可以用來(lái)轉(zhuǎn)碼媒體文件。它是領(lǐng)先的多媒體框架FFmpeg的一部分,其有很多...
    城市之光閱讀 6,860評(píng)論 3 6
  • 簡(jiǎn)介 開(kāi)發(fā)環(huán)境 FFmpeg sdk下載 項(xiàng)目配置 代碼流程 開(kāi)發(fā)環(huán)境 vs 2017 FFmpeg sdk下載 ...
    第八區(qū)閱讀 31,488評(píng)論 7 23
  • 男孩子間的友誼隨著年齡的增長(zhǎng)而深厚了,讓人欣慰。鈞鈞哥哥很會(huì)照顧人,小元子喜歡和他一起玩!中午一起吃飯,一起看電影...
    小元子zz閱讀 171評(píng)論 0 0