Как преобразовать M3U8 в MP4: FFmpeg, VLC и ошибки
Сохраните файл или URL M3U8 в MP4: копирование потоков, H.264/AAC, VLC, проверка доступа и отсутствующего звука.
Редактор не открывает M3U8 даже после переименования в MP4? Сначала проверьте доступность сегментов. Здесь рассматривается завершённый HLS-источник, которым вы владеете или который вправе сохранять.
Отличайте плейлист от медиасегментов
M3U8 обычно представляет текстовый список сегментов HLS, а не само видео. Он может ссылаться на другие качества или отдельный звук. Переименование в .mp4 не создаёт медиаданные.
Плейлист и его ресурсы должны быть доступны. Локально нужны также .ts, .m4s и файлы инициализации. Сохраняйте структуру для относительных путей. Здесь используется завершённый источник, не запись текущего эфира.
Сначала попробуйте копирование потоков FFmpeg
Сначала выполните ffmpeg -version в новом терминале. Если команда не найдена, проверьте установку и путь к программе. Пример выбирает первое видео и первое аудио, не обязательно лучшее качество или нужный язык. Видео без аудио даст беззвучный MP4. Для плейлиста только с аудио нужна другая команда; субтитры и остальные дорожки не включены.
-c copy меняет контейнер без перекодирования, избегая ещё одного поколения кодирования. Он не восстанавливает сегменты и не меняет несовместимые с MP4 кодеки. Используйте разрешённый путь или URL, оставляя пробелы и параметры в кавычках. +faststart переносит метаданные MP4 в начало для удобного старта воспроизведения. Скорость загрузки по сети он не увеличивает.
- Откройте терминал в папке для результата. Для локального плейлиста подготовьте копию с сегментами, сохранив исходную структуру папок.
- Подставьте реальный путь или URL плейлиста и новое имя результата.
- Выполните копирование, проверьте ошибки и воспроизведение.
ffmpeg -i "input.m3u8" -map 0:v:0 -map "0:a:0?" -c copy -movflags +faststart "output.mp4"Перекодируйте для совместимости или используйте VLC
Если устройство не воспроизводит копию, попробуйте H.264 и AAC. Команде нужны libx264 и AAC в FFmpeg. Перекодирование требует времени и может менять качество и размер; сохраните оригинал. Это пример для обычного SDR; тональное отображение HDR в SDR требует отдельных настроек.
ffmpeg -i "input.m3u8" -map 0:v:0 -map "0:a:0?" -c:v libx264 -crf 20 -preset medium -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart "output-compatible.mp4"В Windows VLC обычно использует Media → Convert/Save, вход Network, профиль и назначение. Профиль может называться H.264 + MP3 (MP4); AAC и подписи зависят от версии. В macOS меню отличается.
- Найдите Media → Convert/Save и вкладку Network.
- Введите M3U8 URL и выберите Convert.
- Проверьте профиль MP4 и новый файл назначения .mp4.
- Нажмите Start и откройте результат; при отличиях смотрите справку своей версии.
Разбирайте 403, 404 и отсутствие звука отдельно
При 403 проверьте права и срок адреса, при 404 — изменённый или удалённый ресурс. Если не читается сегмент, проверьте путь и инициализацию. Перемещение папок тоже ломает ссылки. Перекодирование не заменит отсутствующие данные.
При тишине проверьте аудиопоток, отдельный плейлист и выбранную дорожку. Первая не обязательно на нужном языке. Используйте актуальные разрешённые источники или официальное скачивание. Для DRM и ограничений применяйте поддерживаемый сервисом способ сохранения.
Проверьте мобильные варианты и готовый файл
На телефоне сначала ищите официальное скачивание или офлайн-функцию. Узнайте, нужны ли онлайн-конвертеру сегменты и отправляет ли он файлы или URL на сервер. Прочитайте условия обработки до передачи частного видео или ссылок с авторизацией.
Проиграйте начало, середину и конец со звуком, сравните длительность. Живой плейлист без метки конца может не завершиться сам и не вернёт удалённые старые сегменты. Предпочтителен законченный VOD. Демонстрация использует наш короткий завершённый HLS-пример.
ffprobe -v error -show_entries format=duration:stream=codec_type,codec_name,width,height -of json "output.mp4"Сравните длительность и воспроизведите начало, середину и конец со звуком. Передавайте проверенный MP4, сохраняя исходный плейлист и сегменты до конца проверки.
Инструменты
Источники
На основе общедоступной документации, а не полного функционального аудита или аудита безопасности.