ウィモバの日々

Windowsをモバイルする…それがウィモバ(仮)。手のひら端末が好きです

LinuxネットブックでCrystal HD Video Decoder「BCM70015」を使用してフルHD動画を再生する

相変わらず小型のネットブックで色々とググってたらたまに出てくる「BCM70015」。
ふと気になっていったいどういうものか調べてみたら、
なんとH264の動画再生をサポートしてくれるハードウェアデコーダらしい。
http://saiseiya.com/?pid=35829122
ネットブックAtomプロセッサでは貧弱な動画再生能力しかないけど、これを使えばフルHD動画もサクサク!?
2009年発売で、発売された当時はそれなりに盛り上がってたブツみたいだねー。
↑のサイトの動作機種をみるとMini PCI ExpressはEeePC901にも対応しているというので、
面白そうなのでつい買ってみたから以下に忘備録として残しておく。

  • EeePC901にBCM70015を取り付けてUSB無線LANを使えるようにしておく

とりあえず上のサイトで買うよりアマゾンのほうが安かったから
アマゾンでBCM70015をポチってみたら、こんなのが届いた。
まさかの箱もなくドライバCDとかもなくてちょっとビビった^^;
ちゃんとしたパッケージされていないからその分安かったのかな・・・?


ところでEeePC901にMini PCI Expressスロットなんてあったの・・・?と思ってたら、
スロットは実在するけど既存の無線LANカードで埋まってるとのこと。
電源バッテリを外して、裏蓋を外してみたら、あったよ!無線LANカードスロットが!
無線LANカードスロットは、(一番右に)ありまぁす!

左側はSSDとかメモリとか。

余談だけど、EeePCはほんといい設計だね。裏蓋を外すだけでプライマリSSDとメモリと
mini PCIeスロットを交換出来るなんて・・・実際ユーザフレンドリな。


ということで既存の無線LANカードを外して、BCM70015を取り付けた。

BCM70015は無線LANカードより小さいから金属のプレートでサイズ調整してるんだなー、なるほど。
無線LANカードに接続されていた2本の線は不要なので、絶縁テープなどを巻いておいたほうが安全っぽい!

入れ替えたことで内蔵の無線LANが使えなくなったので、こちらのエントリを参考にしてUSBの無線LANカードを使えるようにしておく。
http://d.hatena.ne.jp/rideonshooting/20141110/1415637481

入れ替えたら裏蓋をネジ止めして、バッテリと電源をつけてLinuxを立ち上げよう。
シェルでこのコマンドを実行してデバイスが認識しているかを確認しておく。
# lspci -v
01:00.0 Multimedia controller: Broadcom Corporation BCM70015 Video Decoder [Crystal HD]
Subsystem: Broadcom Corporation BCM70015 Video Decoder [Crystal HD]
Physical Slot: eeepc-wifi
Flags: bus master, fast devsel, latency 0, IRQ 11
Memory at fbef0000 (64-bit, non-prefetchable) [size=64K]
Memory at fb000000 (64-bit, non-prefetchable) [size=8M]
Capabilities:


BCM70015を認識はしているけど対応したドライバは動作していない状態なので「Kernel driver in use」が表示されない。
動画再生時の重さはまだ何も変わらないので、ドライバをインストールしよう。

  • Linux向けのBCM70015のドライバーcrystalhdをインストールする

実はBCM70015のドライバを入れるにあたって結構苦戦した。このデコーダが出回った時期は2009〜2010年あたりで
その頃のUbuntu10あたりに入っていたLinuxカーネルのバージョンは最近のLinuxカーネルのバージョンと違っていて
ドライバソースがそのままじゃビルドが通らなかったり、また手順として書かれているサイトの通りに
gitリポジトリからドライバのソースをダウンロードしようとするとリポジトリが404でダウンロードできなかったりと・・・


でググりにググったら、最新のLinuxカーネルに対応したドライバを置いてくれている人がいましたよ奥さん!マジ感謝。
https://github.com/yeradis/crystalhd
このウェブページをみればできる!んだけどせっかくだから手順といて実行したコマンドも残しておく。


