我们通过指定命名管道作为视频帧的输入来录制视频,如下所示:
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 命令,以便在视频帧不断出现时停止?
最佳答案
添加 -shortest
即[... output options] -shortest out.mp4
关于windows - 输入为 dshow 时 ffmpeg 不停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38950481/