我有40个需要修剪的视频,所以它们会在第6秒开始,然后将它们合并为一个视频。
我还有一个list_of_movies.txt
,其中包含我需要修剪的所有文件的名称。
这是我的问题:
将视频串联到单个文件时,ffmpeg接受:
ffmpeg -f concat -i list_of_movies.txt -c copy output.mp4
但是修整时它不会接受:
ffmpeg -ss 00:00:06 -i list_of_movies.txt trimmed .mp4
我在做什么错了?
答案 0 :(得分:1)
如果要修剪每个视频以使其从第6秒开始,则必须为文本文件中的每个文件指定它,因此
file first.mp4
inpoint 5
file second.mp4
inpoint 5
file third.mp4
inpoint 5
[...]
然后运行
ffmpeg -f concat -i list_of_movies.txt -c copy output.mp4
但是,在copy
模式下,ffmpeg只能从视频关键帧开始提取,因此希望有额外的帧,甚至音频同步也可能中断。
最好重新编码
ffmpeg -f concat -segment_time_metadata 1 -i list_of_movies.txt -vf select=concatdec_select,setpts=N/FRAME_RATE/TB -af aselect=concatdec_select,asetpts=N/SR/TB output.mp4