0
我知道这个话题不是一件容易的事,但我正在寻找一个Java类来将HLS流从服务器发送到客户端。Java,服务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播放。
不知何故,我需要将这个住流到客户端。
在这一点上,我并不关心不同的比特率,我只是想在移动浏览器和桌面浏览器上进行直播。
我发现这个类:
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只是一点点,但不确定他们可以在这个阶段为我提供什么,似乎是设置过于复杂,只为服务一些文件。但请向我解释为什么不是这样。
你介意阐述吗?所以通常我会得到像out.m3u8文件,然后滚出out10.ts out11.ts等文件...我需要以某种方式打开它们并将它们提供给客户端。它只是简单地提供字节,并且当一个字节中没有更多字节时,继续下一个字节?或者我需要阅读out.m3u8并处理某种协议?我不确定是否诚实,但我想用java而不是nginx来完成控制。 – momomo
你不对文件做任何事情。只要举办他们。通过http发布指向m3u8文件的链接。播放器将会根据需要执行http获取并提取文件。 – szatmary
这个人想通过HLS流“live”标准的HTTP服务器不这样做。 Red5允许您流式传输到服务器,并通过HLS提供服务,实际上Red5 Pro在工作包中有这个功能。 –