スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 必要十分には判った | トップページ | 後は真面目に作るだけ »

やっぱり自前処理にする

今は、macOS用ソフトである所のTiExtenderの更新開発をしているのだが、今回の追加機能である所のWebカメラの録画機能は、AV Foundationの出力機能を使えば、簡単にファイル出力もできるのだが、この辺の処理は自前にすることにした。

何故、簡単に利用できるAPIの機能を使わずに自前処理を使うことにするのか、というと、簡単なAPI機能というのは、融通が効かないからだ。
 
具体的には、Windows版のAG-Webカメラレコーダーには時刻のテロップ機能があるのだが、これは、カメラ映像の画像に文字列を表示した画像を合成しているのだが、AV Foundationの簡単なAPIを使ってしまうと、こういう事は出来ない訳だ。
 
と、いう事で、TiExtenderでのWebカメラ録画機能では、AV Foundationを使ってWebカメラ映像をフレーム毎にデータとして受け取り、その画像データを自前処理でmp4ファイルに出力する事になる。
 
音声についても、AV Foundationが利用可能ではあるのだが、こちらについては、まだ、試していない。
 
これは何故なのかというと、作者的には、既に、Mirror-DTCサーバー/TiExtenderの画面収録/AGMPlayerの録音用に、音声入力用の処理ルーチンの手持ちがあるからなのだが、この際なので、AV Foundationの処理ルーチンが簡単に使える様なら、今回は、ソレを使ってみるかもしれない。
 
ちなみに、AV Foundationを使ったカメラ映像入力では、特別にプレビュー機能というのがあるのだが、Windows用のAG-Webカメラレコーダーなんかでは、そういう機能は使っていない。
 
つまり、プレビュー時にも、基本的には録画用と同じデータを入力し、その映像を自前で画面表示しているのだが、macOS環境で同じ事をやってみると、前述のプレビュー機能を使った場合の数倍のCPU負荷が発生してしまう事が判った。
 
それでも、普通はCPU性能が足りないという事は無い筈なのだが、だとしても、録画もしていない段階で、あまりCPU負荷が発生するのは望ましくはない訳だ。
 
なので、プレビュー機能については、AV Foundationの機能を素直に使おうか、とも思っているのだが、そうすると、前述のテロップなんかはプレビュー映像には反映されなくなるので、AG-Webカメラレコーダーとは異なる感じになってしまう。
 
CPU負荷が発生してしまうのは、AV Foundationから送られてくるデータを通常のRGBデータに変換するのに負荷が発生するからだと思われるのだが、まだ、詳細には見れていないので、もし、この辺の処理を変更する事で、負荷を減らす事が出来れば、プレビュー機能についても自前処理に切り替える事にする。

« 必要十分には判った | トップページ | 後は真面目に作るだけ »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/67441017

この記事へのトラックバック一覧です: やっぱり自前処理にする:

« 必要十分には判った | トップページ | 後は真面目に作るだけ »

2018年12月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google