在输出文件名中使用输入文件名与 FFMPEG

ezt*_*ams 6 ffmpeg

当对输入文件列表使用带有通配模式的 FFMPEG 时,你能在输出文件名模式中重用输入文件名吗?

即输入文件模式*.jpg→输出文件名%{originalFileName}-%01d.jpg

我正在使用命令行版本。

我无法在文档中找到它。如果您可以提供指向支持示例或文档的链接,将会有所帮助。

P M*_*P M 0

根据要求:操作系统 = win 10 / powershell

(如果需要,我可以在其他操作系统或 shell 上添加示例)

如果您使用具有通配模式的 FFMPEG,则无法直接重用文件名。

但只需很少的脚本知识就可以做到。

在这种情况下,您可以(取决于您使用的语言)直接*.jpg在正在执行的命令中使用当前匹配文件的文件名。(使用 FFMPEG 编写 python 或 bash 脚本特别容易,创建一个foreach循环来抓取任何匹配的文件,获取当前文件名并在 FFMPEG 命令中使用它)

如果这有帮助,您可以将文件名存储为 shell 变量,并像在脚本中一样直接在命令行中使用它:

$file = "your_filename"
Run Code Online (Sandbox Code Playgroud)

file(存储值为“your_filename”的变量)

然后使用变量执行命令:

ffmpeg -i .\$file.jpg [...] .\$file.png
Run Code Online (Sandbox Code Playgroud)

如果将多个视频流转码为图像序列,甚至可以使用增量整数值:

ffmpeg -i .\$file.mp4 [...] .\$file_%03d.png
Run Code Online (Sandbox Code Playgroud)

(回复后发现该帖子已经快4年了,希望它仍然可以帮助作者或其他人)