スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 本体は多機能なので・・・ | トップページ | もう一週間みておけば・・・ »

長時間録画も行いつつ

今は、Windows用AmuseGraphicsの開発フェーズで、最終的な動作確認を行っているのだが、AmuseGraphics本体の確認には予想以上に時間がかかっているので、まだ終わらない。もっとも、同時にWebカメラレコーダーの改良も行っているので、その影響もある。

AmuseGraphics本体の動作確認の方法としては、メインメニューにある項目を順番に全て実行していっているのだが、作者製ソフトの多くは、メニューを実行するとダイアログが表示され、そこで動作モードを指定する格好になっている。

で、当然の事ながら、その動作モードの指定を変更すると、動作内容は変化するので、動作確認時には、この指定も色々と変更しつつ行う事になるのだが、そうすると、確認しなければならない項目は爆発的に増える訳だ。

と、いう事なので、AmuseGraphics本体の動作確認は、まだ終わっていないのだが、今日の時点で、「ファイル」メニューの「環境設定」の設定ダイアログで、全タグについて、動作モードを変更しつつ、動作させる事ができる事は確認できた。

なので、メインメニューの項目的には、まだまだ残っているのだが、これからの項目では、確認しなければならない内容は少なくなるので、明日には、確認は終わる筈だ。

で、冒頭に書いた様に、作者的には、AmuseGraphicsの動作確認を行いつつ、AG-Webカメラレコーダーでの長時間録画テストを何回も継続しているのだが、その理由は、数日前に書いたデータフラッシュ機能の改良を行っているからだ。

逆の言い方をすると、最初に実装した方式だと、12時間も録画していると、データフラッシュ時に録画映像が数秒程度停止してしまったので、このままではダメだなあ、という事になってしまった訳だ。

このため、改良版を作成しては、テストを繰り返しているのだが、今現在テストしている改良版だと、約8時間録画後の今現在、データフラッシュしても映像停止は発生していないので、多分、この方式を本採用してリリースする格好になる筈だ。

問題は、AG-Webカメラレコーダーの場合、実は、それほど処理性能に拘った作りにはなっていないので、その気になれば、映像のバッファリング数を増やすだけで、録画データの映像停止は防げるのだが、AG-デスクトップレコーダーの場合には、簡単にバッファリング数は増やせない、という事だ。

なので、録画中のデータフラッシュ機能については、AG-Webカメラレコーダーでは映像停止のないフラッシュが可能になるかもしれないのだが、AG-デスクトップレコーダーでは、コンマ数秒分程度の映像停止は発生する事になるかもしれない。

もっとも、これからも各ソフトの動作確認は続くので、AG-Webカメラレコーダーはこれでよし、という事になると、次は、AG-デスクトップレコーダーでの長時間録画中のデータフラッシュを確認する事になるので、何とかなりそうなら、更に改良する事になるかもしれない。

ちなみに、長時間録画テストは、基本的には、30FPSで24時間行っているのだが、何も変更しない場合、AGM形式動画の最長録画時間は、仕様上、30FPSで77時間だ。

つまり、77/24  = 3.2なので、丸三日の録画は可能な筈なのだが、その根拠となっているのは、録画可能な最大フレーム数を4096x2048にしてある事だ。

上記の数字はAGM形式動画を扱うクラスのヘッダに#defineで設定してあるので、より大きな値に変更すれば、より長時間の録画も、簡単に、可能に出来るのだが、上記の値を大きくすると、大した録画を行っていないファイルのサイズも、大きくなってしまう訳だ。

このため、作者的には、上記程度で十分だろう、という事で、初版の頃から、上記の値は変更していないので、現行版であろうが、もっと古いバージョンであろうが、仕様上は上記が限界になる筈だし、次バージョンでも、そうなる筈だ。

まあ、長時間録画の事しか頭にない人の中には、上記の値を変更して、最低でも1ヶ月程度の連続録画は可能にすべき、なんて事を言う人もいるかもしれないのだが、そういう人は木を見て森を見ずになる訳だ。

つまり、HD画質30FPS録画を行うと、24時間で100GBクラスのファイルになる訳なので、この30倍という事になると、ファイルサイズは3TBになってしまうので、よほど気合いを入れてストレージを用意していないと、書きこみできなくなるし、例え書きこめたとしても、そんな大規模ファイルを扱える動画プレイヤーなんて存在しないかもしれない訳だ。

少なくとも、AGMPlayer/AG-ムービーカッターがAGM形式動画を再生する場合、そのインデックスデータは全てメモリに入れてから処理を行うので、上記の様な想定していないサイズのファイルを読み込ませると、読み込むのに異常に時間がかかる筈だし、メモリ不足等により再生できなくても不思議でも何でもない。

と、いう事で、次バージョンでも、上記の限界値は変更しない予定なのだが、そうすると、30FPSではなく、60FPSで録画した場合には、77/2=38.5時間が最大になるし、フレームレートを1FPSにすれば、77*30 = 2310時間の録画が可能、という事になる。

ただし、音声トラックについても、同様の制限があって、音声は録画環境等によって異なるのだが、1フレームが0.1秒程度の場合も多いので、この場合には、音声系が、77*3 = 231時間で限界を迎える。

で、限界を迎えた場合どうなるのか、というと、現行版では、アロケーションしていないメモリ領域に書きこみを行い、領域を確保していないストレージ領域にその内容を書きこむ。

なので、連続録画を続けていると、正常に録画できていた内容まで破壊される訳なのだが、次バージョンでは、長時間録画を売りにするので、この辺の動作についても、何とかしたい気はしないでもない。

しかし、このエラーチェックを行って、正常にエラー終了させるのは至難の業なので、次バージョンでも、この辺の動作については、そのまま、という事にするかもしれないのだが、録画処理側で、余裕を見て、自動的に録画を終了させるのは簡単なので、そうする事にするかもしれない。

« 本体は多機能なので・・・ | トップページ | もう一週間みておけば・・・ »

トラックバック

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

この記事へのトラックバック一覧です: 長時間録画も行いつつ:

« 本体は多機能なので・・・ | トップページ | もう一週間みておけば・・・ »

2017年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 のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google