Java HTTP实时流媒体无法与GStreamer一起使用

Java HTTP实时流媒体无法与GStreamer一起使用,java,jetty,gstreamer,http-live-streaming,Java,Jetty,Gstreamer,Http Live Streaming,我正在尝试使用GStreamer通过HTTP创建一个实时流。我对HLS接收器使用了以下命令: gst-launch-1.0 videotestsrc is-live=true pattern=snow ! x264enc ! mpegtsmux ! hlssink max-files=5 没有错误或警告。生成的ts和m3u8文件位于src/main/resources/videos中。此文件夹是Maven项目的一部分,该项目还包含Jetty服务器。以下是主要课程: public class M

我正在尝试使用GStreamer通过HTTP创建一个实时流。我对HLS接收器使用了以下命令:

gst-launch-1.0 videotestsrc is-live=true pattern=snow ! x264enc ! mpegtsmux ! hlssink max-files=5
没有错误或警告。生成的
ts
m3u8
文件位于
src/main/resources/videos
中。此文件夹是Maven项目的一部分,该项目还包含Jetty服务器。以下是主要课程:

public class Main {
    private static final int PORT = 1778;
    private static final String RESOURCE_BASE = "./src/main/resources";
    private static final String WELCOME_FILE = "index.html";

    public static void main(String[] args) throws Exception {
        final Server jettyServer = new Server(PORT);

        final ResourceHandler resourceHandler = new ResourceHandler();

        resourceHandler.setDirectoriesListed(true);
        resourceHandler.setWelcomeFiles(new String[]{WELCOME_FILE});
        resourceHandler.setResourceBase(RESOURCE_BASE);

        final HandlerList handlers = new HandlerList();
        handlers.setHandlers(new Handler[] { resourceHandler, new DefaultHandler() });
        jettyServer.setHandler(handlers);

        try {
            jettyServer.start();
            jettyServer.join();
        } finally {
            jettyServer.stop();
            jettyServer.destroy();
        }
    }
}
以及
src/main/resources/index.html
文件:

<!DOCTYPE html>
<html>
  <body>
    <video src="./videos/playlist.m3u8" controls="" autoplay="" width="960" height="540"></video>
  </body>
</html>

当我启动服务器时,我在Safari上看到以下屏幕(图片不变): 正确生成了
ts
文件,并且成功找到了
playlist.m3u8
(否则播放机会给出错误信息)。为什么我没有得到默认雪模式的实时流


如果相关的话,我将在优胜美地10.10.5操作系统上运行此程序,Safari版本为10.1(10603.1.30.0.34),尝试强制使用特定的H.264配置文件。如果不这样做,
videotestsrc
x264enc
可能同意解码器不支持的格式

... x264enc ! video/x-h264, profile=main ! mpegtsmux ...