2016-08-15 47 views
0

我們通過指定命名管道作爲視頻幀輸入,這樣在錄製視頻:的ffmpeg當輸入DSHOW

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命令,以便在視頻幀繼續播放時停止播放?

回答

1

添加-shortest[... output options] -shortest out.mp4

+0

是的,就是這樣。 – TheSHEEEP