Webカメラレコーダーを変更
WebカメラレコーダーにWMVエンコード機能とAGC機能を追加した。やはり、WMVでのリアルタイムエンコードはかなり重い。Webカメラの解像度を640x480にするとセレロンCULV機であるdynabookMX/33では、使い物にならず、Core2DuoのMacBookでも少しカクカクになる。
« 2010年4月 | トップページ | 2010年6月 »
WebカメラレコーダーにWMVエンコード機能とAGC機能を追加した。やはり、WMVでのリアルタイムエンコードはかなり重い。Webカメラの解像度を640x480にするとセレロンCULV機であるdynabookMX/33では、使い物にならず、Core2DuoのMacBookでも少しカクカクになる。
AmuseGraphicsのVer1.1.1の開発は、当初の目算からすると、少し遅れぎみなのだが、ブログを読み返してみると、原因はWMVの無劣化出力での問題に対する対処とWMV関連の2パスエンコード等のオプションをサポートしたのが大きかったようだ。
ちょうど切りも良く、週末なので、また時事ネタにするのだが、iPad販売、アップルストア銀座に約1,200人の列ということらしい。本当に一般の購入希望者が1,200人も平日の朝に行列を作ったのだとしたら、この記事に書かれている通り、盛り上がりぶりは異常かもしれない。
AmuseGraphicsのVer1.1.1に向けてのムービーカッターへの機能追加は完了したのだが、映像調整フィルターの負荷が若干高かった、というか、コーディング的な最適化を行なっていなかったので、今日はその最適化を行なってみた。多分、負荷は半分程度にはなった筈だ。
少し前に書いていたように、ムービーカッターに音量表示テロップを追加した。ついでに、各種処理の進捗表示にプログレスバーも追加した。表示にはレイヤードウインドウを使おうか、と、思っていたのだが、望ましくなさそうだったので、表示は画像に半透明で書き込んだ。
昨日書いたように、AmuseGraphicsのホームページにあるVer1.1.1開発中バージョンを更新した。今回も、基本的にはムービーカッターのみの更新になるのだが、DLLの変更も必要だったため、今回のZipファイルには更新されたAmuseGraphicsHelper.dllも入っている。
ここのところ、WMVの無劣化切り出しの先頭で行なうエンコード結果との結合について色々と試していたのだが、今日はWindowsメディアエンコーダーを使って作成したファイルを試してみた。問題は発生しなかったのだが、デフォルト設定は安全方向に振っておくことにした。
ムービーカッターのWMV形式エンコードで、音声についても、VBRと2Passエンコードを可能にした。通常は1PassのCBRで問題は無い筈だが、ムービーメーカーではデフォルトで音声のVBRエンコードが行なわれるようなので、VBRをサポートすることにした。2Passはついでだ。
Vistaのムービーメーカーで作成したWMVファイルについても差分フレームの結合は上手く行かなかった。なので、オプション指定で強制的にキーフレームのみを結合する方式も選べるようにした。Windows7とXPのムービーメーカーで作成したファイルは大丈夫だったのだが。
そろそろAmuseGraphicsのVer1.1.1は仕上げの段階に入るのだが、何点か細かい変更も入れておくことにした。その一つはフレームレートの小数点以下の指定の可能化。もう一つはムービーカッターでの音量表示の可能化。他には、メニュー表示の変更程度かな?
昨日の問題は、ムービーカッターでエンコードしたファイルでは一度も発生しないので、WMVのその他のエンコードモードも使えるようにしてみたのだが、結果は同じだった。その後、これだろう、という原因は見つけたのが、エンコードモードは追加したままにすることにした。
WMVの無劣化切り出しは、切り出し時点から最初のキーフレームまでに再エンコードデータを使用することで、キーフレーム間隔が長くても違和感無く使えるようになった。少し問題もあるのだが、致命的でもない。何とか問題解決したい所だが、これが限界なのかもしれない。
WMVの無劣化出力ルーチンを作成中なのだが、かなり面倒だ。SDKに書かれている通りに出力するとDirectShowで再生できない出力が出来上がる。なので、対処しようとしてみた所、色々と別の問題が出てきた。その対処のために、また別の処理を追加しなければならない。
昨日の問題を解決するために、色々とやってみたのだが、やはり、音声データが最初の数秒間無いことが問題のようだった。出力ファイルに書き出すタイミングを音声データがある位置からにするとフリーズは起きなくなった。しかし、画像は数秒間停止している。
WMVの無劣化出力用のコードを整理して、AVI/AGM形式と同様に使えるようにして動作確認してみたのだが、大体はうまく行くものの、短い領域を切り出した時に、そのWMVファイルをムービーカッターで再生するとフリーズした。メディアプレイヤーなら再生できたのだが。
ブログの中でちょくちょく書いているのだが、作者は大昔にスカパーでやっていたアニメをMPEG1ファイルにして色々と持っている。作者的にはMPEG1のサイズでも特に不満は無いのだが、今時のコーデックと比較するためにムービーカッターで再エンコードしてみた。
週末なので、また、時事ネタにすることにしたのだが、Adobe、「We Love Apple」キャンペーンでAppleに反撃 創業者の公開書簡も、ということらしい。作者は喫煙者のMac修理を拒否したことでAppleに悪いイメージを持っている。しかし、バッシングしたい、というほどでもない。
AmuseGraphicsのVer1.1.1でWMVの無劣化出力を可能にするためにコーディングを行ったのだが、実用性は微妙だ。普通のWMVではキーフレーム間隔が長いので切り出し位置はかなりズレる。また、音声と画像の関係も微妙だ。まあ、使える場面が無いことは無い筈だが。
昨日、明日にはアップすると書いてしまったので、WMV出力機能を追加した開発中バージョンをとりあえずアップしておいた。まだ、WMV出力機能はムービーカッターにしか適用していない。また、WMVファイルの無劣化出力についても、まだ、動作しない。
AmuseGraphicsのVer1.1.1にWMV出力機能を追加する作業を行なったのだが、あまりにも簡単に実装出来てしまったので、方針を少し変更する。元々WMV出力機能はシェアウェア版のみで利用可能にするつもりだったのだが、フリー版でもエンコード出力は可能にする。
AmuseGraphicsにWMV出力機能を追加するためのコーディング作業を始めたのだが、例によって、SDKが判りづらいので手こずっている。まあ、それでもプロファイルの作成は出来たようなので、明日には何とかなっているだろう。
AmuseGraphicsのVer1.1.1ではWMVへの出力機能を入れる、と、書いてきたのだが、具体的な内容については何も書いていなかった。これは、「Windows Media Format SDK」を見れば出来る筈と思っていたからなのだが、そろそろ作業を始めるので今日は少し読んでみた。
AmuseGraphicsのVer1.1.1ではWMVへの出力機能を追加してそれを目玉機能にするつもりなのだが、これは表向きのことだ。AVIファイルは普通に色々な場面で利用できるし、WMVはエンコードが重い。なので、実用上は、地味にAGCがVer1.1.1の目玉になるかもしれない。
iPad、国内ではソフトバンクモバイルが販売 価格は4万8960円から、と、いうことらしいのだが、ビックカメラとソフマップ、10日より「iPad」予約受付を開始という話もある。良く判らないのだが、iPadが売れないと、国内企業が損をするようなことになっていなければ良いのだが。
Mirror-DTCのVer1.03はGW前にリリースしたこともあり、AmuseGraphicsのVer1.1.0の人気順の変動を見てからVectorに登録するつもりだったのだが、今日見てみると、GW前よりもさらに下がっていた。なので、今後、Vectorにはバージョンアップ版は登録しないことにした。
ムービーカッターに映像調整機能を追加してAmuseGraphicsの開発中バージョンを更新した。昨日のバイナリではフリー版でトリミング用メニューが表示されなかった筈だが、今日のでは表示される筈だ。まだエラーチェックは不十分で静止画出力には映像調整は効かない。
AmuseGraphicsのVer1.1.1の開発中バージョンを更新した。ムービーカッターにトリミング機能が追加されている。それ以外の映像調整機能については、今回は使用できなくしてある。トリミング機能もエラーチェックをしていないので使えない状態で使用するとクラッシュする。
今日、たまたまYouTubeのトップページにあった「勝間 vs ひろゆき」という動画を見てみたのだが、勝間という人(ホスト?)の思慮の浅さに久しぶりに失笑してしまった。作者はTVを見なくなって久しいので、ここまでコメンテイターのレベルが低下しているとは知らなかった。
AmuseGraphicsのムービーカッターにトリミング機能を入れてみた。とりあえず、「オプション」メニューで「トリミング」をチェックするとマウスカーソルがクロスカーソルに変化するので、表示領域をマウスドラッグで指定すると、その部分のみが再生/エンコード対象になる。
AmuseGraphicsのVer1.1.1ではWMVへの出力機能と本体への効果設定を追加したいのだが、ムービーカッターについては、昨日書いたように、もう少し機能追加するつもりだ。で、簡単にやれそうなので、ムービーカッター分についてはGW中に片付けようかと思っている。
昨日AmuseGraphicsのVer1.1.1の開発中バージョンをアップしたのだが、ムービーカッターへの機能追加はさらに行うつもりだ。少なくともトリミング機能は入れるつもりなのだが、それ以外についてはどうしようか、と思っている。やれることは色々あるのだが、問題は必要性だ。