« Firefox 18 | メイン | とってもE麻雀 その後 »

2013年1月10日

QTKit その2

カテゴリー: プログラミング

一昨日の日記のその後です。動画を再生するだけのアプリはうまくいったので、次は5秒ごとにJPEG画像として出力するプログラムを追加してみました。GUIを作る前に、パフォーマンスをチェックしたかったというのが理由です。

QTMovieクラスのframeImageAtTime:メソッドを使ったのですが、結果は・・・かなり遅いですね(^^;) 試したのはiPhone用にエンコードした解像度960x540のH.264動画ですが、うちのMacBook Air (Intel Core 2 Duo 1.6GHz)だと、1枚書きだすのに1〜2秒かかる感じです。

ファイルに保存する処理に時間がかかるのかと思って、そこだけコメントアウトしてみましたが、それでもあまり変わりませんでした。やはり動画から1フレーム分デコードするのに時間がかかるのですね。QuickTimeを使う以上、1つ1つの処理時間はどうしようもないから、あとはトータルの速度ですね。CPUのコア数分だけ並列で処理したら多少マシになるでしょうか? 2コアだとあまり変わらないような気もしますが、あとで試してみたいです。

実際にはPS3のようなサムネイル表示のGUIを作るつもりなので、1画面に表示するのは多くても10個以内でしょう。順番を考えてバックグラウンドでうまく処理すれば、そこそこのものができるような気もします。PS3並の速度は無理かもしれませんが、まあ作ってみましょう。


ちなみに、なんでこんなソフトを作ろうとしているかというと、iTunesでポスターフレームを設定するのが非常に面倒だからです。ポスターフレームはiPhone側でサムネイルとして表示されるので、できるだけその動画の内容が分かるようなシーンを設定したいのですが、高解像度の動画だと、あの短いスライダーだけで探すのは苦痛なんですよね。そこで、簡単にシーンをチェックできるアプリが欲しいとなったわけです。できればポスターフレームの設定自体が行えるものを作りたいところですが、そこまで可能なのかな? これもあとで調べてみましょう。

しかし、ハードウェアや動画フォーマットは違うけど、やってることは7年くらい前から全く変わってないなぁ(^^;)



コメント

よろしければコメントしてください。

※メールアドレス以外の項目はこのページ上に公開されます。個人情報などの入力にはご注意ください。




保存しますか?


「投稿」ボタンを押してから書き込み完了までに多少時間がかかる場合があります。ご了承ください。