Java,提供 HLS 实时视频流
Java, serve HLS live video streams
我知道这个话题并不容易,但我正在寻找一个 Java class 来将 HLS 流从服务器发送到客户端。
我生成的文件越来越大:
out.m3u8
out0.ts
out1.ts
out2.ts
out3.ts
out4.ts
out5.ts
out6.ts
这是使用来自原始来源的 ffmpeg 生成的:
ffmpeg -i http://sourceurl.com:9981/stream/channel/1232131 out.m3u8
我可以用VLC播放。
不知何故,我需要将此 live 流式传输给客户。
在这一点上,我并不真正关心不同的比特率,我只希望直播能够在移动浏览器和桌面浏览器中运行。
我找到这个 class:
https://github.com/Red5/red5-hls-plugin/blob/master/plugin/src/main/java/org/red5/stream/http/servlet/PlayList.java
可能正在做类似的事情。
我已将 hls.js 引入到我的应用程序中,希望将其用于桌面。
HLS 现在应该可以在没有 hls.js 的 IOS 设备上工作。
应该如何从服务器提供 HLS 内容?很难找到任何好的和简单的例子来做到这一点。
有人知道这样做所需的步骤吗?
我稍微研究了一下 Wowza 和 Red5,但不确定他们在这个阶段能为我提供什么,而且设置起来似乎过于复杂,只是为了提供一些文件。但请向我解释为什么不是这样。
HLS 中的 H 代表 HTTP。 HLS DASH HDS smooth streaming 等流媒体技术的要点是不需要特殊的服务器。只是普通的 HTTP。您可以使用 nginx 之类的东西,或任何可用于 Java 或任何其他语言的 HTTP 服务器 class/library。
我知道这个话题并不容易,但我正在寻找一个 Java class 来将 HLS 流从服务器发送到客户端。
我生成的文件越来越大:
out.m3u8
out0.ts
out1.ts
out2.ts
out3.ts
out4.ts
out5.ts
out6.ts
这是使用来自原始来源的 ffmpeg 生成的:
ffmpeg -i http://sourceurl.com:9981/stream/channel/1232131 out.m3u8
我可以用VLC播放。
不知何故,我需要将此 live 流式传输给客户。
在这一点上,我并不真正关心不同的比特率,我只希望直播能够在移动浏览器和桌面浏览器中运行。
我找到这个 class:
https://github.com/Red5/red5-hls-plugin/blob/master/plugin/src/main/java/org/red5/stream/http/servlet/PlayList.java
可能正在做类似的事情。
我已将 hls.js 引入到我的应用程序中,希望将其用于桌面。
HLS 现在应该可以在没有 hls.js 的 IOS 设备上工作。
应该如何从服务器提供 HLS 内容?很难找到任何好的和简单的例子来做到这一点。
有人知道这样做所需的步骤吗?
我稍微研究了一下 Wowza 和 Red5,但不确定他们在这个阶段能为我提供什么,而且设置起来似乎过于复杂,只是为了提供一些文件。但请向我解释为什么不是这样。
HLS 中的 H 代表 HTTP。 HLS DASH HDS smooth streaming 等流媒体技术的要点是不需要特殊的服务器。只是普通的 HTTP。您可以使用 nginx 之类的东西,或任何可用于 Java 或任何其他语言的 HTTP 服务器 class/library。