【问题标题】:Is it possible to send an mp3 file to IceCast via a script from a webpage?是否可以通过网页脚本将 mp3 文件发送到 IceCast?
【发布时间】:2013-08-23 03:05:55
【问题描述】:

谁能告诉我是否可以让服务器将 mp3 发送到我们自己的 Icecast 服务器(在 linux 上运行)。这可以在 Perl 或 PHP 中实现吗?

也许有更好的方法可以将音频剪辑远程推送到其他计算机?

这是完整的想法或希望:

  1. 用户访问他们重新排序音频剪辑的网站。

  2. 然后将这些剪辑组合在一起以制作单个 mp3 文件(例如使用 mp3cat),然后可以将其发送到 IceCast 服务器进行广播。

  3. 计算机将继续运行并保持 24/7 全天候收听电台。我们不希望他们在车站的沉默时刻断开与车站的连接。计算机将在很长一段时间内播放静音,直到网络访问者制作要播放的音频文件。如果 IceCast 没有要播放的音频,这会强制无线电播放断开连接,还是只会播放静音,直到收到音频剪辑?

这可能吗?
websockets 或一些推送框架会是实现相同目标的另一种或更好的选择吗?

【问题讨论】:

    标签: php perl websocket icecast


    【解决方案1】:

    执行此项目的方法是在服务器端进行 Icecast 源连接。编写一个应用程序,接受来自浏览器客户端(AJAX、WebSockets 等)的控制命令,然后将所有音频编码为正确的编解码器和比特率服务器端,将最终流发送到 Icecast。该服务器还负责在没有播放内容时产生静音。

    实际上,不久前我已经构建了类似的东西。我在浏览器部分使用了 Node.js 和 Socket.IO,其余部分使用了环回音频驱动程序。如果我再做一次,我可能会在播放/编码服务器端使用 FFMPEG 或 VLC。

    【讨论】:

    • 非常感谢您的回答。听起来这是一个可能的项目!不确定您是否知道对此的分析器...如果没有任何内容发送到 Icecast 服务器,广播电台的听众会被断开连接,还是他们听到沉默?
    • @Nimloc,他们将听到缓冲音频的最后一点,然后断开连接。如果没有从编码器推送数据,则不会通过 Icecast 推送数据。 Icecast 对编码的音频数据并没有真正做太多。沉默需要它对沉默进行编码,而这是它无法做到的。请注意,有备份流的选项,但我认为这不适合您的用例。
    猜你喜欢
    • 2012-04-17
    • 2015-08-29
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 2015-12-23
    相关资源
    最近更新 更多