Мой сценарий - получить данные из источника RTSP через ffmpeg, отправить их в nginx-rtmp и использовать nginx для воспроизведения hls. В Интернете довольно много руководств и вопросов и ответов. Я следил за этим:
https://docs.peer5.com/guides/setting-up-hls-live-streaming-server-using-nginx/
Однако это с треском провалилось. Чтобы упростить понимание, я хотел бы задать основной вопрос:
Кто отвечает за создание файла плейлиста m3u8?
Я попытался поэкспериментировать в два этапа: сначала попробуйте отправить локальный файл mp4 и воспроизвести его через HLS:
Следуя приведенному выше руководству, я пытаюсь использовать ffmpeg, чтобы отправить локальный файл mp4 в nginx-rtmp, и использовать videojs для его воспроизведения. Браузер сообщил об ошибке:
VIDEOJS: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) No compatible source was found for this media.
Во-вторых, я успешно сохранил видеофайл, помещенный в nginx-rtmp, как серию файлов FLV, и я знаю, что могу использовать exec_push для вызова ffmpeg
для преобразования flv в формат, совместимый с HLS. . Опять же, здесь основной вопрос заключается в том, как создать и ОБНОВИТЬ файл m3u8, поскольку новые видеоданные поступают бесконечно.
А пока я хотел бы, чтобы специалисты помогли мне разобраться с первым вопросом - воспроизвести статический файл mp4 через HLS. Также приветствуются любые руководства по плейлисту m3u8 и файлам mpeg-ts!