web-dev-qa-db-fra.com

Conversion d'un HLS (m3u8) en MP4

Quelqu'un peut-il nous conseiller sur la façon de construire un MP4 fichier d'un flux HLS (l'inverse de ce que vous voulez habituellement)? Disons que j'ai le m3u8 - existe-t-il un moyen simple d'obtenir un seul MP4 en utilisant FFMPEG ou un autre outil?

19
orcaman

ffmpeg -i in.m3u8 -acodec copy -vcodec copy out.mp4

Pour l'audio AAC, vous devrez également ajouter le filtre bitstream. (Merci @aergistal de l'avoir signalé)

ffmpeg -i in.m3u8 -acodec copy -bsf:a aac_adtstoasc -vcodec copy out.mp4

34
szatmary

Une autre façon de convertir un HLS en MP4 est d'utiliser le lecteur VLC. Vous pouvez effectuer la conversion via l'interface ainsi que la ligne de commande. Vous pouvez simplement exécuter un fichier .bat Qui contient les lignes suivantes:

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

Ce script batch convertit deux fichiers l'un après l'autre. Si vous aviez collé ces commandes dans cmd.exe, toutes les conversions commenceraient en même temps.


Maintenant, laissez-moi vous expliquer les codes. La ligne chcp 65001 Vous permet d'utiliser des caractères unicode dans le nom du fichier de destination. Les lignes suivantes se composent de quatre parties.

  1. "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"

C'est le chemin du joueur VLC. Vérifiez cela après avoir installé le lecteur VLC.

  1. http://cdn.haramain.global/vods3/_definst_/mp4:amazons3/akra/programlar/yeni/335/c07f21e3-a313-4e8d-b594-403ddefbf11f.mp4/playlist.m3u8

Il s'agit d'un exemple de fichier HLS. Je ne sais pas ce qui se passe si vous mettez ce lien entre guillemets.

  1. --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'}"

Il s'agit de la commande VLC pour la conversion. Vous pouvez trouver plus d'options dans Documentation VLC

  1. vlc://quit

Cela fermera la fenêtre VLC. Il est utile si vous ne souhaitez pas que votre barre des tâches soit remplie de fenêtres VLC. Il n'y a aucun moyen d'empiler les ordres de conversion dans la liste de lecture. Vous devez exécuter VLC, faire la conversion et fermer la fenêtre. Vous pouvez également essayer d'exécuter VLC en mode silencieux. Ou vous pouvez faire glisser une fenêtre VLC en bas à droite de votre écran afin que les fenêtres clignotantes subséquentes ne vous dérangent pas.

2
sevenkul