Sco*_*ttF 5 shell command-line ffmpeg concatenation
我正在尝试使用 ffmpeg 连接两个视频文件,但收到错误消息。
为了消除两个视频之间的兼容性问题,我一直将同一个视频与其自身连接起来,但同样的错误仍然存在。
ffmpeg -f concat -safe 0 -i intro_prepped.avi intro_prepped.avi -c copy concat.avi
Run Code Online (Sandbox Code Playgroud)
我收到的错误输出是....
[concat @ 0x220d420] 第 1 行:未知关键字 'RIFFf??' intro_prepped.avi:处理输入时发现无效数据
我尝试了 concat 标志的各种组合,但未能使其正常工作。有没有人见过这个错误?
小智 11
我尝试了上述所有方法,但没有成功。
看起来列表中的文件名必须经过特殊格式化,如下所示:
文件“/path/to/file1.wav”
包含一个word文件。我花了很多时间试图猜测为什么 ffmpeg 在尝试读取文件名时遇到错误。它们是在列表中还是在命令行中并不重要。所以只有在我使用命令之后
for f in *.wav; do echo "file '$f'" >> mylist.txt; done
Run Code Online (Sandbox Code Playgroud)
从 ffmpeg 手册中列出我成功了。唯一的区别是一个额外的 Word文件。
这里你可以自己阅读: https: //trac.ffmpeg.org/wiki/Concatenate#demuxer
您可以在以下链接中找到多种连接文件的方法:
https://trac.ffmpeg.org/wiki/Concatenate
供您参考,以下是我用来连接视频的示例命令:
ffmpeg -i "concat:input1.avi|input2.avi|input3.avi" -c:a copy -c:v copy output.avi
Run Code Online (Sandbox Code Playgroud)
小智 6
这对于原始帖子来说有点晚了,但我只是在寻找相同问题的答案,所以我认为它仍然相关,而且我还没有找到任何最近的帖子来回答相同的问题。
我发现我的.txt文件编码错误。我在记事本中打开了文件并执行了“另存为...”我将编码更改为UTF-8并且ffmpeg concat命令起作用了。
小智 6
您的文本文件可能采用 UTF-16 编码。
修复:(Windows 10)
我使用ffmpegs网页上的Powershell代码制作了一个带有文件名的文本文件,Powershell似乎将文本文件保存为UTF-16的某种变体,所以我选择了更安全的UTF-8。