У меня есть Java-сервлет api, который по запросу запускает преобразование видеофайла в реальном времени с помощью ffmpeg и направляет его в mediastreamsegmenter, чтобы сегментировать его для потоковой передачи по HTTP. Я хочу, чтобы сервлет Java возвращал URL индексного файла, как только он был сгенерирован (после записи файла 4-го транспортного потока), чтобы пользователь мог начать просмотр видео, не дожидаясь его полного завершения преобразования.
Я думал о том, чтобы добиться этого, чтобы передать команду в аргумент -file-complete-command mediastreamsegmenter и заставить его вызвать какую-то команду, которая может указать сервлету java вернуть свой ответ, если последний файл завершен файл индекса.
Другая идея, которая у меня была, состояла в том, чтобы просто сегментировать первые 30 секунд или около того видео, а затем вернуть ответ и добавить оставшуюся часть видео в какую-то фоновую задачу в сервлете. Я не уверен, как это будет сделано, хотя. Могу ли я создать отдельный поток для этого преобразования, который будет продолжать работать после возвращения сервлета? Я уверен, что должен быть лучший способ сделать это. Любые мысли будут оценены.