Зачем конвертировать M3U8 в MP4?
Файл .m3u8 (манифест HLS) содержит список из десятков или сотен коротких сегментов .ts или .m4s на сервере потокового вещания - вы не можете напрямую скопировать из него один видеофайл. MP4 - это автономный контейнер формата ISO Base Media File Format, который воспроизводится на любом устройстве без подключения к сети. Типичное использование - сохранение лекции, вебинара или записи трансляции для офлайн-просмотра.
Способы конвертации M3U8 в MP4
FFmpeg FREE
Запустите ffmpeg -i URL -c copy output.mp4; параметр -c copy отключает перекодирование, поэтому качество полностью сохраняется, а процесс идет быстро.
yt-dlp FREE
Запустите yt-dlp --merge-output-format mp4 URL, чтобы скачать и объединить поток; для сайтов, которые распознает yt-dlp, указывайте URL страницы вместо прямого URL M3U8.
VLC media player FREE
Откройте URL M3U8 через «Медиа» > «Открыть URL», нажмите на стрелку рядом с кнопкой «Воспроизвести» и выберите «Конвертировать», выберите профиль MP4, укажите файл назначения и нажмите «Начать». VLC записывает в реальном времени.
Об этих форматах
Файл M3U8 - это текстовый плейлист, содержащий пути к трекам или URL-адреса потоков; сам по себе он не содержит аудио или видео. Откройте его в VLC, чтобы воспроизвести локальный плейлист…
Открыть детали .M3U8 →Файл MP4 - это видеоконтейнер (стандарт MPEG-4 Part 14, принят в 2003 году), который объединяет видео, аудио, субтитры и главы в одном файле. Он воспроизводится на любом телефоне,…
Открыть детали .MP4 →Качество и на что обратить внимание
- С параметром
-c copyв FFmpeg перекодирование не происходит - это самый быстрый метод, сохраняющий оригинальное качество. - VLC записывает в реальном времени: вам придется ждать столько же, сколько длится сам стрим; для скорости используйте FFmpeg или yt-dlp.
- Локальный файл
.m3u8, содержащий только пути к локальным файлам, не является видео и не может быть объединен в MP4.
Часто задаваемые вопросы
Какой инструмент мне использовать?
Будет ли выходной MP4 того же качества, что и стрим?
-c copy - перекодирование не выполняется, а видео- и аудиоданные сохраняются как есть.Что если у URL M3U8 истек срок действия токенов?
Что если у меня есть только файл M3U8, а не URL?
ffmpeg -i path/to/index.m3u8 -c copy output.mp4; при этом сегменты все равно должны быть доступны в сети.