FFmpeg M3U8 в MP4 [Полное руководство 2026]
Практическое руководство 2026 по преобразованию streaming playlists в MP4 с FFmpeg.
Содержание
- FFmpeg: введение и установка
- Базовые команды
- Расширенные параметры
- Частые проблемы и решения
- Batch scripts
- Онлайн-альтернативы
Введение
Научитесь конвертировать M3U8/HLS playlists в MP4 с помощью FFmpeg: установка, основные команды, настройка качества и troubleshooting.
Требования
- Установленный FFmpeg
- Доступный M3U8 URL или локальный файл
- Базовые навыки command line
Установка FFmpeg
Windows
- Скачайте свежую версию с ffmpeg.org.
- Распакуйте архив в C:\\ffmpeg.
- Добавьте C:\\ffmpeg\\bin в PATH.
macOS
brew install ffmpegLinux (Ubuntu/Debian)
sudo apt install ffmpegБазовые команды
Простое копирование (самое быстрое)
ffmpeg -i "https://example.com/playlist.m3u8" -c copy output.mp4-c copy сохраняет исходные аудио/видео codecs и работает быстрее всего, если MP4 container их поддерживает.
Re-encode для совместимости
ffmpeg -i input.m3u8 -c:v libx264 -c:a aac output.mp4H.264 video и AAC audio дают максимальную совместимость с browsers, TV и mobile devices.
Расширенные параметры
Высокое качество
ffmpeg -i input.m3u8 -c:v libx264 -crf 18 -preset slow output.mp4Параметр -crf управляет качеством: ниже значение — выше качество. Preset slow улучшает сжатие.
Быстрая конвертация с bitstream filter
ffmpeg -i input.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4aac_adtstoasc делает AAC в ADTS совместимым с MP4 без полного re-encode.
Пользовательское разрешение
ffmpeg -i input.m3u8 -s 1920x1080 -c:v libx264 -c:a copy output.mp4Используйте -s для масштабирования видео и copy для аудио, если его менять не нужно.
Частые проблемы и решения
CORS или Referer errors
Добавьте нужные headers при запросе protected playlists.
ffmpeg -headers "Referer: https://example.com" -i playlist.m3u8 -c copy output.mp4Protocol not supported
ffmpeg -protocol_whitelist file,http,https,tcp,tls -i playlist.m3u8 -c copy output.mp4Network timeouts
ffmpeg -timeout 10000000 -i playlist.m3u8 -c copy output.mp4Batch conversion scripts
Bash script
#!/bin/bash
for file in *.m3u8; do
ffmpeg -i "$file" -c copy "${file%.m3u8}.mp4"
doneWindows Batch
for %%f in (*.m3u8) do ffmpeg -i "%%f" -c copy "%%~nf.mp4"Онлайн-альтернатива
Нужен browser workflow? Используйте наш онлайн M3U8 to MP4 converter с прогрессом, batch queue и без локальной установки.
FAQ
Почему conversion fails? Проверьте network access, protocol whitelist и отсутствие DRM.
Как сохранить quality? Используйте -c copy, если целевое устройство поддерживает исходные codecs.
Можно ли записывать live streams? Да. Добавьте -t 3600, чтобы ограничить запись одним часом.
Итог
FFmpeg дает точный контроль M3U8 to MP4 conversion. Для быстрого варианта откройте онлайн converter прямо в браузере.