ビデオカードの動画再生支援機能

ビデオカードの動画再生支援機能

2000年以前の古いパソコンでなければDVDビデオなどの再生が重たいということはないと思いますが、Blu-rayやストリーミング(Youtubeやニコニコ動画等)で使われているH.264は、高圧縮であるため再生時にCPUパワーを必要とします。AMD(旧ATI)のRadeon HD 4000シリーズやnVidiaのGeForce8400、IntelのチップセットのオンボードビデオのG41からH.264(x264)の再生支援機能が付いていますが、この機能は再生ソフトも対応していないと再生支援が有効になりません。Windows 7のWindows Media Player12は、最初から再生支援機能に対応してますが、mp4のチャプターなどに対応していません。Windows XPの場合は、mp4の再生のためにソフトウェアをインストールする必要があります。

ページ中の画像のクリックすると拡大します。

Media Player Classic - Home Cinemaを使う

Media Player Classic - Home Cinemaは、バージョン1.7からLAV Filtersを組み込まれました。Media Player Classic - Home Cinemaだけで日本語(UTF-8)のチャプター名の文字化けが起こらず、インタレース保持のH.264もスムーズに再生されます。

Media Player Classic - Home Cinemaをダウンロードしてインストールします。インストールしたら、Media Player Classic - Home Cinemaを起動し、上のメニュにある表示のオプションを開きます。

メニュ

mpeg4avcをMedia Player Classic - Home Cinemaですぐに再生できるようにファイルンを関連付けする場合は、表示のオプションを開き、プレーヤーの関連付けをクリックし、MPEG4 file (mp4 m4v mp4v mpv4 hdmov 3gp 3gpp)にチェックを入れてください。

関連付け

次に内臓フィルターを開きます。

内蔵フィルター

Internal LAV Filters settingsのVideo decordersを開き、Hardware Accelarationを使用しているGPUに最適化された設定を選択します。私の環境では、AMDのRadeon HD 7750をDXVA2、IntelのCeleron G1620をIntel QuickSynck DXVA2(copy-back)に設定しました。Celeronは、DXVA2 (native)に設定するとハードウェアのインタレース解除ができなくなるようです。Intel QuickSynckだと紙芝居のようなコマ落ちをすることがありました。

LAV Filters Audio Settings

再生環境にステレオスピーカーを使っている場合は、Audio DecorderのMixingを開き、Enable Mixingにチェックを入れて、Output Speaker ConfigurrationをStereoに設定します。

LAV Filters Audio Settings

次に内蔵フィルターの音声切替を開き、「チャンネルマッピングを有効にする」にチェックを入れ、入力スピーカー設定を2に設定します。

Media Player Classic - Home Cinemaの音声切替

再生支援機能の設定とCPU使用率

H.264の再生支援に対応しているRadeon HD 7750と未対応のG31のCPU使用率の比較です。映像を再生していない状態(無負荷状態)では、CPU使用率が0~1%です。コンデジで撮影した1920x1080のH.264の映像を再生した場合、Radeon HD 7750ではDXVA2 (native)またはDXVA2 (copy-back)に設定するとCPU使用率が下がりました。しかし、G31は設定に関わらずCPUの使用率がほとんど同じでした。

H.264の再生支援が有効なGPUでH.264を再生した時のCPU使用率。
(再生環境:Core i5 2500K、Windows 7 Professional、Radeon HD 7750)

  • 無負荷状態
    無負荷状態
  • 再生支援無効
    再生支援無効
  • DXVA2 (native)
    DXVA2
    (native)
  • DXVA2 (copy-back)
    DXVA2
    (copy-back)

H.264の再生支援が無効なGPUでH.264を再生した時のCPU使用率。
(再生環境:Core2Duo E7400、Windows 8.1 Professional、G31オンボードビデオ)

  • 無負荷状態
    無負荷状態
  • 再生支援無効
    再生支援無効
  • DXVA2 (native)
    DXVA2
    (native)
  • DXVA2 (copy-back)
    DXVA2
    (copy-back)

追記

mp4のチャプターをAVIUltのプラグインで設定した場合は、チャプター名がShiftJISになるのでHaali Media Splitterでない文字化けします。しかし、ShiftJISでは扱えない文字があるので、UTF-8と比べると不便な点があると思います。LAVFiltersは、UTF-8のチャプター名は文字化けしません。Haali Media SplitterがALACを使ったmp4に対応していないことを考えると、UTF-8でチャプター名を設定して、Media Player Classic - Home Cinemaで再生するのが無難だと思います。

最近始まった4kの試験方法で採用されているH.265/HEVCは、同じ画質ならH.264/AVCより容量が小さくなると言われているので、映像を転送したり保存する時は便利かもしれません。試しにコンデジで撮影したH.264/AVC(1920x1080 29.97p)の映像をH.265/HEVCへ変換して、MPC^HCで再生負荷を確認してみました。2014年6月23日の時点では、まだGPUの再生支援が対応していないようで、H.265/HEVCのCPU負荷は大きかったです。
(再生環境:Celeron G1620、Windows 8.1 Professional update1、Radeon HD 5450、MPC-HC 64-bit 1.7.5)

  • H.264/AVC再生時
    H.264/AVC再生時
  • H.265/HEVC再生時
    H.265/HEVC再生時

H.265/HEVCへのエンコードは、H.264への変換と比べて少なくとも3倍位時間がかかりました。CPUパワーが無いと再生や変換が厳しそうです。ストリーミングがH.265への移行を表明しているので、再生環境が改善されるのも時間の問題かもしれません。