一、前言
ffmpeg的版本眾多,從2010年開始計算的項目的話,基本上還在使用的有ffmpeg2/3/4/5/6,最近幾年版本彪的比較厲害,直接4/5/6,大版本之間接口有一些變化,特別是一些廢棄接口被徹底刪除了,而網(wǎng)絡上的各種文章幾乎都是ffmpeg3左右為主的,所以本人在寫這個全功能播放組件的時候,也特別注意了兼容性的問題。編寫這個全能播放組件,面對用戶各種各樣的需求,當然需要從ffmpeg2兼容到ffmpeg6以及后續(xù)的版本,現(xiàn)在用的最多的還是ffmpeg4版本,目測三五年后會陸續(xù)切換到ffmpeg5/ffmpeg6,主要是支持的格式多了,尤其是某些新標準的編解碼的效率更高。在ffmpeg提供的頭文件接口中,并沒有提供ffmpeg的大版本號,只提供了字符串版本,所以需要通過子庫的主版本號來定義一個ffmpeg的版本號,比如編解碼庫LIBAVCODEC_VERSION_MAJOR,56=ffmpeg2/57=ffmpeg3/58=ffmpeg4/59=ffmpeg5/60=ffmpeg6,這個編解碼庫就是ffmpeg的核心,看家的本領都在里面,個人覺得ffmpeg最牛逼的就是編解碼和濾鏡。在兼容各個版本的這條路上,大致整理了以下幾條:文章來源地址http://www.zghlxwxcb.cn/news/detail-621795.html
- 以前AVStream帶了解碼器參數(shù),stream->codec,現(xiàn)在去掉了,對應放在stream->codecpar中。
- 拷貝上下文參數(shù)以前是avcodec_copy_context,現(xiàn)在對應avcodec_parameters_copy。
- 參數(shù)拷貝以前是avcodec_copy_context,現(xiàn)在對應avcodec_parameters_from_c
文章來源:http://www.zghlxwxcb.cn/news/detail-621795.html
到了這里,關于Qt/C++音視頻開發(fā)50-不同ffmpeg版本之間的差異處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!