2

我想使用 ffmpeg 录制音频流。问题是,我想记录的这个流在整个时间跨度内都不可用。
我有一个从麦克风获取输入、对其进行编码并广播 rtp 流的设备。可以通过按钮(或 telnet 命令)控制此设备以启动和停止此流。

所以基本上我想开始录制会话。如果流可用,ffmpeg 应该捕获此 rtp 流。否则应记录静音音频,当流再次可用时,应再次记录此流,依此类推。

我怎样才能做到这一点?当我启动 ffmpeg 时,它总是在流结束时中止。

现在我的 ffmpeg 命令看起来像这样:

ffmpeg -i rtp://192.168.2.255:3131 out.wav

如果使用 ffmpeg 命令无法做到这一点,那么最好(或最简单)的方法是什么。

4

1 回答 1

1

如果我正确理解了这个问题,您想在有音频时录制,而不是在使用 ffmpeg 静音时录制。尝试以下操作:

ffmpeg -i rtp://192.168.2.255:3131 -af silenceremove=stop_periods=-1:stop_duration=1:stop_threshold=-30dB output-file.mp3

此处提供更多详细信息: https ://ffmpeg.org/ffmpeg-filters.html

希望有帮助。

于 2019-05-18T16:27:15.627 回答