【问题标题】:FFMPEG pipe input filenames from command line on windowsFFMPEG管道从Windows上的命令行输入文件名
【发布时间】:2020-02-27 08:49:21
【问题描述】:

我正在使用“ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4”将 Windows 10 机器上的一堆文件连接成一个文件。当我以所需格式生成 list.txt 时,这可以正常工作。

我想要的是不必先生成文件,而是像 here 为 *nix 显示的示例那样通过管道输入文件名。

我尝试如下“ffmpeg -f concat safe 0 -i

有什么想法可以做到这一点吗?

【问题讨论】:

  • 类似dir /b *.ts>tempfile.txt 后跟ffmpeg -f concat -safe 0 -i tempfile.txt -c copy output.mp4
  • 我引用“我想要的是不必先生成文件,而是将文件名通过管道输入,就像这里为 *nix 显示的示例一样。”
  • 该链接的大部分内容都是关于在脚本中自动创建临时文件(因此不会先手动生成文件)。抱歉——我没有彻底找到关于命名管道的部分。我不相信 cmd 能够做到这一点。
  • Windows 不支持进程替换,所以不可能。
  • @Reino。谢谢...猜猜这回答了这个问题。你想让它成为一个答案吗?

标签: windows cmd command-line ffmpeg


【解决方案1】:

命令 Unix 上的替换...

ffmpeg -i $(some-command-that-generates-an-url/path) [...]

...在 Windows 上可以通过 for 循环实现:

FOR /F "delims=" %A IN ('some-command-that-generates-an-url/path') DO ffmpeg -i %A
另一方面,正如您所描述的,

Process 替换在 Windows 上是不可能的。临时文件是不可避免的。

【讨论】:

    猜你喜欢
    • 2015-11-16
    • 1970-01-01
    • 2020-02-16
    • 2015-04-12
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    相关资源
    最近更新 更多