【问题标题】:Spring Boot serving an m3u8 playlistSpring Boot 提供 m3u8 播放列表
【发布时间】:2020-01-21 18:32:43
【问题描述】:

我正在尝试通过 Spring Boot 提供 m3u8 播放列表。我有一个正在运行的 ffmpeg 进程,它实时转码多播并将文件发送到 /src/resources/public/output.m3u8。我看到播放列表正在更新并且新的 .ts 文件正在正确生成,但是当尝试在视频播放器中观看流时,它只播放一定数量的视频。有没有办法在 Java 中正确地提供正在运行的播放列表,而不是静态地提供它?

编辑:当使用 python python3 -m http.server 启动基本 http 服务器时,我可以完美地查看流。是否有 Spring Boot 方式来完成相同的任务?

【问题讨论】:

    标签: java spring-boot ffmpeg http-live-streaming playlist


    【解决方案1】:

    使用 Spring 4.1,您的方法将有效,没有问题。如果您想查看,下面是另一种方法

     @RequestMapping(value = "/VMS-49001/playlist/{listName:.+}")
        public ResponseEntity<byte[]> testphoto() throws IOException {
        InputStream in = servletContext.getResourceAsStream("/images/no_image.jpg");
    
        final HttpHeaders headers = new HttpHeaders();
    
    
        headers.setContentType(MediaType.parseMediaType("application/vnd.apple.mpegurl"));
        headers.setContentDispositionFormData(fileName, fileName);
    
        return new ResponseEntity<byte[]>(IOUtils.toByteArray(in), headers, HttpStatus.CREATED);
        }
    

    【讨论】:

    • 观看播放列表时,它似乎并没有获取更新的播放列表和 ts 文件。所以它只播放单个视频而不是流。
    猜你喜欢
    • 2014-12-18
    • 2012-03-15
    • 2010-12-12
    • 2012-12-08
    • 2013-05-13
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 2023-01-27
    相关资源
    最近更新 更多