MPEG-DASH(.mpd)をFFmpegで保存・再生・作成する方法〜【完全攻略】
YxxTxxxやFacebook、Gyaoなどの動画サービスでは、あるライブやストリーミング配信がMPEG-DASHで配信されています。FFmpegを使えば、それらのMPEG-DASHビデオを保存できます。
さて、今回は、MPEG-DASHの基礎知識及び、FFmpegでMPEG-DASHをダウンロード・保存する方法を詳しく説明します。
目次
MPEG-DASHの基礎知識
FFmpegをダウンロードとインストールする
MPEG-DASHをFFmpegで保存する方法
MPEG-DASHをFFmpegで再生する方法
MPEG-DASH(mpdファイル)をFFmpegで作る方法
終わりに
【MPEG-DASH 保存】FFmpegの代替ソフト
VideoProc Converterは使いやすいMPEG-DASH 保存動画保存ソフトです。MPEG-DASH(MPDファイル)ストリーミング配信を保存してMP4やMOV, AVI, MKV, FLVなど動画ファイルに変換できます。MPEG-DASH(MPDファイル)ストリーミングを高画質で録画と保存することもできます。
MPEG-DASHの基礎知識
FFmpegでMPEG-DASHを扱う前に、MPEG-DASHについてを紹介したいです。
MPEG-DASHとは
MPEG-DASH(エムペグ‐ダッシュ)は、国際標準のHTTPストリーミング配信技術です。正式名称はMPEG-DASHですが、DASH(ダッシュ)と呼ばれています。DASH(ダッシュ)は、「Dynamic Adaptive Streaming over HTTP」の略です。
HLS(HTTP Live Streaming)というHTTPストリーミング配信技術を知っていますか?MPEG-DASHもHLS (HTTP Live Streaming)同様、ストリーミング動画のセグメントファイルとプレイリストを用意して配信されています。HLSのプレイリストはM3U8ファイルです。MPEG-DASH のプレイリストは MPD(Media Presentation Description)ですね。
- ✿ 動画を小さなセグメントに分割して配信
- ✿ ライブ配信とオンデマンド配信に対応
- ✿ 任意のエンコード標準を使用可能
- ✿ 動画の品質レベルをを自動的に切換える
MPEG-DASHの特徴
MPEG-DASHを使用するしている動画サービス:YxxTxxx(ライブ配信)、AbemaTV(ライブ配信)、Instagram(インスタライブ)、Facebook(ライブ配信)等々。
FFmpegをダウンロードとインストールする
以下はWindowsで FFmpegをダウンロードとインストールする方法を紹介します。MacやLinuxで FFmpegをダウンロードとインストールしたい場合、こちらへ>>
FFmpegをダウンロードとインストールする方法↓
STEP1.FFmpegの公式サイトにアクセスし、「ダウンロード」をクリックします。
STEP2.パソコンのOSを選択します。ここではWindowsマークをクリックします。
すると、FFmpegのダウンロード先が表示されます。ここでは「Windows builds by BtbN」を選択します。
STEP3.多くのFFmpegバージョンが表示されます。ダウンロードしたいバージョンのzipをクリックしてダウンロードします。(ヒント:できるだけ「ffmpeg-○○○-shared-vulkan.zip」バージョンをダウンロードしないでください。)ここでは、「ffmpeg-N-99880-g8fbcc546b8-win64-gpl-shared.zip」をダウンロードします。
STEP4.ダウンロードしたzipファイルを解凍した後で、フォルダ「ffmpeg-N-99880-g8fbcc546b8-win64-gpl-shared」→「bin」の順にクリックして開いてください。次にアドレスバーをクリックして「bin」のパスをコピーします。
STEP5.「Windows」+「Pause Break」を押し、「システムの詳細設定」→「詳細設定」→「環境変数(N)」→「ユーザー環境変数」にある「Path」を選択→「編集」→「新規」の順にクリックしてください。後は、先ほどコピーした「bin」のパスを貼り付けます。「bin」のパスを追加されたら、「OK」をクリックします。
STEP6.FFmpegのインストールを確認します。確認方法↓
- 「Windows+R」キーを押す→「cmd」と入力する→「Enter」キーを押す→「ffmpeg -version」をコピーしてコマンドプロンプトに貼り付ける→「Enter」キーを押す
で、FFmpegの詳細情報が表示されば、FFmpegが正常にインストールされていることを確認できます!そうすると、MPEG-DASHストリーミングをFFmpegで扱え、ダウンロードや再生、作成すできます!
FFmpegでMPEG-DASHをダウンロード・保存する方法
1. FFmpegでMPEG-DASHをダウンロードして保存する方法
FFmpegでMPEG-DASHをダウンロードする前、MPEG-DASHの「.mpd」ファイルを抽出してください。
MPEG-DASH動画からmpdを抽出する方法↓
- ❶ まずは、FFmpegでダウンロードしたいMPEG-DASH動画の再生ページを開き、「F12」キーを押します。すると、「デベロッパーツール」が表示されます。
- ❷ 「Network」をクリックする→「Search」欄に「mpd」と入力する→「Enter」キーの順に操作してください。
- ❸ MPEG-DASH(mpd)ファイルが右側に表示されます。一番上にあるmpdファイルをクリックし「Name」から「○○○.mpd」を探します。「○○○.mpd」をクリックした後で「Headers」をクリックします。すると、MPEG-DASHビデオのmpd url(https://○○○.mpd)が表示されます。そのmpd urlをコピーします。
FFmpegでMPEG-DASHをダウンロードしたい方は、抽出したmpdファイルをダウンロードするだけでいいです。
FFmpegでMPEG-DASHをダウンロードする方法(FFmpegでmpdをダウンロードする方法)↓
STEP1.MPEG-DASH動画(mpdファイル)の保存場所を指定/作成します。私はFFmpegでダウンロードしたいMPEG-DASH動画を、Eドライブにある「video」というフォルダに保存したいです。
STEP2.フォルダ「video」を開き、アドレスバーに「cmd」と入力してください。入力を完了した後、「Enter」キーを押します。
STEP3.すると、コマンドプロンプトの画面が表示されます。FFmpegを使ってMPEG-DASH(mpd)をダウンロードする場合は、コマンドプロンプトに下記のコードを入力してください。
-
ffmpeg -i "URL" -c copy output.mp4
- MEMO
- ❶「URL」は先ほど取得したmpdのurlです。
- ❷「output」はFFmpegで出力したMPEG-DASHビデオファイルの名称です。お好みで変更出来ますが、名前にスペースを使用しないでください。
- ❸「mp4」はFFmpegで出力したMPEG-DASHビデオファイルの拡張子です。お好みで「mov」や「flv」などのフォーマットに変更出来ます。
【例を取り↓】
-
ffmpeg -i "http://dash.edgesuite.net/adobe/hdworld_dash/HDWorld.mpd" -c copy output.mp4
STEP4.「Enter」キーを押します。すると、FFmpegでMPEG-DASH(MPD)のダウンロード、変換及び保存が開始されます。MPEG-DASHの保存を終了したい場合、「Ctrl+C」キーを押してください。Macの場合は、「Q」キーを押すとMPEG-DASHの保存を終了できます。
FFmpegでMPEG-DASH(MPDファイル)を保存する方法は以上です。でも、FFmpegを使っても、エムペグ‐ダッシュを保存できない場合、保存した動画や音がどうすればいいですか?
次は、FFmpegでMPEG-DASH(MPDファイル)が上手く保存できない場合の原因と対処法を詳しく説明します。
2. FFmpegでMPEG-DASHが保存できない時の原因及び対処法
原因1. ネットの通信速度が遅い
ネットの通信速度が遅いと、ストリーミング配信の保存が上手く進められません。FFmpegでエムペグ‐ダッシュの保存が上手くできないのも当然です。
【対策】FFmpegでMPEG-DASH(MPDファイル)やHLS(M3U8ファイル)などのストリーミング配信・生配信を保存する前に、ネットの回線を安定させて高速化してください。
原因2. お使いのFFmpegが古い
古いバージョンのFFmpegは、MPEG-DASH(MPDファイル)をダウンロードと保存できないことがよく発生します。
【対策】最新のFFmpegをインストールした後で、FFmpegを使い、MPEG-DASH(MPDファイル)を保存してみてください。
原因3. お使いのFFmpegは、「libxml2」をサポートしていない
「libxml2」をサポートしていないFFmpegも、MPEG-DASH(MPDファイル)をダウンロードできません。お使いのFFmpegが「libxml2」をサポートしているかどうか確認してください。
【確認方法】コマンドプロンプト画面に「ffmpeg -version」と入力して「Enter」キーを押します。すると、ffmpegのバージョンについての詳細情報が表示されます。「libxml2」対応のFFmpegの場合は、「○○○ --enable-libxml2 ?○○○」のようなコードが表示されます。「libxml2」対応のFFmpegを使ってください。
原因4. 動画サービスはMPEG-DASHの保存を拒否してしまう
ある動画サービスは、MPEG-DASHなどのストリーミング動画のコンテンツを保存するために、FFmpegからのMPEG-DASHダウンロードを拒否することも多いです。 【対策】他のMPEG-DASH保存ツールを試してみてください。原因5. ダウンロードしたいMPEG-DASHビデオはDRM付きmpdファイル
ほとんどの暗号化されたMPEG-DASHビデオ(mpdファイル)は、FFmpegでうまくダウンロードできません。まあ、今は、暗号化されたMPEG-DASHもますます多くなりますね。【対策】他のMPEG-DASH保存ソフトを使って、MPEG-DASHをダウンロードしてみてください。
【万能の解決法】他のMPEG-DASH保存フリーソフトを使ってMPEG-DASHを保存する
どうしてもMPEG-DASHはFFmpegでダウンロードできない場合、他の動画保存ソフトを使ってみましょう。
ここでは、FFmpegの代わりに、「VideoProc Converter」と「Video Download Helper」、二つのMPEG-DASH保存フリーソフトを使ってMPEG-DASHをダウンロードして保存する方法を詳しく説明します。
まずは、「VideoProc Converter」です。
- ✿ MPD URLを抽出しなくてもMPEG-DASH(MPD)やHLS(M3U8)配信をダウンロードして保存できる
- ✿ ストリーミング配信以外、通常のWeb動画も超高速でダウンロードして保存できる
- ✿ 保存したMPEG-DASH(mpd)動画をMP4やMOV, FLV, MP3, AACなどの形式に変換できる
- ✿ 録画機能が最高!ダウンロードできないMPEG-DASH(mpd)ビデオがあっても、録画機能で保存できる
- ✿ トリミングや結合、倍速変更、エフェクト、GIF作成などの編集機能が手軽に使用できる
VideoProc Converterの特徴
VideoProc Converterのダウンロード↓
FFmpegの代わりに、VideoProc Converterを使ってMPEG-DASH(MPD)を保存する方法↓
STEP1.VideoProc Converterを起動してメイン画面にある「ダウンロード」をクリックします。
STEP2.ダウンロードしたいMPEG-DASH(MPD)動画のリンクをコピーした後で、VideoProc Converter画面の左上にある「ビデオ追加」→「URL貼付け&分析」の順にクリックします。すると、MPEG-DASH(MPD)動画の解析が始まります。解析が完了したら、MPEG-DASH(MPD)動画の解像度や選択して「選ばれた動画をダウンロードする」をクリックします。
- メモ.
- ❶ MPEG-DASH(MPD)動画のリンクが解析できない場合、MPEG-DASH(MPD)動画のmpd urlを抽出してVideoProc Converterで解析してみてください。
- ❷ MPEG-DASH(MPD)動画のリンクでも、mpd urlでもVideoProc Converterで解析できない場合、VideoProc Converterの録画機能を使ってMPEG-DASH(MPD)動画を保存しましょう。「録画」→「画面録画」→「REC」の順にクリックして手軽に行えます。録画を終了したい場合は、VideoProc Converter画面で「STOP」をクリックしてください。
STEP3.「Download now」をクリックすると、FFmpegの代わりに、VideoProc ConverterでMPEG-DASH配信の保存が開始されます。
- メモ.
- MPEG-DASH生配信を保存する時、「Download now」の代わりに、「録画開始」をクリックしてください。生配信の保存を終了したい場合、「録画停止」をクリックするだけでいいです。
- ✿ FirefoxやChromeブラウザで使える拡張機能機能
- ✿ MPD URLを抽出する必要はなく、MPEG-DASH動画を自動的に検出してダウンロードして保存できる
- ✿ MPEG-DASH動画MP4やMOV, AVIなどの形式で保存できる
Video Download Helperの特徴
FFmpegの代わりに、Video Download Helperを使ってMPEG-DASH(MPD)を保存する方法↓
STEP1.Video Download Helperをブラウザに追加した後で、保存したいMPEG-DASH(MPD)動画の再生ページを開きます。
STEP2.Video Download Helperは、MPEG-DASH動画を検出したら、ブラウザの右上にあるVideo Download Helperアイコンがカラーになります。そのアイコンをクリックします。すると、MPEG-DASHのタイトルや解像度などが表示されます。ポインターをダウンロードしたいMPEG-DASH項目に移動させると、「?」が表示されます。「?」をクリックしてください。
STEP3.すると、「クイックダウンロード」「ダウンロード」、「ダウンロードおよび変換」が表示されます。どちらを選択してもMPEG-DASHストリーミング配信を保存できます。ここでは「ダウンロードおよび変換」をおすすめします。保存先と形式を指定できます。
STEP4.MPEG-DASHの保存を終了したい場合は、「青いボタン」をクリックする→表示される進捗状況をクリックするこでよって終了できます。
Video Download Helperには、録画機能が用意されていないので、MPEG-DASHが検出・ダウンロードできない場合、他の録画ツールを使ってください。
で、FFmpegでMPEG-DASHを保存できない時の対処法は以上です。
FFmpegでMPEG-DASHを再生する
FFmpegでMPEG-DASHを再生するには、 MPDファイルの保存先のアドレスバーに「cmd」と入力して「Enter」キーを押します。コマンドプロンプトがされるので、下記のコードをコマンドプロンプトに入力して「Enter」キーで起動します。
-
ffplay -i ○○○.mpd
すると、FFmpegがMPEG-DASH(MPDファイル)を読み込めて再生できます。
FFmpegでMPEG-DASH(MPDファイル)を作る
MPDファイルの保存先ののアドレスバーに「cmd」と入力して「Enter」キーを押してコマンドプロンプトを起動します。
FFmpegでMPEG-DASH(MPDファイル)を作る基本コマンド↓
-
ffmpeg -i input.mp4 -c copy -f dash index.mpd
- メモ.
- 「input.mp4」 と「index」をお好みで変更できます。
自分の用途に合って、もっとのコマンドを基本コマンドに追加できます。例えば、
-
-adaptation_sets
-
-window_size
-
-min_seg_duration
等々・・・
詳しくは、FFmpegの公式サイトにアクセスして「DASH」に関する公式ドキュメントを読んでください。
終わりに
では、今回のFFmpegでMPEG-DASH(MPDファイル)をダウンロード・保存する方法、FFmpegでMPEG-DASHを保存できない時の対処法、FFmpegでMPEG-DASH(MPDファイル)を再生する方法、FFmpegでMPEG-DASH(MPDファイル)を作る方法をこれで終わります。
まあ、FFmpegでMPEG-DASHを扱うのは初心者に難しいですね。初心者は、MPEG-DASH(MPDファイル)を保存する場合は、やはり、「VideoProc Converter」や「Video Download Helper」を使ったほうがいいですね。
- @ 「私的利用」「再配布しない」「広告を押さない」ということを忘れないで利用してください!!
- A 権利者の許可なく配信映像を撮影・録音・録画・ダウンロードして公衆送信することは、著作権侵害となるおそれがありますので、撮影・録音・録画・ダウンロードを行う前に、動画配信サービスの利用規約をご了承ください。