使用ffmpeg進行H264編碼如何不包含B幀

使用ffmpeg進行264編碼時,得到的文件如下:


編碼后包含B幀

考慮到后續(xù)是需要直播的,所以不希望有B幀,應(yīng)該怎么處理呢?
分析代碼發(fā)現(xiàn):

    AVCodecContext *pCodecCtx = NULL;
    ...
    pCodecCtx->max_b_frames  = 1;
    pCodecCtx->pix_fmt       = AV_PIX_FMT_YUV420P;
    pCodecCtx->codec_type    = AVMEDIA_TYPE_VIDEO;

其中有個參數(shù)max_b_frames,它是干什么的呢?

/**
     * maximum number of B-frames between non-B-frames
     * Note: The output will be delayed by max_b_frames+1 relative to the input.
     * - encoding: Set by user.
     * - decoding: unused
     */

從注釋中可以看出它指的是兩個非B幀之間的B幀的最大數(shù)目。
將其修改為0:

pCodecCtx->max_b_frames  = 0;

再次進行編碼,文件如下:

264編碼不包含B幀
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • FFmpeg X264編碼參數(shù) 目錄 碼率控制 1 X264的preset和tune 2 編碼延時建議...
    古則閱讀 31,035評論 1 15
  • 教程一:視頻截圖(Tutorial 01: Making Screencaps) 首先我們需要了解視頻文件的一些基...
    90后的思維閱讀 4,989評論 0 3
  • [TOC] 音視頻&流媒體 是什么促使我要寫這一篇音視頻入門文章?那是因為和一妹子打賭碼率的概念,結(jié)果輸了;對一個...
    AllenWu閱讀 5,188評論 1 24
  • 人在江湖漂,哪能不挨刀。左一刀,右一刀,少不了,逃不掉。 活到現(xiàn)在,誰沒受過傷。拿出來說事顯得矯情,不說又顯得憋屈...
    二麻子閱讀 660評論 0 0
  • 住在雨花臺附近,自從夏天進入35度高溫區(qū)以來就沒有走路上班了,今天正好溫度不高,于是決定走路穿行雨花臺。 ...
    石頭1975閱讀 383評論 0 0

友情鏈接更多精彩內(nèi)容