« 3D映画の字幕は拷問か?! | メイン | 北海道日帰り »

2010年2月14日

SpursEngine用ソフトウェア開発

LeadteckWinfast.jpg
Leadtek Winfast PxVC1100

SpursEngineをご存じだろうか?
SonyのPLAYSTATION3に搭載されている超高性能プロセッサであるCellを、東芝がPC向けに若干改造したものだ。このSpursEngineをPCI-Expressカードに載せて、主にハイビジョン動画をハードウェアでエンコードするという製品が出ている。

最近のPCのCPUは高性能化しており、動画のエンコードもそれほど遅くはないのだが、さすがにハイビジョン映像となると途端にエンコード・スピードが落ちる。サイズを小さくするためにMP4にエンコードしようとすると実時間の4~6倍という時間を費やす。

その状況を打破するのが、このSpursEngineだ。
自分はLeadtekのWinfast PxVC1100という製品を購入した。一切のソフトウェアが添付しない、単にハードウェアのみのものだ。

さて、早速ハードウェア・エンコードと行きたいところだが、ソフトウェアがないとエンコードしてくれない。
TMPGEncには有償でSpursEngine用のプラグインがあるようだが、見ると色々と制限もあるようで、とにかく\5,000近い金がかかる。
さらに調べるとフリーソフトを組み合わせることにより、SpursEngineのハードウェア・エンコーダーが利用できるようだ。そこで、全てのソフトウェアを集めてエンコードしてみたが、余りにも面倒。色々なソフトウェアのコマンドを叩かなければならず、いちいち細かい設定も覚えてられない。
ということで、これらフリーソフトを統合し、簡単にハードウェア・エンコードするためのフロントエンドのソフトを開発することにした。

SpursMediaCoder

作ったのがこれだ。2日ほど開発に時間をかけてしまった。
(それでもまだインプリ漏れがある。ま、そのうち、そのうち・・・・)

SpursMediaCoder.jpg
Spurs Media Coder

事前に色々とフリーソフトをかき集めてインストールしなければならないが、環境設定オプションのリンクを辿ればすべてのソフトが入手可能になる。

Environment.jpg
Spurs Media Coder - 環境設定

上の通り、DGIndex, AviSynth, CriSpursCoder(無料版でOK), MP4Boxが必要になる。
AC3サウンドをAACにする必要がある場合はさらにEac3To, NeroACC Encoderが、AACの遅延調整を行いたい場合はさらにAacEditが必要になる。
また、AviSynth絡みだが、インタレース解除が必要な場合はTDeintもあらかじめ必要になる。

処理としては、当ソフトウェアからDGIndexを起動し、必要部分を抜き出してプロジェクトを保存した後、以下の経路を経てMP4が生成される。

動画ファイル - DGIndex Project - AviSynth - CriSpursCoder - MP4Box - mp4ファイル

オプション機能でAC3 - AAC変換やAACの遅延調整などが挿入される。

機能的にはキューもサポートしており、自分で使う分には十分満足な出来。
さて、これでガンガンMP4エンコードするぞ!

さっき自宅のメディア・サーバで確認したのだが、MP4ファイルが1,326個もあった。
PS3を介して居間の大画面TVで見るためのもので、家族みんなでシェアしており、怪しい動画ではない。
映画やドラマ、アニメのMP4ファイルが大量に保管されているのだ。

さて、ソフトウェア「Spurs Media Coder」だが、試してみたい方はどうぞ。

SpursMediaCoder

ちなみに、.NET Framework 3.5の環境と、(あたりまえだが)SpursEngine搭載カードが必要だ。

投稿者 abeshin : 2010年2月14日 19:30

コメント

投稿者 kmatsu : 2010年3月19日 12:33

いろんなツールを使って結果を出すときって、その手順どおりにマニュアルで作業するのって面倒だよね。
マニュアルで処理する部分をフロントエンドとして作りこむっていうのはいいアイデアだと思うし、今後増えてきそうだね。

投稿者 阿部 : 2010年3月20日 10:32

本当は、かなりの部分を自前でリメークしたいんだよね。
結構ソースなんかも公開されているので、これらの機能を全て統合して一本のソフトにしてしまうのが最終目的。
だけど、時間がない。

コメント投稿




   保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)