Здесь есть две проблемы.FFmpeg обычно смотрит на расширение выходных файлов, чтобы определить выходной контейнер.Однако, когда формат вывода принудительно равен -segment_format
для мультиплексора сегмента или просто -f format
для большинства других, ffmpeg будет обращать внимание на это и больше не будет смотреть на расширение.В этом случае сегмент_формату задается значение mpegts
, так что это будут выходные файлы.Чтобы обеспечить правильность mp3-файлов, задайте для аргументаgment_format значение mp3.
Вторая проблема заключается в том, что, поскольку расширение имеет формат mp3, я предполагаю, что hls.js не может правильно определить формат сегментов или предполагает, чтонеправильный формат и пытается разобрать их таким образом.В любом случае, в консоли браузера должно быть несколько сообщений на этот счет.Смотрите https://github.com/video-dev/hls.js/pull/1190 о проблемах, которые были у hls.js с проверкой формата.