如何制作音频直播
How to make audio broadcast live streaming
我需要将音频内容广播到网络、接收它并“即时”在浏览器中播放。音频内容只是 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
另一种方法是使用通常不是免费的开箱即用的解决方案:
我需要将音频内容广播到网络、接收它并“即时”在浏览器中播放。音频内容只是 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
另一种方法是使用通常不是免费的开箱即用的解决方案: