如果文件名中有空格,ffmpeg 将无法工作

如果文件名中有空格,ffmpeg 将无法工作

所以我做了ffmpeg -f concat -safe 0 -i "list.txt" -c copy Final/done.mp4

list.txt 的内容如下:

file "News/The Verge/Test1/Video/output0.mp4"
file "News/The Verge/Test2/Video/output1.mp4"
file "News/The Verge/Test3/Video/output2.mp4"
file "News/The Verge/Test4/Video/output3.mp4"
file "News/The Verge/Test5/Video/output4.mp4"

但它返回:

[concat @ 00000142d4bce7c0] Impossible to open '"News/The'
list.txt: Invalid argument

我该如何修复这个问题?

我试过了file "News/"The Verge"/Test1/Video/output0.mp4",但不知为何没有成功,尽管我用 cd 命令做了同样的事情

答案1

来自文档

file path
要读取的文件的路径;特殊字符和空格必须用反斜杠或单引号转义。

您使用了双引号。它们不仅无助于转义空格;您收到的错误表明双引号被视为文件名的一部分。对于您的情况,最简单的方法是用单引号替换双引号。您可以使用以下方法修复文件sed

sed -i "s/\"/'/g" list.txt

相关内容