做音視訊開發的時候我們通常會遇到各種奇奇怪怪的問題:
咦,同樣的視訊怎麼在Android上能正常播放在iOS上卻不能播放了呢?
咦,怎麼這個視訊在電腦上能播放,在手機上只有聲音沒用畫面啊?等等等莫名其妙的問題。
這時候我們該怎麼辦,怎麼定位問題呢?到底是視訊的問題還是我播放的問題啊?這個時候ffmpeg命令列工具可能就幫到你了。
ffmpeg能幹什麼
通常所說的ffmpeg命令列工具主要是以下三個:
-
ffmpeg:ffmpeg主要的功能就是對音視訊進行處理,比如說剪下、抽取視訊、抽取音訊、增加貼紙水印等等。
-
ffplay:ffplay這個主要是用來播放視訊的,幾乎支援所有的本地視訊播放,還能支援流媒體等網路視訊播放,甚至還能播放YUV視訊,這點在開發過程中非常好用。比如你你開發一個解碼播放器,開發過程中你怎麼知道你解碼出來的YUV資料有沒用問題呢?能不能正常播放呢?使用ffplay命令列一測試便知道了。
最簡單的ffplay命令就是:
ffplay 要播放的檔案路徑或者流媒體地址
現在市面上很多播放器都是參照ffplay編寫的。更多關於ffplay的命令可去百度谷歌學習,這方面的資料很多。
- ffprobe: ffprobe主要檢視音視訊檔案格式的,比如說你要將一個音視訊檔案的所有資訊以JSON格式輸出,ffprobe這個命令列就很便捷。
所以如果要什麼音視訊的處理,如果你能熟練使用ffmpeg命令的話,根本就不需要什麼視訊剪下編輯工具,啪啪啪地使用ffmpeg一頓操作猛如虎即可。
如何搭建ffmpeg命令列環境
這裡以Win作業系統為例,Mac及Linux通過命令列就能安裝,這裡就不多說了。
- ffmpeg官網下載ffmpeg
其實ffmpeg官方已經幫我們編譯好了各個系統所需要的可執行檔案了。
訪問ffmpeg官網
安裝圖示教程下載完成解壓後,我們命令列視窗進入解壓檔案的bin目錄下即可正常使用ffmpeg、ffplay以及ffprobe三個命令了。當然如果你需要在任何地方都能使用這些命令的話你需要配置以下你的環境變數,也就是把bin目錄所在的路徑新增到環境變數中即可。
最後如果你對音視訊開發感興趣可掃碼關注,後續我們共同探討,共同進步。