スポンサーリンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« かなり期待できそうだ | トップページ | エンコーダーの変更は・・・ »

何となく見えてきた

今はAmuseGraphics Ver1.4.1の開発フェーズで、既に、AGMPlayerとAG-ムービーカッターに引き続き、AG-デスクトップレコーダーの開発に移っていて、次バージョンの仕様決めをしている段階なのだが、何となく、見えてきた感じだ。

AmuseGraphics Ver1.4.1では、本体及び、それと同時にインストールされる付属ソフトの全てに対して更新を行う予定なのだが、これは、更新されていないソフトは過去のモノみたいな風潮があったりもするからだ。

つまり、必ずしも、現行版に不備があったりする訳でもないのだが、更新は定期的に行っておかないとマズイかなあ、という所もあるので、更新しようとしている訳なのだが、イザ、更新しようとしてみると、色々と、良いネタを考え付いたりもする。

その結果として、AGMPlayer Ver1.4.1では、「オーバーレイボタン」や「ファイルセレクタ」を追加する事になり、特に問題がなかった筈の現行版のAGMPlayerよりも動画/音楽ファイル再生時の操作性が大幅に向上し、作者的には、現行版には戻れなくなっている。

また、AG-ムービーカッターについては、現行版の機能が最小限という事もあり、 Ver1.4.1では、「トランジション」や「ズーム」なんかの機能を追加したのだが、それらの作業中に、ある意味、思いつきで、エンコード出力の速度変更を可能にしたり、ファイルリストで様々なオプションを同時保存出来る様にしたり、保存形式をテキスト形式にして、テキストエディタでファイルリストの内容を変更できる様にしたりもした。

と、いう事で、「別に、現行版で問題ないでしょ」、と、思っていても、イザ、作業を始めてみると、色々と改良ネタが思い浮かんできたりするのだが、AG-デスクトップレコーダーについては、今回は大幅な変更をする予定は無かったのだが、コードを弄ったりしている内に、「エンコード負荷の軽減」、というネタを思いついたりもした。

なので、次バージョンの目玉は、上記の「エンコード負荷の軽減」という事にするのだが、ここ数日書いてきた様に、この負荷軽減は、エンコード処理用のコードの軽量化なんかとは違って、状況によっては、軽減はされず、寧ろ、増える可能性まである。

このため、現行版の処理コードを単に変更する訳には行かないので、Mirror-DTCのECOモードの様に、オプション扱いにする予定なのだが、多くの場合、効果はある筈で、もし、無い場合の性能低下も大した事はない筈なので、同様に、デフォルトで適用されるオプションにしようかなあ、と、考えている。

で、上記はAGM形式動画のデフォルトモードである所のDCTモードでの、リアルタイムエンコード時には、最も効果を発揮する筈なのだが、それ以外の形式でも効果を発揮する。

また、mp4形式でも効果を発揮できそうなのだが、この場合には、現行版とは微妙に異なるエンコード結果になる筈だ。

具体的には、指定したフレームレートよりも動画のフレームレートは低くなる筈なのだが、これは、入力されるフレームレートが低くなるので、そうなるだけなので、画質が劣化する、と言う事はない。

ただし、実質的なフレームレートがあまり低くなりすぎると、動画視聴時のシーク動作等にも問題が出て来るので、最低限のフレームレートは確保する格好にはする事になるので、まあ、実質的には問題はない筈だ。

しかし、60FPSのmp4動画をエンコード出力してみたら、出力された動画ファイルのフレームレートが42.5FPSしかなかった、みたいな場合、ユーザー的には、エンコーダーにバグがある、みたいに思うかもしれないので、やはり、オプション形式にしておく必要がある訳だ。

と、いう事で、数日前に書いた様に、Mirror-DTCのECOモードでは、状況によっては、転送される画像の一部に遅延が発生するという問題があるのだが、今回、AG-デスクトップレコーダーに適用しようとしているオプションでは、そこまでする必要はないだろう、という事にしているので、前述の様に、最悪、処理性能やシーク性能が、若干、低下する、というリスクはあっても、画質が低下するリスクはない事になる。

なので、オプション名はどうしようかなあ、と考えているのだが、次バージョンでは、基本的には、従来の設定項目はそのまま残し、新たな拡張設定を追加する格好にする予定で、かつ、その拡張設定はあまり目立たせない予定だ。

あまり目立たせない予定にしているのは、現行版でも、既に、メニュー項目なんかが、多すぎるきらいがあるので、これ以上、目立つ所に設定項目は追加したくないからだ。

と、いう事で、上記の様な設定は、エンコード設定ダイアログの設定項目に追加するかもしれないし、現行版にある「基本設定」ダイアログに、「拡張設定」ボタンを追加し、それで表示されるダイアログで設定する様にするかもしれない。

これは、既に書いた様に、次バージョンでは、デバイスドライバ等に問題がある様な環境で発生しているかもしれない音ズレなんかの対応用に、エンコード時に敢えて音声/映像に遅延を発生させたりするオプションなんかも追加する予定なのだが、普通の環境では、そんなモノは必要ないので、こういった、ある意味、ネガティブな機能は、隠れ機能にしても良いくらいな訳だ。

更に、昨今の多コア化しているCPUに対しては、それに応じて多スレッド化すれば、当然、処理性能は上がる事が期待されるのだが、実際の所、フルHDの30FPS録画なんかの場合、2コア4スレッドでも十分な場合が多い訳だ。

にも関わらず、CPUが16コア32スレッドだから、という事で、32スレッド動作させると、AG-デスクトップレコーダーの場合、そのスレッド毎にバッファメモリ等を用意する格好になるので、かなりの量のメモリを使う事になってしまう。

なので、現行版では、大体の処理において、最高スレッド数は8に制限してあるのだが、シングルスレッド性能が高いCPUでは、よりスレッド数を減らして使用メモリ量を減らしたい場合もあるかもしれない。

と、いう事なので、上記の拡張設定ダイアログでは、最大マルチスレッド数なんかの設定も可能にする予定なので、ワザワザ、各エンコード設定用のダイアログに新たな項目を追加するよりは、新たなオプション設定は、全てココに集約させた方が作者的にもユーザー的にも楽かもしれない。

なので、そんな感じにしようかなあ、と、思い始めているのだが、実際の作業は来週に入ってからになる。

もっとも、変更量はAG-ムービーカッターよりも圧倒的に少なく、難易度も低いので、来週中には、プレビュー版を公開できる筈だ。

« かなり期待できそうだ | トップページ | エンコーダーの変更は・・・ »

2019年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