如何在连接多个视频时使用 FFMPEG 压缩它们

本文关键字:FFMPEG 压缩 视频 连接 | 更新日期: 2023-09-27 18:34:41

我正在使用 FFMPEG 连接多个视频,它在某些视频上工作正常,但对于某些视频则不然,我认为这是因为更高的比特率或更大的尺寸。我们可以使用 FFMPEG 压缩视频,但为此我们需要为一个视频执行单独的命令,如果我们有更多视频,这是一个非常漫长的过程,那么有没有办法压缩和连接多个视频?

ffmpeg -f concat -i input.txt -c copy output.mp4

我正在使用上面的命令来连接视频、输入.txt包含要合并的视频列表。我想使用相同的命令来压缩和连接视频。

如何在连接多个视频时使用 FFMPEG 压缩它们

只需将 copy 替换为编码参数,例如

ffmpeg -f concat -i input.txt -c:v libx264 -c:a aac -ac 2 -ar 22050 output.mp4

您可以先连接所有视频,然后压缩输出视频。

要连接所有视频

#for writing first video file path in .txt file
echo file {videoPath} >  mylist.txt
#for writing otherthan first video file path in .txt file
echo file {videoPath} >>  mylist.txt
#for concatenating all videos appended in .txt file
ffmpeg -f concat -safe 0 -i mylist.txt -c copy {output_file}
#for clearing file
> mylist.txt

对于连接视频,几乎不需要 1-2 秒。

对于压缩输出视频

ffmpeg -i {output_file} -c:v libx264 -crf 40 -preset ultrafast {compressed_video_file}