web-dev-qa-db-ja.com

HLS(m3u8)をMP4に変換する

HLSストリームからMP4ファイルを作成する方法についてアドバイスすることはできますか(通常は逆)。私はm3u8を持っていると言う-FFMPEGまたは他のツールを使用して単一のMP4を取得する簡単な方法はありますか?

19
orcaman

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

AACオーディオの場合は、ビットststreamフィルターも追加する必要があります。 (指摘してくれて@aergistalに感謝)

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

34
szatmary

HLSをMP4に変換する別の方法は、VLCプレーヤーを使用することです。コマンドラインだけでなく、インターフェースを介して変換を行うことができます。単純に、次の行を含む_.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
_

このバッチスクリプトは、2つのファイルを次々に変換します。これらのコマンドをcmd.exeに貼り付けた場合、すべての変換が同時に開始されます。


次に、コードを説明します。 _chcp 65001_行を使用すると、宛先ファイル名にUnicode文字を使用できます。次の行は4つの部分で構成されています。

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

これがVLCプレーヤーのパスです。 VLCプレーヤーをインストールした後、これを確認してください。

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

これはサンプルのHLSファイルです。このリンクを二重引用符で囲むとどうなるかわかりません。

  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'}"_

これは、変換のためのVLCコマンドです。 VLCドキュメント でさらにオプションを見つけることができます

  1. _vlc://quit_

これにより、VLCウィンドウが閉じます。タスクバーをVLCウィンドウで埋めたくない場合に役立ちます。プレイリストに変換順序をスタックする方法はありません。 VLCを実行し、変換を行い、ウィンドウを閉じる必要があります。 VLCをサイレントモードで実行することもできます。または、VLCウィンドウを画面の右下にドラッグして、サブウィンドウの点滅ウィンドウが邪魔にならないようにすることができます。

2
sevenkul