如何在 Java 中广播 HLS?

How can I broadcast HLS in Java?

目前,我有一个 FFMPEG 命令接收我的网络摄像头的 RTMP 流(从我的网络服务器访问),并生成一个主索引 HLS 文件,该文件引用 4 个备选的转码索引,格式为 240p、360p、480p、 720p.

我可以看到子索引并看到为每种质量生成的视频块(并播放它们)

现在,我想使用 Spring 创建一个非常非常基本的 Java 网络服务器,它将此 hls 流广播到访问客户端站点服务器的任何客户端,该服务器具有嵌入式视频播放器(像 videoJS 之类的东西)。所以我会有两个服务器实例,一个是转码的媒体服务器,另一个是用于流式传输和播放转码媒体的 Web 服务器。

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

我如何着手创建 Java 服务器来流式传输主索引文件?我只需要了解如何从正在生成的索引文件流式传输视频。

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