FFmpeg常用命令
作為一個圖像算法工程師,有時候也要處理視頻。再經過算法處理之前,可能要對視頻進行抽幀、格式轉換、裁剪、合并等操作,雖然網絡上有很多視頻處理軟件,但是要么是要收費、要么是不好用。其實作為程序員,可以用鼎鼎大名的開源工具FFmpeg來做視頻的編輯處理。
在我看來,FFmpeg是最強大的視頻編輯處理開源工具,沒有之一。其官網是http://ffmpeg.org/,在官網可以下載FFmpeg的源碼,也可以下載編譯好的、直接運行的可執行文件,大多數人只需要用它就行了,這里是windows 64位可執行文件-。
下載將得到一個壓縮包,目錄結構如下:
bin里面有三個可執行文件,分別是ffmpeg.exe、ffplay.exe和ffprobe.exe,doc目錄是html文檔,打開其中的ffmpeg.html就可以查看ffmpeg.exe的使用方法。ffmpeg的功能非常多,本文列舉一些常用的命令。執行命令的方法是:以windows為例,進入到上圖的bin目錄中,按住Shift鍵,點擊鼠標右鍵,選擇“在此處打開命令窗口”,然后輸入命令,回車,即可執行。
1. 格式轉換
命令:ffmpeg -i testfile.mp4 -codec?copy testfile.flv
命令解析:
-i,指定輸入視頻路徑;
-codec?copy,填上該參數可以省去解碼和編碼的過程,使視頻格式轉換更快,如果加上這個參數時有報錯,可以把這個參數去掉;
testfile.flv,是輸出視頻路徑;
2. 視頻裁剪
命令:ffmpeg -i testfile.mp4 -ss 00:01:10 -t 10 testfile_v2.mp4
命令解析:
-i,指定輸入視頻路徑;
-ss,表示拖動到某一個時間位置,格式為:時:分:秒;
-t,表示限制從輸入文件讀取數據的時長,單位為 s;
testfile_v2.mp4,輸出視頻路徑;
3. 視頻合并
命令:ffmpeg -f concat -i input.txt testmerge.mp4
命令解析:
-f,指定輸入或輸出的file format,concat是format的其中一種,表示合并
-i,指定數據的數據源,input.txt 指定了兩個文件的路徑,格式為 file absolutefilepath,如下所示:
file D:\testfile_1.mp4
file D:\testfile_2.mp4
testmerge.mp4,輸出視頻路徑;
常見問題解決
(1)視頻格式轉換時,報錯Too many packets buffered for output stream
原因是有些視頻數據有問題,導致視頻處理過快,容器封裝時隊列溢出,解決辦法是增加容器封裝隊列大小,比如在命令之后增加一個參數
-max_muxing_queue_size 1024
EI 內容審核-圖像 ModelArts 視頻
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。