我正在为 linux 编写一个简单的应用程序,它将连接到网络 radio 并将流记录到一个文件中。但是,在我录制时,我想即时将流拆分为较小的文件(例如,将捕获的流拆分为每个包含 3 分钟音频的文件)。此外,我的应用程序必须能够处理各种流媒体系统(例如 shoutcast、icecast、mms 等)。
到目前为止,我已经了解了各种框架。起初 Gstreamer 似乎是一个很好的解决方案,但我还没有设法创建一个可以在不丢失任何数据的情况下进行拆分的工作管道。我知道 MPlayer 和 vlc 可以将流转储到文件,但不能即时进行拆分。 Stremripper 不适用于彩信流。谁能指出我正确的方向。我更喜欢使用 C 或 python 框架,但我愿意接受任何建议:)。
最佳答案
gstreamer 可用于此场景。
- 输入可以使用 - souphttpsrc 元素,它支持 (icecast, shoutcast)
- 对于 mms - 可以使用 mmsrc 源元素。
- 使用“multifilesink”元素将文件分割成多个小文件。
gstreamer 也有 python 绑定(bind)。
关于linux - 录制网络流媒体广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13375407/