У меня есть следующий вариант использования:
1) Алиса публикует поток на сервер nginx-rtmp
2) Сервер конвертирует поток в mp4 (по умолчанию flv, если я правильно понимаю, и нужна трансформация кодека)
3) Боб должен иметь возможность запрашивать диапазон для этого файла mp4, пока Алиса все еще публикует
Однако кажется, что команда ffmpeg для преобразования flv в mp4 может быть выполнена только тогда, когда файл mp4 полностью сгенерирован, а затем ffmpeg выполнит второй проход и переместит «moov» в заголовок своего нового файла.
Наш вариант использования — разрешить Бобу использовать запрос диапазона для извлечения файла mp4, пока Алиса все еще публикует (т. е. смотрит видео Алисы как можно скорее) с момента времени 0 (т. е. со второго момента, когда Алиса начала публикацию). Таким образом, с moov mp4 во главе, легко выполнять запросы диапазона и реализовывать функциональность. Необработанный RTMP, похоже, не решает нашу проблему, поскольку мы не можем позволить Бобу смотреть запись Алисы с момента 0.
Вопрос такой: 1) Можно ли это сделать, пока flv еще не полностью сгенерирован? 2) Любая другая идея, как мы можем использовать nginx-rtmp/ffmpeg для достижения желаемой функциональности?
Огромное спасибо