我有我想转换为.wav文件,我使用的ffmpeg一个相同的.wmv文件,命令如下:如何使用FFMPEG的输出作为命令行参数的可执行
ffmpeg -i file.wmv -ar 8000 -sample_fmt s16 -f wav pipe:1
管道:1在STDOUT中输出输出波形文件。我想从STDOUT中捕获该wave文件,并将其作为命令行参数传递给名为foo的可执行文件。我想立即执行从wmv到wav的转换,而不是保存.wav文件。是 事情我都试过,但他们都不如下似乎工作:
./foo $(ffmpeg -i file.wmv -ar 8000 -sample_fmt s16 -f wav pipe:1)
./foo $(<(ffmpeg -i file.wmv -ar 8000 -sample_fmt s16 -f wav pipe:1))
ffmpeg -i file.wmv -ar 8000 -sample_fmt s16 -f wav pipe:1 | xargs ./foo
ffmpeg -i file.wmv -ar 8000 -sample_fmt s16 -f wav - | ./foo -
为什么不只是管它,让你的程序从标准输入读取? – AlG
可执行文件的设计不在我的控制之中 – pku
使用bash进程重定向怎么办?你的第二个例子,但只有'<(ffmpeg ...)',而不是'$('和')'?这样的结果看起来像'./foo/dev/fd/63',其中fd由命令的输出填充。 – ghoti