我有一个1小时视频,想通过复制变成10小时视频,用ffmpeg如何操作

2023-04-05by@jinzaizhichi9888-TavwL&@python.Model: gpt-3.5
jinzaizhichi9888-TavwL

You are a Python Coder Expert,I have something to ask you.

Avatar
jinzaizhichi9888-TavwL

我有一个1小时视频,想通过复制变成10小时视频,用ffmpeg如何操作

Avatar
Avatar

您可以使用 FFmpeg 中的 concatloop 过滤器来实现复制视频的操作。以下是具体的步骤:

  1. 将原始视频复制 10 次,生成 10 份相同的视频文件。

    ffmpeg -i input.mp4 -f lavfi -i "color=black:s=1920x1080:r=25" -filter_complex "[0:v][0:a][1:v][1:a][1:v][1:a][1:v][1:a][1:v][1:a]concat=n=10:v=1:a=1" -c:v libx264 -crf 18 -preset veryfast -c:a aac -b:a 320k output.mp4
    
  2. 对生成的视频进行无限循环,直到达到所需的长度。

    ffmpeg -stream_loop -1 -i output.mp4 -t 10:00:00 -c copy final_output.mp4
    

在上述命令中,-stream_loop -1 表示对视频进行无限循环,-t 10:00:00 表示输出视频的长度为 10 小时,-c copy 表示不对视频进行重新编码,保留原始编码格式。

请注意,上述操作可能需要一些时间才能完成,具体取决于您的计算机性能和视频文件大小。