将 ffmpeg 流通过管道传输到 sox rec

Posted

技术标签:

【中文标题】将 ffmpeg 流通过管道传输到 sox rec【英文标题】:Pipe ffmpeg stream to sox rec 【发布时间】:2018-05-03 18:58:28 【问题描述】:

我正在通过 ffpmeg 读取音频流,如下所示:

ffmpeg -i http://icecast.radiovox.org:8000/live.ogg -f mp3 filename

并希望将其通过管道传递给 sox 命令:

rec filename rate 32k silence 1 0.1 3% 1 3.0 3%.

最终,我想要实现的是录制脱口秀直播 Icecast 流中的音频。我只想要个人讲话的录音。每次安静时,我都想停止录音,一旦他们再次开始讲话,我就想开始新的录音。

【问题讨论】:

【参考方案1】:

你遇到了什么困难?我试过了,在使用 sox 手册页中给出的示例时,我注意到的唯一问题是 sox - 可能无法从几个字节中理解输入格式。

尝试通过flac,它在这里工作:

ffmpeg -i http://icecast.radiovox.org:8000/live.ogg -f flac - | sox - song.ogg silence 1 0.50 0.1% 1 2.0 0.1% : newfile : restart

【讨论】:

以上是关于将 ffmpeg 流通过管道传输到 sox rec的主要内容,如果未能解决你的问题,请参考以下文章

将 ffmpeg 输出通过管道传输到命名管道

使用python将opencv图像通过管道传输到ffmpeg

将原始 OpenCV 图像通过管道传输到 FFmpeg

将音频和视频块从 python 中传输到 ffmpeg 的最佳方法

将原始 PCM 流通过管道传输到 libsndfile

使用 FFmpeg 通过管道输出视频片段