Ubuntu 9.10 にアップグレードして、ふと mplayer の vc オプションをみていみたら、VDPAU 対応の codec が入っていたので早速試してみました。
VDPAU というのは NVIDIA からでている動画再生支援技術のひとつです。 動画再生時に GPU の機能をつかって CPU の負荷をさげるというまっことにありがたい機能です。 🙂
NVIDIA の GPU と Linux ドライバのインストール、あと対応ソフトがあれば利用可能です。 とりあえずお使いの mplayer が対応しているかは以下のようにすると分かります。
hiromasa@hiromasa-cube:~/デスクトップ$ mplayer -vc help | grep vdpau
ffmpeg12vdpau ffmpeg working FFmpeg MPEG-1/2 (VDPAU) [mpegvideo_vdpau]
ffwmv3vdpau ffmpeg problems FFmpeg WMV3/WMV9 (VDPAU) [wmv3_vdpau]
ffvc1vdpau ffmpeg problems FFmpeg WVC1 (VDPAU) [vc1_vdpau]
ffh264vdpau ffmpeg working FFmpeg H.264 (VDPAU) [h2
VDPAU の文字がみえたらばんざい。 そのまま使うことができます。
動画再生支援は特に HD 動画で力を発揮します。 HD 動画なんかもっていないんじゃという方は以下から 1080 な wmv をダウンロードできます。 研究で再生してみましょう。 😛
Microsoft Windows Media Player : WMV 高精細コンテンツ ショーケース
Windows Media Audio/Video 9 シリーズは、最大解像度 1080 ピクセルの高精細 (HD) ビデオおよびマルチチャネル音声を実現する革新的なコーデックのセットです。体験版クリップをダウンロードして、高精細ビデオを体験してください。超高品質をお届けするこの体験版ビデオクリップは、1280 x 720 (720 p) または 1920 x 1080 (1080 p) のいずれかで、毎秒 24 フレーム (fps) でエンコードされています (解像度はクリップによって異なります)。
というわけで早速再生です。
とりあえず VDPAU 使わない版。
$ mplayer Coral_Reef_Adventure_1080.wmv
4コアの CPU を使っていますが、各コアが順番に高負荷になっているのが分かります。
では次は、VDPAU 使う版。 リサイズなどのフィルター系と codec そのものに VDPAU を適応します。
$ mplayer -vo vdpau -vc ffwmv3vdpau vdpau Coral_Reef_Adventure_1080.wmv
Selected video codec: [ffwmv3vdpau] vfm: ffmpeg (FFmpeg WMV3/WMV9 (VDPAU))
VO: [vdpau] 1440x1080 => 1920x1080 WMV3 VDPAU acceleration
そもそもリソースメータの表示が重かったりするわけですが、平均して相当負荷が下がっているのが分かります。 🙂
うちの NVIDIA はオンボード内蔵の遅いやつですが、それでもこれだけの効果があるのは強力ですね。 Atom + ION 機なんかでもおそらく実用的に HD 動画が再生できると思います。
ということで、気分を良くして Ubuntu 9.10 の各種 mplayer の GUI フロントエンドにこのオプションを使うように設定してみたりするのですが、どうも動作しませんでした(笑)
smplayer は出力を vdpau にすると codec も自動選択してくれるようにみえました。 GNOME Mplayer の場合はそういう機能がなさそうなので、動画にあわせてオプションを追加。。 ちょいめんどう。
これでいいと思うのですが、動画が表示されません。 ぱらみですが、 –wid でウインドウハンドルを指定して表示するのが –vo vdpau だと落ちてしまっているようなな気がします。 もし同様に落ちた方がいましたら、 smplayer の mplayer ログでみれると思いますので研究を。。 🙂
・・・とおもったらこちらの方法で再生できました! (追記)
Ubuntu9.10beta + nVidia IOn + VDPAU + MPlayer – j9_1031 の日記
劇的な効果ですね、これ。 でも、速いCPUがあれば、こんな苦労は必要ないけどね。
さて、くだけた話、動画再生で 4コアの CPU の1コア もってかれるくらいは痛くもかゆくもないしもともと CPU も速いのでこの機械だとあまり恩恵もないのですが、これがネットブックとかだとかなり有用ですね。 ION 機でもためしてみたいデス。
mplayer -vo vdpau -vc ffmpeg12vdpau,ffh264vdpau,ffvc1vdpau,ffwmv3vdpau,ffodivxvdpau,
“-vc”オプションで優先的に使いたいデコーダとしてVDPAUのモジュールを指定して、最後を”,”にすると明示したデコーダを適用できないときは自動的に他のを使って再生してくれます。
ただ、自分で試したときはffodivxvdpauは不調でした。
MPEG4系はDivX,XviD,MS-MPEG4、..といろいろあって、fourCCも何種類もあって乱立してる状態なので、合うのと合わないのとあるんでしょうね。
storm さん、こんにちは。 🙂
おお、-vc オプションの最後カンマは知りませんでした! 早速設定してみます。
ぼくも ffwmv3vdpau で再生できないファイルがありました。こちらはまだ Problem となっているのでこれからそうですね。 動画は難しいですね。。
コメントありがとうございました。 😀