我正在研究将实时音频流从vxWorks系统实现到HTML5音频播放器。我已经研究了一段时间,但我坚持一个关键步骤。
工作流程:
我不知道第3步中的内容。假设我现在已经将音频编码为Mp3。我需要哪些技术才能将其发送到浏览器?我相信我可以通过HTTP协议发送这个,但我不明白它是如何打包的。即,如何将音频打包成HTTP协议。 HTML5播放器想要什么作为此数据的来源。一个URL?还是websocket数据?
感谢。
答案 0 :(得分:0)
#3的解决方案取决于您是否需要HTML5播放器上的低延迟实时音频流,或延迟可能是10-30秒。
<强> 1。延迟可能很高
您需要一个将通过HLS流式传输的流媒体服务器/ HLS打包程序,以及一个托管Flowplayer或JWPlayer的网页,该网页将使用HTML5视频标记播放该HLS流。需要将AAC编码(非mp3!)音频流推送到该流媒体服务器/ HLS打包器(RTMP发布是最常用的方法)。
你可以使用免费的nginx;它可以移植到vxWorks,可以通过HLS流出。您也可以尝试使用免费的VLC或ffmpeg。
如果你使它工作,流将可以在任何设备上的任何浏览器上播放 - iOS,Android,Windows OS等......
<强> 2。您需要低延迟
这要困难得多。您需要另一台运行Linux或Windows操作系统的计算机。 在该计算机上安装虚幻媒体服务器或Evostream服务器 - 这些服务器使用ISO BMFF打包通过Websocket协议流式传输到HTML5播放器。 与之前相同,需要将AAC编码(非mp3!)音频流推送到该流媒体服务器(RTMP发布是最常用的方法)。
这些流将在任何浏览器/任何操作系统上播放,除了iOS!