我该如何在Java中进行HLS直播?

3

目前,我有一个FFMPEG命令,它接收来自我的Web服务器的网络摄像头RTMP流,并生成一个主索引的HLS文件,该文件引用了240p、360p、480p和720p中的4个可选转码索引。

我可以看到子索引并查看每个质量级别所生成的视频块(并播放它们)。

现在,我想使用Spring创建一个非常基本的Java Web服务器,该服务器广播此HLS流至任何访问客户端站点服务器的客户端,该站点上有嵌入式视频播放器(类似于videoJS)。因此,我将拥有两个服务器实例,一个是媒体服务器,用于转码,另一个是Web服务器,用于流式传输和播放转码后的媒体。

此视频播放器将使用类似于videoJS的东西访问RTMP或RTP流,其URL类似于“localhost:8080/test/index.m3u8”。

我应该如何创建Java服务器来流式传输主索引文件?我只需要一些关于如何从正在生成的索引文件中流式传输视频的想法。

1个回答

4
你不需要“流式传输”文件,只需通过http托管文件。播放器将连接并请求该文件。然后对其进行解析并请求视频片段。全部通过http完成。服务器只是一个愚蠢的http服务器。不需要“流式传输”,也不需要额外的服务器端智能。

谢谢您清晰的回答。我现在明白了,以为它会比实际复杂得多。 - John Kim
我有点困惑。HLS是一种协议,所以你不只是获取数据,而是发送一些指令?还是它只是用于提供.ts和.m3u8文件? - Oleg Yablokov
协议是http。HLS只是描述文件格式。 - szatmary

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接