linux - 录制网络流媒体广播

标签 linux streaming gstreamer recording internet-radio

我正在为 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/

相关文章:

linux - 使用 sed 替换文本文件中的一行,但保留\作为 perl 脚本替换行的一部分

c - 是否有适当的 linux 内核函数文档?

linux - 如何使用 GStreamer 和 VAAPi 解决 RAW 流播放问题

video - 在编码视频时强制 GStreamer 管道实时运行

streaming - 限制 gstreamer 管道吞吐量以模拟实时源

ffmpeg - 寻找最快的视频编码器,将网络摄像头流式传输到 ipad

linux - 有的可执行文件在docker中运行后显示 "no such file or directory",有的则不然

linux - 鹦鹉螺图标位置

javascript - 使用 Adob​​e AIR 进行 Shoutcast 流缓冲而不使用 Flash/Flex 播放器?

haskell - Haskell 中字节流的高效流式传输和操作