使用ffmpeg視頻拆幀以及將圖片合成視頻

視頻拆幀

ffmpeg -i video.avi frames_%05d.jpg

-i 後是輸入文件名;
最後是輸出結果,以frame_爲前綴,以五位數字爲編號(不夠前邊用0補齊),圖片格式爲jpg。

圖片合成視頻

ffmpeg -i img/frames_%05d.jpg -vcodec mpeg4 test.avi

-i 後是輸入文件名,上例中意爲讀取img文件夾下以以frame_爲前綴後跟五位數字的jpg圖片;
-vodec是編碼格式,所有ffmpeg支持的格式都可以,具體可以ffmpeg -codecs查看。
最後是輸出文件名。ffmpeg會根據文件名選擇輸出文件格式。例如avi、mp4等。

若報錯

Could find no file with path ‘img/frames_%05d.jpg’ and index in the
range 0-4

這是因爲ffmpeg默認圖片編號是從0開始的。即如果找不到frames_00000.jpg,則報錯。

修改方式爲

ffmpeg -start_number 345 -i img/frames_%05d.jpg -vcodec mpeg4 test.avi

指定開始讀取的圖片編號。
注意:ffmpeg讀取的時候會順序讀取,若出現編號中斷,視頻會就此結束。

還可以通過

-r 設置幀率。即每秒截取或集成幾幀圖片。
-y 若輸出文件名衝突,直接覆蓋。

參考Clarification for ffmpeg input option with image files as input

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章