Spring Boot, обслуживающий плейлист m3u8

Я пытаюсь обслуживать плейлист m3u8 через Spring Boot. У меня запущен процесс ffmpeg, который перекодирует многоадресную рассылку в реальном времени и отправляет файлы в /src/resources/public/output.m3u8. Я вижу, что список воспроизведения обновляется и новые файлы .ts создаются правильно, однако при попытке просмотра потока в видеоплеере он воспроизводит только определенное количество видео. Есть ли способ правильно обслуживать текущий плейлист на Java вместо того, чтобы обслуживать его статически?

РЕДАКТИРОВАТЬ: при запуске базового http-сервера с python python3 -m http.server я могу отлично просматривать поток. Есть ли способ Spring Boot выполнить ту же задачу?


person Ph33ly    schedule 21.01.2020    source источник


Ответы (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);
    }
person Ankit Yadav    schedule 21.01.2020
comment
При просмотре списка воспроизведения кажется, что он не захватывает обновленный список воспроизведения и файлы ts. Таким образом, он просто воспроизводит одно видео вместо потока. - person Ph33ly; 21.01.2020