我正试图将视频和音频数据流分别输入到Windows上的两个命名管道中。
ffmpeg.exe -f dshow -i video="My camera name":audio="My microphone name" -map 0:1 -ac 1 -f f32le \\.\pipe\audioStream -map 0:0 -f mjpeg \\.\pipe\videoStream
问题在于FFMPEG似乎并不理解输出的
\\.\pipe\audioStream
和\\.\pipe\videoStream
是管道(pipe),而是将它们视为文件。
- 如果管道在FFMPEG启动时已经创建,它会尝试覆盖它们并失败。
- 否则,它会抱怨路径不存在并失败。
pipe:
协议应该能解决问题,但即使对于单个管道,我也无法正确使用它。我已经尝试过:
pipe:pipeName
pipe:pipe\pipeName
pipe:\\.\pipe\pipeName
pipe://pipeName
pipe://pipe\pipeName
pipe://\\.\pipe\pipeName
在Windows上可以使用FFMPEG和命名管道吗?如果可以,正确的方法是什么?
pipe:
,我确实使用-y
参数来强制覆盖。我相信它也适用于多个管道...也许你正在使用旧版本的FFmpeg? - Pablo Montilla