![在 Raspbian Lite 上的 ffmpeg/avconv 中指定 icecast 协议选项](https://linux22.com/image/1497962/%E5%9C%A8%20Raspbian%20Lite%20%E4%B8%8A%E7%9A%84%20ffmpeg%2Favconv%20%E4%B8%AD%E6%8C%87%E5%AE%9A%20icecast%20%E5%8D%8F%E8%AE%AE%E9%80%89%E9%A1%B9.png)
我对 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_name
和ice_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 服务器