我正在尝试通过Spring Boot提供m3u8播放列表。我有一个正在运行的ffmpeg进程,该进程实时对多播进行转码并将文件发送到/src/resources/public/output.m3u8。我看到播放列表正在更新,新的.ts文件已正确生成,但是当尝试在视频播放器中观看流时,它只能播放一定数量的视频。有没有一种方法可以正确地用Java提供正在运行的播放列表,而不是静态地提供它?
编辑:使用python python3 -m http.server
启动基本的HTTP服务器时,我能够很好地查看流。是否有Spring Boot方式可以完成相同任务?
对于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);
}