基於FFmpeg的視訊播放器開發系列教程(一)
前言
在各大部落格,論壇,看到很多人對流媒體音視訊的開發感興趣,可是不知道怎麼入門,對音視訊的瞭解也很少,寫程式碼更不用說了,經過一段時間的整理,我準備在csdn上寫一套ffmpeg音視訊播放器的開發教程,希望對想從事ffmpeg音視訊領域的同學給與幫助,有什麼疑問可以在部落格下留言,我會及時回覆。希望看完的同學,可以從新手慢慢變成老司機。
視訊開發庫有很多,例如微軟的DirectShow;開源庫OpenCV,當然OpenCV主要是影象處理,視訊部分還是用的ffmpeg, 而且無法解碼音訊;SDL;大華和海康都有自己的庫等等。音視訊屬於流媒體領域,學習和應用難度大,週期長,容易出現人才斷層,公司對應聘者的要求都比較高,讓很多人望而卻步。
使用FFMPEG作為核心視訊播放器:Mplayer,ffplay,射手播放器,暴風影音,KMPlayer,QQ影音...
使用FFMPEG作為核心的DirectshowFilter:ffdshow,lav filters...
使用FFMPEG作為核心的轉碼工具:ffmpeg,格式工廠...
事實上,FFMPEG的流媒體視音訊編解碼功能太強大了,幾乎囊括了現存所有的視音訊編碼標準,因此只要做視音訊開發,幾乎離不開它。
關於ffmpeg的部落格很多,原始碼講解,例項Demo等等,太多了,最有名氣的應該是雷神了,斯人已去,對技術界是一大損失。本系列教程在講解時也會引用到別人現有的研究內容,畢竟我們是ffmpeg的使用者,需要站到巨人的肩膀上。有不當或者錯誤的地方,請各位朋友及時提示斧正。
一.windows下ffmpeg開發環境搭配
1.1 ffmpeg的下載
官網連結 https://ffmpeg.zeranoe.com/builds/
可以下載最新版本或者以前的版本,如下所示的4.0版本
例如選擇4.0版本,依次下載Static, Share, Dev三個檔案。例如32位版本的是如下三個檔案
Dev資料夾下是include和lib檔案
Shared檔案的Bin目錄是ffmpeg的dll
開發時需要include, lib,bin裡的檔案,本教程的開發環境是Win10,VS2105,Qt5.6, ffmpeg3.2.4.
VS開發如何新增include,lib,dll,請參考以下連結(老司機可以不用看):
https://www.cnblogs.com/dongsheng/p/4011145.html
二.VS2015和Qt的安裝
本教程做播放器,需要用介面庫,關於介面庫的選擇與學習,各家公司,學校都不同。C++的介面庫有MFC,Qt,DuiLib等等,該播放器用Qt來做介面開發,Qt學起來比MFC稍微容易些,還可以跨平臺,對於Linux,Mac的同學會有幫助。
我是選擇把Qt裝到VS2015中,VS除錯比較容易,功能強大。如果Qt和VS都安裝好的同學,看下一篇部落格繼續學習。
Qt沒安裝好的同學,請參考我的百度雲連結,進行安裝。
VS2015安裝包,祕鑰,西紅柿外掛
連結:https://pan.baidu.com/s/1kevzLxm4o4XKw2CqTBTDfA
密碼:dez0
VS2015_MSDN下載及安裝配置方法
連結:https://pan.baidu.com/s/1wuwBzh4wqnyQ4Bm1FI9aKQ
密碼:gynb
Qt安裝方法 、Qt的下載連結
連結:https://pan.baidu.com/s/1QXN7pkeHOUj-I0j_vrBKuw
密碼:75dv
Qt零基礎教程
書籍《Qt5開發例項》帶目錄,高清,完整的原始碼,
連結:https://pan.baidu.com/s/1G3v3eJXW1PkWK5iY0RzWxw
密碼:hn7j
Qt視訊資料連結:
連結:https://pan.baidu.com/s/1N0cpXtGcfwoDRoH93vD9Hw
密碼:hizp
工欲善其事必先利其器,環境配好後,下一篇開始ffmpeg開發之旅。