HandBrake を使って動画をWeb用に軽量化・最適化

HandBrake という無料のソフト(video transcoder)を使って動画ファイルを Web 用に最適化・軽量化(圧縮)する方法についての覚書です。

更新日:2023年06月02日

作成日:2023年4月30日

関連ページ:HTML video タグで動画埋め込み(背景動画)

動画の軽量化

動画のファイルサイズが大きいと読み込みに時間がかかるため、動画ファイルを圧縮してファイルサイズを小さくする(軽量化・最適化する)必要があります。

動画を圧縮するツールはいろいろありますが、ここでは HandBrake という無料のソフト(オープンソースのビデオトランスコーダー)を使用します。

HandBrake は無料で使用できる動画変換・圧縮ツールで、動画ファイルを軽量化したり、動画形式を mp4 や webm など色々な形式に変換するなど様々なことができます。

HandBrake は Windows や Mac、Linux などマルチプラットフォームに対応しています。以下は Mac での例ですが、使い方は基本的にどの OS でも同じだと思います。

また、以下で利用している HandBrake のバージョンは 1.6.1 です。

HandBrake のダウンロード

HandBrake のページ(https://handbrake.fr)の Download HandBrake のリンクボタンをクリックしてダウンロードすることができます。

または、Downloads ページから選択してダウンロードすることもできます。

注意

https://handbrake.fr が HandBrake をダウンロードできる唯一の公式サイトです。

※ 非公式のミラーサイトが多数あり、そのほとんどが正規バージョンの HandBrake を提供していますが、そうでない場合もあるので注意が必要です。

Checksums

ダウンロードしたファイルの整合性を確認するための Checksums が以下の GitHub で公開されています。

https://github.com/HandBrake/HandBrake/wiki/Checksums

Mac の場合、ターミナルで以下のコマンドを実行するとダウンロードしたファイルのチェックサムを確認することができます。shasum -a 256 は SHA-2 のハッシュ値を取得するコマンドで、ダウンロードしたファイルに破損や改変がないことを確認することができます。

shasum -a 256 ~/Downloads/HandBrake-*.dmg

または、以下でも同じです(HandBrake-* は HandBrake- から始まるファイルを表します)。

% cd ~/Downloads  return /// Downloads ディレクトリへ移動

% shasum -a 256 HandBrake-*  return // ファイルのチェックサムを確認(以下出力例)
3af46b84c1101f1a7c098581c1070d47263563c49f327c3e4eb28040885e6863  HandBrake-1.6.1.dmg

上記の例の場合、3af46b84c1101f1a7c098581c1070d47263563c49f327c3e4eb28040885e6863 がハッシュ値で Checksums のページの Version (1.6.1) の HandBrake-1.6.1.dmg の値と同じなので問題ないことになります。

Checksums のページにはファイルごとのチェックサムの値や OS ごとの確認方法が掲載されています。

インストール

Mac の場合、ダウンロードしたディスクイメージのファイル HandBrake-1.6.1.dmg をダブルクリックすると以下が開くので、HandBrake のアイコンを アプリケーションにドラッグすればインストール完了です。

ディスクイメージはゴミ箱にドラッグして取り出すことができます。

Windows などでのインストール方法については以下のページで確認できます。

Downloading and installing HandBrake

HandBrake で変換&軽量化

以下は HandBrake を使って動画ファイルを Web 用に軽量化する例です。

設定する値やオプションの選択は動画の内容により異なるので、動画に合わせて調整する必要があります。

オプション項目の説明

HandBrake の画面でオプション項目にマウスオーバーするとその説明が表示されます。

項目の意味がわからない場合に利用すると便利です。

以下は「ウェブ用に最適化」という項目の上にマウスオーバーして、説明を表示させている例です。

HandBrake を起動

HandBrake を起動すると、動画ファイルを選択する画面が表示されるので対象のファイルを選択します。

以下のように「概要」タブが選択された状態で開きます。別のファイルを開くには「ソースを開く」をクリックしてファイルを選択します。

また、初期状態では「Fast 1080p30」というデフォルトのプリセットが選択されていますが、そのまま設定することができます。後で必要に応じて設定した内容を新規にプリセットとして保存したり、保存せず終了することができます。

概要タブでの設定

「形式」のプルダウンで動画ファイル形式(MP4 または WebM)を選択します。

以下にチェックを入れます。

  • 一般メタデータをパススルー
  • ウェブ用に最適化
  • A/V 開始地点の同期

オプション 説明
形式 動画ファイルフォーマットを選択(最も一般的なのは MP4)。
  • MP4:多くのブラウザでサポートされているファイル形式
  • WebM:Google が開発した Web 専用のファイル形式
一般メタデータをパススルー ソースからメタデータをコピーして出力
ウェブ用に最適化 MP4 ファイルをプログレッシブダウンロード用に最適化
A/V 開始地点の同期 Audio Video の開始地点を同期する(音ズレを防止するためのオプション)

映像タブ

映像タブで圧縮の設定を行います。

圧縮の設定は「品質」の「固定品質」または「平均ビットレート」で調整する2つの方法があります。

ビデオエンコーダー

「ビデオエンコーダー」では、概要タブで選択した動画ファイルフォーマット(形式)により以下を選択します。

形式に MP4 を選択した場合: H.264(x264) を選択

形式に WebM を選択した場合:VP8 または VP9 を選択

フレームレート

「フレームレート(FPS)」は「ソースと同じ」を選択します。

「ソースと同じ」を選択すると、その下に「可変フレームレート」が表示されるので、「可変フレームレート」を選択します。

可変フレームレートは固定フレームレートに比べてファイルサイズを小さくできる可能性がありますが、音声とずれる場合などでは固定フレームレートを選択します。

平均ビットレートで圧縮する場合

品質の「平均ビットレート(kbps)」を選択します。

平均ビットレートを数値で指定します(初期値は6000)。1200〜500 前後を目安に調整します。

数値が小さいほどファイルサイズは小さくなりますが、荒れてしまう場合は数値を上げます。

また、「2 パスエンコード」にはチェックを入れ、「1 パス目高速化」はチェックを外します。

オプション 説明
2パスエンコード エンコードする前に一度、ファイル全体をスキャンして必要なビットレートを確認してからエンコードする方法。コンテンツをスキャンしてからエンコードするため、時間はかかるが品質が高くなる
1パス目高速化 ファイル内容を予測しながらエンコードする方法。コンテンツのスキャンがなく、予測しながら変換作業を行うため2 パスエンコードに比べ作業時間は短縮されるが品質が低下する可能性がある

エンコーダーオプション

エンコーダーオプションでは以下を設定できます。

オプション 説明
プリセット

圧縮率とエンコード速度のバランスを取るためのエンコーダー設定を調整

左に行くほどエンコードは早くなりますが、画質は悪くなります。

右に行くほど画質が向上しますが、書き出しに時間がかかるようになります。

真ん中より右(右に近い方)が良いようです。
チューニング ビデオエンコーダーのチューニング。わからない場合は none を選択。
プロファイル ビデオエンコーダーのプロファイル。わからない場合は auto を選択。
Level ビデオエンコーダーのレベル。わからない場合は auto を選択。
高速デコード ビデオ再生中の CPU の使用率を減らす設定。チェックを入れない

以下は平均ビットレートで圧縮する場合の設定例です。

固定品質で圧縮する場合

品質の「固定品質」を選択します。その他の設定は平均ビットレートで圧縮する場合と同じです。

「固定品質」の場合、映像の全てを通して同じ品質を保つようにビットレートが調整されます。

品質スライダーを右にする(値を小さくする)と品質が上がり、左にすると下ります(初期値は22)。

以下は固定品質で圧縮する場合の設定例です。

※ 可変フレームレートと固定フレームレートのどちらを選択するかや、平均ビットレートや固定品質の値等は動画の内容や音声のある・なしなどにより選択するオプションや最適な組み合わせが異なります。そのためそれぞれの動画に合わせて調整する必要があります。

音声タブ

音声タブでは出力する音声のコーデックなどの設定ができます。

背景に使う動画の場合など、音声情報が不要な場合はトラックの項目で「なし」に設定します。

書き出し

変換後のファイル名と出力先を指定します。出力先は右下の「開く」をクリックして出力先のフォルダを指定し、左下の「名前を付けて保存」にファイル名を指定します。

「開始」をクリックして書き出します。

書き出しが完了したら再生して確認します。また、「新しいプリセットを保存」をクリックして設定内容をプリセットとして保存することができます。

プリセットとして保存

設定した内容をプリセットとして保存しておくことで、後で同じ設定で書き出すことができます。

プリセットを保存するにはプリセットの選択の右側にある「新しいプリセットを保存」をクリックするか、プリセットメニューから「新規プリセット」を選択します。

以下のようなダイアログが開くので、プリセット名を入力して「追加」をクリックして保存します。

カテゴリはデフォルトでは「マイプリセット」になっていますが、必要に応じて新規カテゴリを作成することもできます。

プリセットが保存されます。

プリセットを編集

プリセットを編集するには編集対象のプリセットを選択しておきます。そしてプリセットを編集して「プリセット」メニューから「保存」を選択して変更を保存します。

また、「プリセット」メニューから「名前変更」や「削除」、「既定にする」などの操作ができます。

HandBrake のドキュメントは以下で確認できます。

HandBrake Documentation

サンプル(軽量化の例)

以下は 25.5MB の MOV 形式の動画ファイル(再生時間:26秒)を「平均ビットレート」の調整と「固定品質」の調整で MP4 形式の動画ファイルに変換した例です。

平均ビットレート(値 600)で圧縮:ファイルサイズ 1.9MB(7.5% に縮小)

固定品質(値 34)で圧縮:ファイルサイズ 2.2MB(8.6% に縮小)