Может ли кто-нибудь посоветовать, как построить файл MP4
из потока HLS
(наоборот, что вы обычно хотите)? Скажем, у меня есть m3u8 - есть ли простой способ получить один MP4
с помощью FFMPEG
или какого-нибудь другого инструмента?
Преобразование HLS (m3u8) в MP4
Ответ 1
ffmpeg -i in.m3u8 -acodec copy -vcodec copy out.mp4
Для аудио AAC вам также нужно будет добавить фильтр бит-стрит. (Спасибо @aergistal за указание на это)
ffmpeg -i in.m3u8 -acodec copy -bsf:a aac_adtstoasc -vcodec copy out.mp4
Ответ 2
Альтернативным способом преобразования HLS в MP4 является использование VLC Player. Вы можете выполнить преобразование через интерфейс, а также в командную строку. Просто вы можете запустить файл .bat
, который имеет следующие строки:
chcp 65001
"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" http://cdn.haramain.global/vods3/_definst_/mp4:amazons3/akra/programlar/yeni/335/c07f21e3-a313-4e8d-b594-403ddefbf11f.mp4/playlist.m3u8 --sout "#transcode{vcodec=none,acodec=mp3,ab=70,channels=2,samplerate=44100}:std{access=file{no-overwrite},mux=mp3,dst='C:\Users\aidata\Desktop\Akra FM\13.07.2013 - Karagöz - Bilmecesi.mp3'}" vlc://quit
"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" http://cdn.haramain.global/vods3/_definst_/mp4:amazons3/akra/programlar/yeni/335/dcb6754a-49f1-4517-bfe4-3864942f63c8.mp4/playlist.m3u8 --sout "#transcode{vcodec=none,acodec=mp3,ab=70,channels=2,samplerate=44100}:std{access=file{no-overwrite},mux=mp3,dst='C:\Users\aidata\Desktop\Akra FM\12.07.2013 - Nasreddin Hoca - Köyün Eseği.mp3'}" vlc://quit
Эта партия script преобразует два файла один за другим. Если вы ввели эти команды в cmd.exe, все преобразования начнутся в одно и то же время.
Теперь позвольте мне объяснить коды. Строка chcp 65001
позволяет использовать символы Unicode в имени целевого файла. Следующие строки состоят из четырех частей.
-
"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"
Это путь к проигрывателю VLC. Проверьте это после установки проигрывателя VLC.
-
http://cdn.haramain.global/vods3/_definst_/mp4:amazons3/akra/programlar/yeni/335/c07f21e3-a313-4e8d-b594-403ddefbf11f.mp4/playlist.m3u8
Это пример файла HLS. Я не знаю, что произойдет, если вы поместите эту ссылку в двойные кавычки.
-
--sout "#transcode{vcodec=none,acodec=mp3,ab=70,channels=2,samplerate=44100}:std{access=file{no-overwrite},mux=mp3,dst='C:\Users\aidata\Desktop\Akra FM\13.07.2013 - Karagöz - Bilmecesi.mp3'}"
Это команда VLC для преобразования. Вы можете найти дополнительные опции в Документация VLC
-
vlc://quit
Это закроет окно VLC. Это полезно, если вы не хотите, чтобы панель задач заполнялась окнами VLC. В плейлисте нет способа укладывать заказы конверсии. Вы должны запустить VLC, выполнить преобразование и закрыть окно. Вы также можете попробовать запустить VLC в бесшумном режиме. Или вы можете перетащить окно VLC в правую нижнюю часть экрана, чтобы подвешенные мигающие окна не мешали вам.