将Icecast .ogg流转换为mp3

时间:2016-06-19 03:25:16

标签: html5-audio audio-streaming icecast

我一直试图解决这个问题超过一个星期,但仍未成功。我可以使用虚拟DJ作为客户端和Icecast作为流媒体服务器,以.ogg格式制作实时音频流。 .ogg流在Firefox和Chrome中成功播放,但在IE中无法播放。我如何以.ogg和.mp3格式播放相同的流,以便在所有现代浏览器中都支持它,尽管我只能使用我的客户端虚拟DJ生成一种流,即.ogg。

我希望我的用户不管他们使用哪种浏览器都会收听我的同一个流。

请帮忙。我真的需要这样做。

1 个答案:

答案 0 :(得分:0)

VirtualDJ当时只能以一种格式广播,可以是Ogg或MP3。

要获得这两种格式,您必须通过中间服务器,将一种格式转码为另一种格式并在不同的端口上进行广播:

diagram

您可以使用类似VideoLAN (VLC)的内容来执行此操作,可以输出为Icecast:

vlc.exe --sout "#transcode{[TRANSCODE_OPTIONS]}:std{[OUTPUT_OPTIONS]}" INPUT

例如,将输入转换为mp3流(同上):

vlc --sout "#transcode{acodec=mp3,ab=128,channels=2,samplerate=44100}:std{access=file,mux=raw,dst=OUTPUT}" INPUT

您还可以通过GUI设置转码。请在提供的链接中查看更多详细信息。

设置两个流后,您可以将它们定义为音频源:

<audio>
  <source src="//host:8000/mount1" type="audio/ogg" />
  <source src="//host:8001/mount2" type="audio/mpeg" />
<audio>