Конвертировать файл M3U8 в MP4?

22

Можно ли преобразовать видеофайл M3U8 в MP4? Мне не повезло найти конвертер файлов, который может сделать это, так как файл M3U8 действительно является списком воспроизведения аудио со множеством файлов меньшего размера в папке.

Рик Джонс
источник
4
M3U - это формат списка воспроизведения. Что именно вы хотите получить? Один большой аудиофайл?
Даниэль Б
Можете ли вы рассказать нам, что вы пробовали и каких результатов вы ожидаете?
Дариус
Я действительно скачал видео с расширением m3u8. Я не могу загрузить его в свое приложение видеоплеера Iphone с помощью общего доступа к файлам, поскольку этот файл представляет собой папку меньших файлов. Предполагается, что я использую mp4. Я надеюсь получить видео m3u8 в формате mp4.
Рик Джонс
Поскольку m3u8 не является стандартным и известным форматом для видео, вам потребуется предоставить больше информации о файле. Откуда ты это скачал? Насколько большой файл? У вас есть еще какие-либо подробности о файле?
Мокубай
Как и предполагалось, m3u8 - это не фактический видеофайл, а список воспроизведения, используемый для связи видеофайлов: developer.apple.com/library/ios/documentation/… stackoverflow.com/questions/19782389/… Люди предлагают использовать mp4, потому что у вас есть не видео файл, это список воспроизведения, который связывает вместе потоковые видео файлы.
Мокубай

Ответы:

30

Вы можете использовать ffmpeg, чтобы сделать это ...

Вот пример:

ffmpeg -i "http://host/folder/file.m3u8" -bsf:a aac_adtstoasc -vcodec copy -c copy -crf 50 file.mp4
Джон Е
источник
2
Это похоже на IP-адрес локальной сети, то есть только люди в одной сети могут использовать эту ссылку. Можете ли вы привести в порядок и добавить больше информации к своему ответу?
Cfinley
Вы правы, это локальный сервер. Тем не менее, переключатели командной строки по-прежнему применяются для возможности преобразования потока HLS в MP4
Джон Э
Не работает с ssl
jjxtra
Можно ли включить заголовки или дорожки субтитров? Кажется, не могу найти много на этом.
Джастин
Да, посмотрите здесь, как экспортировать подписи trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo
John E
3

M3U - это файл списка воспроизведения, как упоминалось ранее. Используйте VLC player, чтобы открыть их, а затем используйте мастер (File → Streaming / Transcoding Wizard), чтобы конвертировать / транскодировать.

Если вы откроете M3U в Блокноте, вы увидите URL, где файл фактически хранится.

askmematt
источник
Это работает (используйте веб-URL файла M3U). для теста вы можете воспроизвести файл M3U с помощью проигрывателя VLC.
M-Razavi
1

Как отметил @Daniel B, M3U - это формат списка воспроизведения . Это очень маленький файл, который содержит ссылки на фактические медиа. M3U8 - это версия Unicode, что означает, что он поддерживает ссылки с буквами и символами из любого языка.

Поскольку это простой текстовый файл, вы можете открыть его с помощью Блокнота или другого простого текстового редактора и попробовать скопировать с него ссылки, а затем загрузить каждое видео вручную с помощью браузера.

Если это не прямая ссылка HTTP (S) на видео, а технология потоковой передачи, например RTMP, вам может потребоваться загрузить специальную программу для записи. Например, это используется для сохранения потоков RTMP .

Сообщество
источник
1

Я недавно скачал видеофайл xxxx-ad .m3u8 и попытался решить ту же проблему (скачал с Apowersoft из онлайн-трансляции). Файл был всего 201b, и для его воспроизведения требовалось подключение к интернету.

Я использовал formatfactory . Сначала я не смог открыть этот файл с помощью FF. Вы не можете использовать кнопку открытия.

Но если вы укажете и нажмете на файл и переместите его в окно FF, это позволит вам добавить его, выбрать формат и скопировать его. Результат - классический видео файл, который можно воспроизводить в автономном режиме. То же самое работает, если вы хотите только аудио-файл, как mp3.

наслаждаться

user520477
источник
1

Вы также можете использовать youtube-dlдля загрузки видео с URL-адреса m3u8, например:

$ youtube-dl --hls-prefer-native "http://host/folder/file.m3u8"
[generic] playlist: Requesting header
[generic] playlist: Downloading m3u8 information
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 275
[download] Destination: file-file.mp4
[download] 100% of 123.19MiB in 01:02
[ffmpeg] Fixing malformed AAC bitstream in "file-file.mp4"

Для установки / обновления youtube-dlвам нужно набрать:

$ sudo -H $(which pip3) install -U youtube-dl
[sudo] password for xyztabcd:              
Requirement already up-to-date: youtube-dl in /usr/local/miniconda3/lib/python3.6/site-packages (2019.4.7)
SebMa
источник
0

По крайней мере, в последних версиях Internet Download Manager вы должны получить .tsфайл, а не .m3u8(если только вы не скопируете .m3u8ссылку и не попытаетесь добавить ее как загрузку вручную0, поскольку она .m3u8правильно поддерживает загрузку потоков HLS ( ). Этот файл можно воспроизвести непосредственно в некоторых плееры. Если вы хотите .mp4файл, вы можете использовать инструмент, такой как My MP4Box GUI (или FFmpeg, посмотрите ответ JohnE и просто .tsукажите путь к файлу -iвместо ссылки).

nyuszika7h
источник
-2

Изменение расширения работало для меня.
Я скачал фильм с помощью интернет-менеджера загрузок в формате
.m3u8, изменив расширение на .mp4 POOF по информатике на работе - я смог воспроизвести файл.

Cray-Z.Guy
источник
1
Я думаю, что это работает, только если хост также хранит файл mp4, поэтому все, что вы сделали, это скачали этот файл. Это не сработало для меня.
Шридхар Сарнобат