在 Raspbian Lite 上的 ffmpeg/avconv 中指定 icecast 协议选项

在 Raspbian Lite 上的 ffmpeg/avconv 中指定 icecast 协议选项

我对 Raspberry Pi 3 还很陌生,但并不害怕深入研究文档和示例。我拼凑了一些命令和修复程序来录制来自 USB 设备的音频 - 最终尝试直接从卡流式传输到我的 Icecast 服务器。

现在我只是想看看是否可以使用当前的 avconv 程序连接到我的 Icecast 服务器 - 只播放一个小型本地 mp3 文件。此时,我正在尝试使用 Raspbian 的精简版 - 而无需重建 ffmpeg。

我正在尝试在 Raspbian (4.9.2-10) 上将 icecast 协议选项与已安装的 avconv 版本结合使用

avconv 版本列为 11.7.6:11.7-1

libavutil 54. 3. 0

基本上我需要提交选项ice_nameice_description,以及password通过 icecast 协议流选项。使用avconv,似乎我可以将 mp3 文件发送到 icecast 流而没有任何错误,但另一端什么也没有显示。

一个问题可能是我必须提交没有用户名的密码 - 因此如果 URL 中的用户名为空,则可能无法正常工作。尽管如此,我还没有看到任何提交错误icecast://:[email protected]

我还需要提交流名称

我的 avconv 版本似乎不支持Icecast protocol options。理论上你可以指定ice_name password ice_description ice_public

这是我尝试过的,没有错误(但没有广播):

avconv -re -i test.mp3 -b:a 128k -legacy_icecast 1 -f mp3 icecast://:[email protected]:443/my-mount-point/url-here

如果我尝试添加 ice_name 协议选项,

avconv -re -i test.mp3 -b:a 128k -legacy_icecast 1 -ice_name "My Raspi Stream" -f mp3 icecast://:[email protected]:443/my-mount-point/url-here

它只是创建了一个名为的新文件名

ice_name“我的 Raspi 流”

任何帮助、建议或参考都非常感谢。我可能会同时开始手动编译 ffmpeg

答案1

我确实使用 avconv 实现了这个功能,所以我现在知道可以按原样使用 avconv。-legacy_icecast 1即使你的服务器是 Icecast 2,也必须使用该参数

让它工作所需的最低限度是:

avconv -re -i test.mp3 -c:a libmp3lame -content_type audio/mpeg -b:a 128k -legacy_icecast 1 -ice_name "Raspi Test Stream of MP3" -password mypwd -f mp3 icecast://icecast.servername.com/my/mount/point/url

接下来是直播……顺便说一下,如果有人感兴趣的话,我正在使用 Spreaker.com 网站——但它应该适用于任何 icecast 服务器

相关内容