我们通过指定命名管道作为视频帧的输入来录制视频,如下所示:
ffmpeg -r 30 -f rawvideo -pix_fmt bgra -s 640x480 -i namedPipe [... output options] out.mp4
效果很好,根据需要,一旦命名管道关闭,FFmpeg就会停止。
然而,我们还想从directshow录制现场音频,如下所示:
ffmpeg -r 30 -f rawvideo -pix_fmt bgra -s 640x480 -i namedPipe -f dshow -i audio=virtual-audio-capturer [... output options] out.mp4
这也有效,但问题是,一旦我们关闭视频帧的命名管道,该过程现在不再停止。 我的猜测是ffmpeg仍然可以获得音频输入,因此只是继续运行。
如何更改FFmpeg命令,以便在视频帧不断出现时停止?
答案 0 :(得分:1)
添加-shortest
,即[... output options] -shortest out.mp4