第425回:保存した動画をスマートフォン向けに自動変換~Sandy Bridgeで作る高効率サーバー
Intelから最新のCPU「SandyBridge」こと第2世代Core iシリーズが発売された。注目は何と言っても内蔵GPUを利用したH.264/MPEG-2のハードウェアエンコード機能「Quick Sync Video」だ。この機能を活用して、動画をスマートフォン向けに自動変換するサーバーを構築してみた。
●久しぶりの賑わい
PC向けの製品発売としては、久しぶりに盛り上がったのではないだろうか。1月9日に「Sandy Bridge」ことIntelの第2世代Core iシリーズが発売されたが、深夜販売も含め、当日はかなりの盛り上がりを見せた。
筆者も9日の午前中に所用で出かけた帰りに、新宿のPCショップに立ち寄ってみたのだが、普段はさほど混雑することもないPCパーツコーナーに、人が多く見られ、レジにも列ができるなど、久しぶりの賑わいを体験した。
最近ではスマートフォンやゲーム機の賑わいの方が目立つが、話を聞く限り、秋葉原ではさらに人出が多かったらしいので、まだまだPCの世界も健在と言えそうだ。
そんな賑わいを見てサイフのひもが緩んだというわけではないが、筆者もCore i5-2500Sとmini-ITXのマザーボード(ZOTAC H67-ITX WiFi)、4GB×2のメモリを購入した。今回の第2世代Core iシリーズでは、内蔵GPUによるハードウェアエンコード機能である「Intel Quick Sync Video」が利用できるが、これを利用すればHDDにたまっている映像ファイルを効率的にエンコードできる環境ができそうだと考えたからだ。
自宅のファイルサーバーとして使っているPCとの置き換えも考慮して、話題のSandy Bridgeでサーバーを作ってみた。
サーバー用ということを考慮して、mini-ITXで作成したPC。CPUもTDP65WのCore i5-2500Sを選択 |
●Windows Home ServerではQuick Sync Videoを利用できず
今回、組み上げたサーバーに利用したOSは、Windows Server 2008R2だ。当初は、Windows Home Serverを利用しとうと考えていたのだが、これは断念した。
もちろん、インストールは問題なくできるのだが(HDDモードのみIDEに変更)、どうやらXP世代のOS向けのドライバでは、Quick Sync Videoが有効にならないようで、Quick Sync Video対応のアプリケーションをインストールしても、その項目が表示されなかった。OSとしては、Vista世代以降のものを利用した方が良さそうだ。
それならば、ということで次期Windows Home ServerのVail(Windows Home Server Premium 2011)を利用しようかとも考えたのだが、こちらはプレビュー版の試用期限が1月10日となっており、本項掲載時点ではすでに利用できない状態になっている。
このため、今回は、将来的なVailでの利用も考慮して、ベースとなるWindows Server 2008R2を利用することにした。なお、グラフィックドライバのインストールには、.NET Frameworkのインストールが必要になる。これは、サーバー上にアプリケーションをインストールする際にしばしば要求されるので(後述するConnectifyでも必要)、あらかじめサーバーマネージャの機能の追加から「.NET Framework 3.5.1の機能」を追加しておくといいだろう。
Windows 7向けのドライバではレジストリなどにQuick Sync Video関連の情報が書き込まれるが、XP用ではこれが見当たらない | ドライバのインストールには.NET Frameworkが必要。このほか「高品質なWindowsオーディオ ビデオ エクスペリエンス」、「デスクトップ エクスペリエンス」、無線LANを利用する場合は「ワイヤレスLANサービス」も追加しておく |
●ビデオ変換にどのソフトを使うか
サーバーの準備ができたら、Quick Sync Videoを利用するためのアプリケーションを用意する必要があるが、これも一工夫必要となる。
Sandy Bridgeのレビュー記事では、ペガシスの「TMPGEnc Video Mastering Works 5」が使われることが多いのだが、このアプリケーションは残念ながらWindows Server 2008R2では、インストール時のOSチェックによってインストールすることができなかった。
このほか、Quick Sync Video対応のアプリケーションとしては、CyberlinkのMedia Espresso 6.5なども存在するが、今回はArcSoftの「MediaConverter 7」を利用した。
ArcSoft MediaConverter 7。Quick Sync Videoに対応したメディア変換ソフトで、フォルダーの監視や自動変換の実行機能などを搭載する |
実は、今回のサーバー上で自動的に動画を変換したいと考えたきっかけは、HP製のWindows Home Server搭載機(MediaSmart ServerやDataVault)に搭載されいてる自動動画変換機能に感銘を受けたからだ。HP製品では、サーバー上の共有フォルダーに動画を保存すると、iPhoneやPSPなど、あらかじめ指定した形式に自動的に変換して保存してくれる。このHPの製品でもArcSoftの製品が採用されているため、同じものを使ったというわけだ。
実際、ArcSoftのMediaConverter 7は、サーバー上で動作させるのに向いている。Windows Server 2008R2上にも問題なくインストールできるうえ、フォルダ監視機能と自動変換実行機能が搭載されているため、あらかじめ動画の入力元と出力先を指定、動画のフォーマットやサイズなどを設定しておけば、入力元にファイルをするだけで、あとは勝手に変換してくれる。
さすがにサービスとして動作してくれるわけではないので、アプリケーションを起動させたままで運用する必要があるが(HPの製品は独自にインプリメントしているのでログオフしてもOK)、自動ログオンおよびスタートアップと組み合わせて起動し、後は画面をロックしておけば、家庭での運用には十分だ。
実際に変換を試してみると、Quick Sync Videoの優秀さに驚かされる。以下のグラフは先の構成のサーバー(ZOTAC H67-ITX WiFi、Core i5-2500S、RAM8GB、WD15EADS)で、手元の動画を変換してみた結果だ。
※出力:MP4 480×320/768Mbps/MP3 128kbps |
わずか5分の映像とはいえ、デジタルビデオで撮影したMTSファイル(1440×1080/5Mbps/250MB)が1分以下でMP4(iPhone3GS用プロファイル:480x320、768Mbps)に変換できたのには驚いた。そのほかのファイルも軒並み半分以下の時間で変換が完了する。
最近では、CPU性能が向上したため、エンコーダーによってはソフトウェア処理だけでもそれなりに高速な処理が可能な場合もあるが、そのためには職人とも言えるような細かな設定が要求される。これに対して、Sandy Bridgeの環境なら、Quick Sync Video対応ソフトを用意して、ボタンを一発クリックするだけでいい。
実行中のCPU負荷も100%に達することなく、30~40%前後で安定しており、他の処理も問題なく実行できる。このため、前述したフォルダ監視機能で自動変換をさせつつ、ファイルサーバーとして利用しても、十分に実用的だ。
消費電力も押さえられており、変換中でもワットチェッカーによる計測で50~60ワット前後で済んだ(アイドル時は36ワット前後)。一時期、CUDAでのエンコードにチャレンジしたことがあったが、高性能なグラフィックカードと高出力な電源を組み合わせていた時代の消費電力や騒音を考えると、夢のような世界だ。
●Eye-Fiから取り込んで即変換させる
というわけで、デジタルビデオで撮影したデータを軒並み変換させて運用しているのだが、ついでなのでEye-Fiとも連携させてみた。
筆者は、製品レビューの再にカメラで写真や動画を撮影する機会が多いのだが、これまではこの動画をEye-FiでメインのPCに転送し、Windowsムービーメーカーを使ってWMVに変換して編集部へと送っていた。この変換の手間をサーバーで一括処理してしまおうというわけだ。
Windows Server 2008R2にEye-Fi Managerをインストールして動画の転送を設定。保存先のフォルダーをMediaConverter 7で監視して、自動的にMP4に変換して、共有フォルダーに保存するようにしてみた。
これは、なかなか快適だ。カメラでの撮影が終わると、写真や動画が自動的にサーバーに転送され、MP4に変換されて共有フォルダーに保存される。一通り、撮影を済ませて、写真のチェックをしているうちに、MP4の動画ができあがっているという感じだ。
ただ、今回利用したMediaConverter 7の場合、一度に一種類の入出力しか選択できないのが残念だ。マルチインプット、マルチアウトプットに対応してくれれば、動画を複数の形式に変換して出力することもできるだろうし、動画だけでなく、写真の変換も自動的にできるようになる。
こういったメディア変換サーバーやNASを、どのメーカーでもいいので、作ってくれないだろうか。
Eye-Fiで転送された動画をMediaConverter 7で自動変換。普段の作業が格段に楽になった |
●Connectifiで無線LANルーター化
このほか、ついでというわけではないが、以前から使ってみようと思っていたConnectifiもインストールしてみた。
Connectifiは、無線LANを利用してPCを無線LANルーター化することができるアプリケーションだ。Windows 7、Windows Server 2008R2のSoftAPの機能を利用して、PCやスマートフォン、ゲーム機などを無線LANで接続することができる。実は、これをやりたいがために、少々高めの無線LAN内蔵マザーボードを購入したという理由もある。
インストール時に注意したいのは、前半でも少し触れたように、.NET Framework 3.5.1をあらかじめインストールしておくことだ。この手順を省略すると、Connectifiのサービスが起動せず、アプリケーションを起動してもエラーで強制終了してしまうので注意が必要だ。
設定は簡単で、起動後、ウィザードの設定に従って、SSIDと暗号キーを設定(暗号化方式はWPA2固定)。サービスをスタートさせれば、PCやスマートフォンなどからアクセスポイントとして認識することができる。
クライアントにDHCPで配布されるIPアドレスがICSの自動設定値となるため、既存LANと無線LANクライアントのセグメントが分かれ、通信が制限されるのが難点だが、とりあえず前述したEye-Fi用として利用したり、ゲーム機やスマートフォンをインターネットに接続するための手段としては有効だだろう。
PCを無線LANルーター化できるConnectify。Intel製無線LANならMyFiを使うのも手軽 |
●より実用的なサーバーが求められる時代に
このほか、Hyper-V環境のRemoteFX(SP1RC使用)がSandy Bridge環境で使えるかどうかも試してみたのだが、残念ながらビデオメモリの制限で利用できなかった(専用ビデオメモリが64MBと認識される)。もちろん、認識されたとしても、ドライバの問題でQuick Sync Videoなどは使えないかもしれないが、仮想環境でのGPUの利用も今後広がると面白そうだ。
専用ビデオメモリが64MBと認識されてしまうためRemoteFXでは利用できなかった |
以上、Sandy Bridgeを動画変換サーバーとして利用してみたが、これまでサーバーというと、ファイル共有やWebサーバーなどが中心だったが、今後、特に家庭では、こういった使い方が求められてくるのではないかと思える。
これまでのPCが中心だった時代は、PCの方がパワフルな環境であったために、サーバーはストレージとしての役割が中心だった。しかし、今後、ユーザーが利用するクライアントは、スマートフォンやタブレットなどのビューワー的な存在へと移り変わっていく。
そうなった場合、高度な処理や重い処理は何が担当するのか? もちろん、クラウドという選択肢もあるが、家庭内で処理した方が良いデータも数多く存在することを考えると、データを保存するだけでなく、積極的に処理するサーバーの役割が重要になってくるだろう。
Sandy Bridgeをメインマシンで使うのも悪くはないが、サーバーとして活用してみるのも面白い使い方と言えそうだ。
関連情報
2011/1/18 06:00
-ページの先頭へ-