web-dev-qa-db-ja.com

M3U8からMP4へのファイル変換?

M3U8ビデオファイルはMP4に変換できますか? M3U8ファイルは実際には1つのフォルダ内に多数の小さなファイルが含まれているオーディオ再生リストなので、これを実行できるファイルコンバータを見つけることはできませんでした。

21
Rick Jones

あなたはこれを行うためにffmpegを使用することができます...

これが一例です。

ffmpeg -i "http://Host/folder/file.m3u8" -bsf:a aac_adtstoasc -vcodec copy -c copy -crf 50 file.mp4
31
John E

M3Uは前述のようにプレイリストファイルです。 VLCプレーヤーを使ってそれらを開き、ウィザード(ファイル→ストリーミング/トランスコーディングウィザード)を使って変換/トランスコードします。

メモ帳でM3Uを開くと、ファイルが実際に保存されている場所のURLが表示されます。

3
askmematt

@Daniel Bが指摘したように、 M3Uはプレイリストフォーマットです 。実際のメディアへのリンクを含む非常に小さなファイルです。 M3U8 はUnicode版です。つまり、あらゆる言語の文字や記号によるリンクをサポートしています。

これはプレーンテキストファイルなので、メモ帳または他の単純なテキストエディタでそれを開き、そこからリンクをコピーしてから、各ビデオをブラウザで手動でダウンロードすることができます。

それがビデオへの直接のHTTP(S)リンクではなく、RTMPのようなストリーミング技術であるなら、それを記録するために特別なプログラムをダウンロードする必要があるかもしれません。たとえば、 これはRTMPストリームを保存するために使用されます

1
user33758

私は最近ビデオファイルxxxx-ad。m3u8をダウンロードし、同じ問題を解決しようとしました(Apowersoftでオンラインストリームからダウンロードしました)。ファイルサイズはわずか201bで、プレイするにはインターネット接続が必要でした。

私はformatfactoryを使いました。最初はこのファイルをFFで開くことができませんでした。開くボタンは使えません。

しかし、ファイルをポイントしてクリックしてFFウィンドウに移動すると、それを追加してフォーマットを選択してリッピングすることができます。結果はオフラインで再生できる古典的なビデオファイルです。 mp3のようなオーディオファイルだけが欲しい場合も同様です。

楽しい

1
user520477

youtube-dlを使ってm3u8のURLからビデオをダウンロードすることもできます。

$ 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)
0
SebMa

少なくとも最近のバージョンのインターネットダウンロードマネージャーでは、.tsではなく.m3u8ファイルを取得する必要があります(.m3u8リンクをコピーして、それをダウンロードとして手動で追加する場合を除く0)。 HLS(.m3u8)ストリームを適切にダウンロードします。一部のプレーヤーでそのファイルを直接再生できます。.mp4ファイルが必要な場合は、My MP4Box GUI(またはFFmpeg、JohnEの回答を参照)リンクの代わりに.tsの後に-iファイルのパスを置くだけです)。

0
nyuszika7h