1:gitからドライバのソースをダウンロード
# cd ~
# sudo apt-get update
# sudo apt-get install git autoconf g++
# git clone https://github.com/yeradis/crystalhd.git

2:ドライバのソースをビルドしてインストール
# cd crystalhd/driver/linux
# autoconf
# ./configure
# make
# sudo make install

3:ライブラリもビルドしてインストールする
# cd ../../linux_lib/libcrystalhd/
# make
# sudo make install

# sudo modprobe crystalhd

4:PCをいったん再起動して、ドライバ(モジュール)が読まれているか確認する。
# lsmod


ついでに、もう一度lspciコマンドを実行する。
# lspci -v

01:00.0 Multimedia controller: Broadcom Corporation BCM70015 Video Decoder [Crystal HD]
Subsystem: Broadcom Corporation BCM70015 Video Decoder [Crystal HD]
Physical Slot: eeepc-wifi
Flags: bus master, fast devsel, latency 0, IRQ 44
Memory at fbef0000 (64-bit, non-prefetchable) [size=64K]
Memory at fb000000 (64-bit, non-prefetchable) [size=8M]
Capabilities:
Kernel driver in use: crystalhd


今度は「Kernel driver in use」ログが出ているので、crystalhdドライバが動作している。
これでHD動画もサクサク表示・・・するために、プレイヤーも準備する必要がある。

  • BCM70015デコード対応の動画再生ソフトをインストールする

ほんとは全部の動画プレイヤーがBCM70015に対応していてくれたら嬉しいんだけど、
crystalhdコーデックに対応した特定のプレイヤーしかムリっぽい。なのでHD動画を再生するために
・XMBC
・VLC
をインストールする。
※GnomeMPlayerにはCrystalHDのオプションがあったけど、有効にしても効いてなかった。

# sudo apt-get update
# sudo apt-get install vlc
# sudo apt-get install xbmc


これでXMBCとVLCがインストールされる。XMBCは常に全画面で独特なIFなのでVLCのほうが使いやすいかな?
VLCのコーデックにGUIで直接crystalhdを指定したかったんだけど、どうもGUIでは指定できなさそうだったので
VLCアプリ起動時のオプション引数でコーデックを指定することに。
デスクトップにVLCのショートカットを作って、右クリックでショートカットのオプション引数に
vlc --codec=crystalhd を追加する。


このショートカットを実行すればコーデックにcrystalhdを使用するモードでVLCが起動するので
メニューからmp4動画を開いて再生すれば、CPUをフルに使わずに動画が再生できたよ!
HD(720p)どころか、フルHD(1080p)もぬるぬる再生できちゃう!
やったねたえちゃん!
静止画で分かりにくいけどこんな感じ。フルHDでもCPU使用率(上の緑色グラフ)を50%以下で滑らか再生。

これがライトニングさん・・・速い・・・!
ちなみにcrystalhdを指定しないでVLCを立ち上げて再生すると、720pは一応再生できるけどCPU100%、
1080pだと音声のみで画像は紙芝居^^;


XMBCは起動引数追加とかなしにcrystalhdを使用してくれるので実際頼もしい。
ただ初期状態だとメニューが英語なので日本語にしておくと便利。 http://xbmc.inpane.com/main/setup/


あとはうれしい誤算として、Adobeの最新FlashPlayerも普通にcrystalhdが認識してるっぽくて
Youtubeで動画再生してみたら1080pのHD動画が再生できた。
確かにFlashPlayerの古いバージョンはサポートと書いてたけど最新バージョンでも使えるとは・・・!
まぁフルHDなんて回線速度が追いつかないので途中で何回か読み込み待ちになっちゃうけど^^;
これで楽しい動画生活!

ということで対応のネットブックならBCM70015マジおすすめ。買っておいて損はあるかもしれないけど自分は買ってよかった。


(こんな手間かけなくても最新のネットブック買えば普通にサクサクなんじゃねーの?)(まあいいじゃん)