如何在ffmpeg中從指定的開始和結束時間剪輯50秒前的電影?

如何在ffmpeg中從指定的開始和結束時間剪輯50秒前的電影?

我想剪輯一個電影,指定一個開始和結束時間,使用 ffmpeg 我已經設定了開始時間工作,但我想設定一個結束時間 最後,在 50 秒前結束。我不知道如何設定配置。

ffmpeg -i demo.mp4 -ss 00:01:20 -acodec libfaac -ab 128k -vcodec mpeg4 -b 800k -mbd 2 -cmp 2 -subcmp 2 new_demo.mp4

答案1

合理的方法是解析輸入資訊的 ffmpeg 讀取的持續時間,然後提供-tduration - start time - 50s

瘋狂的方法是輸入兩次並使用覆蓋過濾器:

ffmpeg -ss 2:10 -i demo.mp4 -ss 00:01:20 -i demo.mp4 -filter_complex overlay=shortest=1[v] -map [v] -map 1:a -shortest -acodec libfaac -ab 128k -vcodec mpeg4 -b 800k -mbd 2 -cmp 2 -subcmp 2 new_demo.mp4

第一個輸入的 ss 值是開始時間+要剪切的影片結束部分的數量。

第二個輸入有 ss 值,表示您的開始時間。

基本概念是,當最短輸入結束時,可以使覆蓋過濾器終止。第一個輸入設定一個 ss 值,以便在達到結束時間間隔時覆蓋結束。

相關內容