なぜ M3U8 を AAC に変換するのですか?
.m3u8(UTF-8 M3U プレイリスト / HLS マニフェスト)は、セグメントの URL またはローカルファイルパスをリストしたテキストファイルです。実際のオーディオは .ts または .m4s セグメントファイル内に存在します。HLS オーディオは非常に一般的に AAC(Advanced Audio Coding)でエンコードされているため、オフライン再生やアーカイブのために .aac として抽出するのが自然なターゲットとなります。
M3U8 から AAC への変換方法
ffmpeg FREE
ffmpeg -i URL -vn -acodec copy output.aac を実行してセグメントをダウンロードし、オーディオを抽出します。ソースが AAC でない場合は -acodec copy を除外してください。
yt-dlp FREE
yt-dlp -x --audio-format aac URL を実行してすべてのセグメントを取得、マージし、.aac として保存します。
M3U8 を変換するプログラム
これらの形式について
M3U8ファイルは、トラックのパスやストリームのURLをリスト化したプレーンテキストのプレイリストであり、ファイル自体に音声や動画は含まれません。ローカルのプレイリストやHLSストリームを再生するにはVLCで開いてください。ストリーミング動画を単一のMP4として保存するには、ストリームURLに対してyt-dlpまたはFFmpegを使用します。
.M3U8 の詳細を開く →AAC ファイルには、Advanced Audio Coding でエンコードされた非可逆圧縮オーディオが含まれています。これは、iTunes、YouTube、デジタル放送のデフォルトとして MP3 に代わったフォーマットです。VLC、Windows 10/11 の Windows Media Player、Apple…
.AAC の詳細を開く →品質と注意点
.m3u8ファイル自体にはオーディオは含まれていません。実際のオーディオは、ffmpeg や yt-dlp が自動的に取得する.tsまたは.m4sセグメントファイルにあります。- 一部の HLS ストリームは、時間制限のあるトークン署名付きセグメント URL を使用しています。M3U8 を以前にキャプチャし、トークンが期限切れになっている場合は、403 エラーが発生するため、新しい URL が必要になります。
- 暗号化された HLS ストリーム(
#EXT-X-KEYとマークされているもの)には復号キーが必要です。キーの URL にアクセス可能であれば、ffmpeg は標準の AES-128 を自動的に処理します。
よくある質問
ソースオーディオが AAC でない場合はどうなりますか?
-acodec copy を外すと、ffmpeg が自動的に AAC に再エンコードします。これにより、わずかな画質低下が発生します。ローカルの M3U8 プレイリストを AAC に変換できますか?
変換はロスレス(無劣化)ですか?
-acodec copy を使用する場合、再エンコードは行われず、品質は完全に維持されます。出力ファイルが再生できないのはなぜですか?
-acodec copy を削除して、ffmpeg にオーディオを自動的に検出および再エンコードさせてください。