ffmpeg concat 中的文件名引用

Tih*_*kov 18 ffmpeg

我想使用 Concat demuxer 将文件与 ffmpeg 连接起来,如本文如何连接(加入、合并)媒体文件中所述。但是,我的文件包含单引号(撇号)。所以我的 concat.list 看起来像这样:

file 'artist's song.mp3'
file 'artist's song 2 .mp3'
Run Code Online (Sandbox Code Playgroud)

如您所见,文件名中间的撇号与 concat 文件的格式冲突。放置反斜杠无济于事,因为 ffmpeg 读取文件名文学并抱怨该文件不存在。作为额外的细节,我在 Windows 7 下使用 ffmpeg 和 cygwin。

slh*_*hck 21

您需要将所有内容放在单引号中,并使用

'\''
Run Code Online (Sandbox Code Playgroud)

所以,

foo'bar test.mp4
Run Code Online (Sandbox Code Playgroud)

将被指定为:

file 'foo'\''bar test.mp4'
Run Code Online (Sandbox Code Playgroud)

你可以把它想象成字符串在第一对单引号结束的地方被分割,然后继续:

'foo'   \'   'bar test.mp4'
Run Code Online (Sandbox Code Playgroud)

这也在文档中进行解释:

引号字符 ' 本身不能被引用,因此您可能需要关闭引用并转义它。

和这个错误报告