如何将实时 RTMP 视频转换为实时 mp3 Icecast 流
Posted
技术标签:
【中文标题】如何将实时 RTMP 视频转换为实时 mp3 Icecast 流【英文标题】:how to transform live RTMP video to live mp3 Icecast stream 【发布时间】:2015-04-16 17:39:44 【问题描述】:我有带有视频和音频的 RTMP 直播。 我可以从 RTMP 获取 ogg 音频直播并将其翻译成 Icecast2 并使用 JPlayer 在我的网站上获取。 现在我使用这样的命令:
/usr/local/bin/ffmpeg -re -i rtmp://192.168.22.12/live/live1 \
-vn -acodec libvorbis -b:a 48k -f ogg - | oggfwd -p -d "" \
-g "" -u "" localhost 8000 somepass live2
然后我使用 Icecast2 流式传输我的实时音频,但它是 OGG 格式,所以移动设备不播放它(android 设备在开始播放之前有将近 30 秒的延迟时间,ios 设备不想播放它)。
如何在发送到 Icecast2 之前将其转码为 mp3?
【问题讨论】:
【参考方案1】:如果您使用的是(非常)最新版本,则可以为此使用 ffmpeg。 要测试您的 ffmpeg 是否能够流式传输到 Icecast,请执行以下操作:
ffmpeg -protocols -v 0 | grep icecast
如果返回“icecast”,万岁,您可以执行以下操作:
ffmpeg -re -i rtmp://192.168.22.12/live/live1 -vn \
-codec:a libmp3lame -b:a 64k -f mp3 \
-content_type audio/mpeg \
icecast://source:pass@example.com:8000/mountpoint.mp3
将source
替换为特定用户名(如果您已配置),否则将其保留为源。其他的事情应该是显而易见的。
【讨论】:
如果您使用旧版本,请在输入 URL 中添加 `live=1`,例如:-i "rtmp://192.168.22.12/live/live1 live=1"
;如果您使用 Debian 8,请安装 libav-tools 并将 ffmpeg
替换为 @987654326 @
source:pass
是什么?
Icecast 源用户和密码。以上是关于如何将实时 RTMP 视频转换为实时 mp3 Icecast 流的主要内容,如果未能解决你的问题,请参考以下文章
寻找一个库/框架将实时视频从 OS X 流式传输到 Wowza 服务器(RTMP)[关闭]