如何使用命令行工具(ffmpeg 和 powershell)连接视频文件?

1 powershell ffmpeg

如何从 Windows 命令行或 Powershell 使用 ffmpeg 连接两个或多个视频文件?

小智 6

如果您有多个具有完全相同的编解码器和编解码器参数的视频文件,您可以使用 ffmpeg 将它们连接起来。

首先,您必须创建一个包含输入文件名称的文本文件。下面的示例适用于 mp4 文件,但您可以使用任何 ffmpeg 兼容格式而不是 mp4。

使用以下命令可以轻松在 Windows 命令行 (CMD) 上创建文件列表:

(for %i in (*.mp4) do @echo file '%i') > files.txt
Run Code Online (Sandbox Code Playgroud)

Linux 终端(bash shell):

printf "file '%s'\n" * > files.txt
Run Code Online (Sandbox Code Playgroud)

或 Powershell:

foreach ($i in Get-ChildItem .\*.mp4) {echo "file '$i'" >> files.txt}
Run Code Online (Sandbox Code Playgroud)

文本文件准备好后,它应该包含您想要以这种格式连接的所有文件的名称:

file 'file1.mp4'
file 'file2.mp4'
file 'file3.mp4'
Run Code Online (Sandbox Code Playgroud)

现在您可以输入以下命令来连接文件:

ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4
Run Code Online (Sandbox Code Playgroud)