當前位置: 首頁>>技術教程>>正文


從命令行準確地剪切視頻文件

哪裏有可以拍攝視頻文件(avi,mkv和mp4)的cli應用程序,並能以精確的時間精度剪出非常短的剪輯(2-6秒)?我已經嘗試過ffmpeg,mencoder,avidemux和mp4box,但是他們都在關鍵幀上創建了6個以上的剪輯。有沒有一個工具重新編碼(re-encode)輸入文件剪切準確的時間或剪切不準確,re-encode,然後準確切割?

最佳解決辦法

使用ffmpeg剪切視頻

ffmpeg

您可以使用FFmpeg準確剪切視頻。從2.5版開始,這非常簡單。例如:從0分鍾,3秒和123毫秒開始減少10秒。

ffmpeg -ss 00:00:03.123 -i input.mp4 -t 10 -c:v libx264 -c:a aac -strict experimental out.mp4

位置和時間可以是以秒或以hh:mm:ss[.xxx]形式。

請注意,在這些示例中,使用x264aac編碼器的視頻和音頻將re-encoded。

您也可以使用-to而不是-t來指定結束點而不是持續時間。但是,在這種情況下,-to等同於-t,因為通過將-ss置於-i之前,ffmpeg將首先尋找該點,然後開始輸出。

另請參閱Seeking維基條目。


準確切割,舊版ffmpeg版本

如果你有一個舊版本的ffmpeg,那麽為了準確搜索,你需要把-ss放在-i之後,這會使編碼過程慢一點,因為整個視頻必須首先被解碼:

ffmpeg -i input.mp4 -ss 00:00:03.123 -t 10 -c:v libx264 -c:a aac -strict experimental out.mp4

在這裏,-to-t的行為有所不同。 -t 10將創建一個十秒的長剪輯,而-to 10將創建一個七秒長的剪輯。


流複製與重編碼re-encoding

您也可以嘗試使用-c:a copy複製音頻流。複製視頻流可以用-c:v copy完成。但它可能無法正常工作,因為您隻能剪切一個視頻關鍵幀,而這種關鍵幀並不經常出現。無論如何,如果您複製視頻流,可能會導致剪切不準確。

ffmpeg

參考資料

本文由《純淨天空》出品。文章地址: https://vimsky.com/zh-tw/article/3740.html,轉載請注明來源鏈接。