ffmpegを使用してDASH動画をダウンロードする

getvyはDASHストリーム用のすぐに実行可能なffmpegコマンドを生成します。ここでは、ffmpegのインストール方法と使用方法について説明します。

ffmpegとは?

ffmpegは、ほぼすべてのオーディオおよびビデオ形式をデコード、エンコード、トランスコード、多重化(mux)、分離(demux)、ストリーミング、フィルタリング、および再生できる、無料のオープンソースのコマンドラインツールです。世界中でプロフェッショナルからホビイストまで幅広く使用されており、現存する最も強力なマルチメディア処理ツールとして広く認識されています。getvyは、ブラウザ内でのHLS変換にWebAssembly版(ffmpeg.wasm)を使用し、DASHストリーム用には最大の速度と互換性を得るために、ターミナルで実行するネイティブのffmpegコマンドを生成します。

ffmpegのインストール

Windows

最も簡単な方法は、Winget(Windows 11に標準搭載)を使用することです:

winget install ffmpeg

または、ffmpeg.org/download.html からビルド済みのバイナリをダウンロードして解凍し、binフォルダをシステムの環境変数(PATH)に追加します。

macOS
brew install ffmpeg

Homebrew(brew.sh)が必要です。まだインストールしていない場合は、先にHomebrewをインストールしてください。

Ubuntu / Debian Linux
sudo apt update && sudo apt install ffmpeg

getvyで生成されたコマンドの使用方法

getvyがDASH(.mpd)ストリームを検出すると、ダウンロードページにはブラウザ内ダウンロードの代わりにffmpegコマンドをコピーボタンが表示されます。生成されるコマンドは以下のようになります:

ffmpeg -i "https://example.com/stream.mpd" -c copy output.mp4
  1. getvyのffmpegコマンドをコピーボタンをクリックします。
  2. ターミナル(Windowsの場合はコマンドプロンプトまたはPowerShell、Mac/Linuxの場合はターミナル)を開きます。
  3. コマンドを貼り付けてEnterキーを押します。ffmpegがダウンロードを行い、現在のディレクトリにストリームをoutput.mp4として保存(多重化)します。
  4. 特定の場所に保存するには、output.mp4をフルパス(例:C:\Users\YourName\Videos\video.mp4)に変更します。

なぜDASHにはブラウザ内変換ではなくffmpegを使用するのですか?

DASHストリームは、多くの場合、ビデオとオーディオのトラックが個別のストリームに分かれており、フラグメント化されたMP4コンテナを使用しています。これらをブラウザのサンドボックス環境内で正しく結合することは複雑で低速です。お使いのコンピュータ上のネイティブなffmpegは、最適化されたC言語コードを使用してこれを直接処理するため、長時間の動画や高ビットレートの動画において、圧倒的に高速で信頼性が高くなります。

よく使われるffmpegのオプション

フラグ意味
-i入力ファイルまたはURL
-c copy再エンコードなしでストリームをコピー(高速)
-c:v libx264ビデオをH.264で再エンコード
-ss 00:01:301分30秒から開始
-t 00:05:00出力時間を5分に制限
getvyをインストール — 無料