Как использовать ffmpeg для разделения аудиофайлов на HLS-совместимые куски? (формат mp3) - PullRequest
0 голосов
/ 25 января 2019

Я просматривал всю сеть и StackOverflow и не могу заставить это работать. У меня есть аудиофайл, который я хотел бы разделить на mp3-файлы и создать соответствующий файл m3u8.

Я пробовал это, который был самым близким:

ffmpeg -i sometrack.wav -c:a libmp3lame -b:a 256k -map 0:0 -f segment -segment_time 10 -segment_list outputlist.m3u8 -segment_format mpegts 'output%03d.mp3'

Но все mp3-файлы искажаются при их воспроизведении.

1 Ответ

0 голосов
/ 25 января 2019

Здесь есть две проблемы.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 с проверкой формата.

...