【FFmpeg】H.265/HEVCで動画をエンコードする方法【H.264と比較】

HDD内に山積している動画ファイル(TS、MP4等)と何とか圧縮したいと思って、FFmpegを使用して、H.265/HEVCコーデックで再エンコードを試みてみました。

結果を先に言うと、画質を保ったままファイルサイズを半分以下にする事が可能でした。

※H.264→H.265の場合はファイルサイズを半分程度、MPEG2→H.265の場合はファイルサイズが1/4くらい。

スポンサードリンク

H.265/HEVCの特徴

h265

H.265/HEVCは、今現在様々なストリーミングサイト(youtube、ニコニコ等)で使用されている「H.264/MPEG-4 AVC」の後継コーデックです。

圧縮率は、「H.264/MPEG-4 AVC」の半分のファイルサイズ・ビットレートで同等の画質を実現出来るとされています。

H.264とH.265を比較した画像(文字の部分とかかなり違います)
s-2015-11-25_14h09_08

というわけで理論上、HDD内に保存してある動画を全てH.265/HEVCで動画を再エンコードしまくれば、HDD容量の大幅削減が期待出来ます。

FFmpegとは?

ffmpeg_logo

FFmpegは、様々な動画のエンコード・デコードをする事が出来るUNIX生まれのフリーのオープンソースソフトです。

youtubeの中枢となるシステムにもFFmpegが使用されていたり、かなり有名なソフトです。

基本的にCUI(コマンドライン)で操作するので、Windowsならコマンドプロンプト画面から操作する事になります。

FFmpegのダウンロード・インストール

  1. FFmpegのサイトからWindows版でビルドされた本体ファイルをダウンロードする
    2016-02-13_00h18_20

    • 64bitOSの人は64bit版を、32bitOSの人は32bit版をダウンロードします(Staticって書いてるファイル)
  2. ファイルを解凍する
  3. 解凍したフォルダを好きな場所に移動させる(移動先がインストールフォルダとなります)

以上で導入は終了です。

FFmpegを使ってH.265/HEVCにエンコードする

FFmpegを使用してH.265/HEVCコーデックでエンコードする手順としては以下のようになります。

  1. 解凍したFFmpegフォルダの中で「SHIFT」キーを押しながら「右クリック」し、「コマンドウィンドウをここで開く」を選択する
  2. 開いたウィンドウにて以下の様にコマンドを打ち「Enter」キーを押す
    ffmpeg_h265

    • ffmpeg -i ○○.mp4 -vcodec libx265 △△.mp4
      • -i ○○.mp4:元動画を指定します
      • -vcodec libx265:エンコードに使用する動画コーデックを指定します
      • △△.mp4:出力するファイル名を指定します
  3. するとエンコードが開始されるので終了するのを待つ
    ffmpeg_h265_エンコード開始

以上でエンコード作業は終了です。

※FFmpegは他にも数えきれないくらいのエンコードオプションが有るので色々試してみてください(ビットレート指定したり、音声のコーデックも指定したり、フレームレートを指定したりとほぼ何でも出来ます)

H.264とH.265の比較

全く同じ動画をエンコードしてみて、結果がどれくらい違うか簡単に検証してみました。

  • エンコ動画スペック
    • 長さ:1分23秒
    • fps:30
    • 解像度:1280×720
    • 動画種類:実写
  • エンコしたPCのスペック
    • CPU:core i7 2600k
    • メモリ:12GB
H.264/MPEG-4 AVC(元動画 H.265/HEVC(変換後)
ファイルサイズ 27.0MB 8.0MB
映像ビットレート 2498kbps 648kbps
エンコード時間 約1分 約2分40秒
再生負荷 9~10%くらい 9~12%くらい
画質  s-h264_画質 s-h265_画質

感想を箇条書きすると、

  • ファイルサイズはH265のがめちゃ小さくなる
  • エンコ時間はH264と比較して2倍以上掛かってしまう
  • 再生負荷は若干H265のが高い
  • 画質はどちらも甲乙付けれないレベル(むしろH265のが若干勝ってるかも?)
    H264を拡大したもの H265を拡大したもの
    h264_画質_拡大 h265_画質_拡大

いやー、さすが最先端コーデックですね。圧縮率・画質共に申し分無いです。エンコード速度さえ早ければ言うとこ無しと言った所です。

この表に従うと、1時間の動画をエンコした場合、H.265の動画は「346MB」、H.264の動画は「1.1GB」くらいになるっぽいです。

ビットレートに対しての再生負荷がかなり高めですが、まぁ当たり前っちゃ当たり前ですね。

将来的には、ニコニコやyoutubeなどの大手ストリーミングサイトでも対応していく予定のようなので、今のうちに自分が保存している動画を順次エンコしていくのも有りかもしれないです。(youtubeはVPコーデック系をゴリ推ししてるみたいだから対応はしないかもしれないですけど)

AviUtlでもx265guiExというH265用の出力プラグインが試作されてたりするし、H265が主流になる日も近いかもしれませんね。

このページの情報は以上です。

関連ページ:エンコードとは?コーデックとMuxerの関係について

関連ページ:動画コーデックの種類と違い(H.264・VP9・MPEG・Xvid・DivX・WMV等)【比較】

スポンサーリンク