我需要将音频内容广播到网络,接收它并“在运行中”在浏览器中播放 . 音频内容只是mp3文件的列表 . 在客户端,它应该看起来像没有状态的无限音频流 . 喜欢YouTube直播的东西 . 或者像在线广播一样 . 但我真的对此一无所知 . 任何人都可以帮助我吗?它是如何工作的,哪种协议用于发送和接收数据?任何可以帮助我的东西 . 在最好的情况下,我正在寻找.NET的解决方案,但我会很高兴能有所帮助,至少要了解它的工作原理 . 谢谢 .
一种方法是在ffmpeg的帮助下 .
您可以使用ffmpeg创建DASH或HLS播放列表https://ffmpeg.org/ffmpeg-formats.html#hls-2
FFMPEG也支持其他流媒体解决方案 .
要调用ffmpeg,您必须找到与运行服务器的系统兼容的二进制文件(windows,linux) . 以下是如何从C#启动外部进程:How do I start a process from C#?
要在浏览器中播放播放列表,您可以使用VideoJS . 它内置了对DASH和HLS的支持:https://videojs.com/(它也可以播放音频)
构建管理/更新播放列表的逻辑,然后您只需创建可以为播放列表文件提供服务的HTTP服务 . VideoJS将为您播放 .
如果您使用HLS,那么您可能应该阅读:https://developer.apple.com/streaming/
如果你使用DASH,请阅读:https://mpeg.chiariglione.org/standards/mpeg-dash
另一种方法是使用开箱即用的解决方案,这些解决方案通常不是免费的:
https://azure.microsoft.com/en-us/services/media-services/
https://www.wowza.com/
1 回答
一种方法是在ffmpeg的帮助下 .
您可以使用ffmpeg创建DASH或HLS播放列表https://ffmpeg.org/ffmpeg-formats.html#hls-2
FFMPEG也支持其他流媒体解决方案 .
要调用ffmpeg,您必须找到与运行服务器的系统兼容的二进制文件(windows,linux) . 以下是如何从C#启动外部进程:How do I start a process from C#?
要在浏览器中播放播放列表,您可以使用VideoJS . 它内置了对DASH和HLS的支持:https://videojs.com/(它也可以播放音频)
构建管理/更新播放列表的逻辑,然后您只需创建可以为播放列表文件提供服务的HTTP服务 . VideoJS将为您播放 .
如果您使用HLS,那么您可能应该阅读:https://developer.apple.com/streaming/
如果你使用DASH,请阅读:https://mpeg.chiariglione.org/standards/mpeg-dash
另一种方法是使用开箱即用的解决方案,这些解决方案通常不是免费的:
https://azure.microsoft.com/en-us/services/media-services/
https://www.wowza.com/