スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« ブログは一週間休む | トップページ | 詳細不具合の修正とか »

リリースは一両日中

この一週間、ブログを書くのはやめにして、AmuseGraphics Ver1.4.0のリリースに向けた最終調整を行っていたのだが、今日の時点で課題は無くなっているので、明日か明後日には、手元にある配布パッケージをAmuseGraphics Ver1.4.0としてリリースする事になる筈だ。

と、いう事で、多分、もう、配布パッケージには問題はないと思われるのだが、にもかかわらず、今日、リリースしないのは何故なのか、というと、リリース記事を書かなければならないからだ。

もっとも、今回から、フリー版のリリースは行わないので、本来なら、AmuseGraphics単体のリリース記事を書くだけで済むので、リリース記事を書くのも、さほど大変という事もない。

しかし、現在、フリー版を利用しているユーザーがAmuseGraphics付属版に移行するかどうかを判断出来る様にする為には、現行のフリー版とAmuseGraphics Ver1.4.0付属版との違いも、詳細に記述しておく必要がある訳だ。

なので、今回も、リリース記事については、従来と同様に、AG-デスクトップレコーダーやAG-Webカメラレコーダー等の付属ソフト専用の記事も書いておく事にしている訳だ。

と、いう事なので、結構、大変な訳なのだが、簡単に書くと、以下の様になる。

AG-デスクトップレコーダー

→プレビュー映像/音量表示と録画/設定操作が可能なプレビューウインドウを追加

→プレビューウインドウには録画に含めないオプションを提供(Window8.1以降用)

→AVI動画のリアルタイムエンコード時に発生する場合があった音ズレ対策を実施

AG-Webカメラレコーダー

→音量表示/音量増幅・ボリューム操作用ダイアログを追加

→解像度設定をコンボボックスで行える様に変更(次回起動時にも設定を反映)

→AVI動画のリアルタイムエンコード時に発生する場合があった音ズレ対策を実施

AG-ムービーカッター

→音量/フィルタ/速度/ピッチ/エフェクタを指定できる音声ファイルの加工機能を追加

→複数の音声ファイルの位置と音量を指定出来る音声データのミキシング機能を追加

→加工/ミキシングダイアログでは再生とwav/m4a/wma形式への出力機能を提供

AGMPlayer

→録音機能/音声ファイルの再生機能を追加

→ライブラリビューで音声ファイルを動画ファイルとほぼ同様に扱える機能を追加

→ライブラリビューのサムネイルを画像を指定して変更できる機能を追加

作者的には、現行のフリー版のユーザーには、この機会にAmuseGraphicsのレジストキーを購入して、その付属版に移行して貰いたい訳なのだが、AG-デスクトップ/Webカメラレコーダーについては、追加機能はMUSTではないかもしれない。

つまり、当然の事ながら、現行のフリー版でも、普通に使えるからこそ、何十万ダウンロードもされてきている訳なので、新しい機能が無くても、とりあえずは、困る事はない筈な訳だ。

もっとも、今年の2月くらいにVectorに登録してあったAG-Webカメラレコーダーに、音ズレが酷い、というネガティブなコメント付いた事は、このブログにも書いたのだが、実際の所、その時に書いた様に、作者的にも、現行版のリリース前には、その事実は確認していた。

つまり、現行版では、AVI形式での出力時には、音ズレが発生する場合がある訳なのだが、AGM形式やMP4形式やWMV形式での出力時には同様の音ズレ現象は発生しないので、作者的には、少なくともVer1.3.2のリリース時点では、この音ズレについては、問題視していなかった訳だ。

何故なら、音ズレが気になる使い方をする場合には、よりエンコード負荷が軽いAGM形式やMP4形式で出力し、MJPEG形式にする必要があるのなら、後から、出力されたファイルをAG-ムービーカッターでMJPEG形式に再エンコードすれば良いからだ。

しかし、VectorのAG-Webカメラレコーダーへのコメントでは、そんな回避策は無いかのように、AG-Webカメラレコーダーは音ズレが酷くて使いものにならない、みたいな書き方をされていた訳だ。

と、いう事で、今となっては、殆どの人にはAVI形式での出力機能は必要でもない筈なのだが、Ver1.4.0でも、音ズレの問題を放置しておくと、既にVectorは撤収済みなのだが、今度は、Twitterか何かで、AG-Webカメラレコーダーは音ズレが酷い、なんて事を書かれてしまうかもしれない訳だ。

と、いう事で、作者的には、AVI形式での出力機能というのは、今となっては修正するよりも削除したい機能になるのだが、従来版で使えた機能を使えなくすると問題になる人も出てくるかもしれないので、今回、AVI形式での出力時に発生する場合があった音ズレについても、対策を打った訳だ。

で、実際の所、上記と同様の問題は、同じエンコードルーチンを使っているAG-デスクトップレコーダーにも存在している。

なので、GoogleでAG-デスクトップレコーダーを検索すると、「音ズレ」というキーワードが並んで出てきたリもする訳なのだが、当然の事ながら、AG-デスクトップレコーダーでも、AGM形式だとかmp4形式で出力すれば同様の音ズレは発生しない。

つまり、巷には、何故か、今更な、AVI形式で出力したいという人が、それなりにはいるのかもしれないのだが、そういう人は、今回の対策が、既にサポートを終了したフリー版に適用される事はないので、AmuseGraphics付属版に移行する必要があるかもしれない。

まあ、そんな事をするよりは、他ソフトに移行する、と、いう声も聞こえてきそうなのだが、そもそも、AVI形式での出力がMUSTだった人はAG-デスクトップ/Webカメラレコーダーは使いものにならなかった筈なので、最初から、別ソフトを使っていた筈だ。

なので、実際には、フリー版からAmuseGraphics付属版に移行すると幸せになれそうな人は、AVI形式は滅多に使わないので普通は問題はなかったものの、偶に、音ズレが発生して困る場合はあった、なんて人になるかもしれない。

で、この件について長々と書いているのは、問題の発生原因の調査と対策に結構な時間を要したからだ。

実際、Ver1.4.0では、AmuseGraphicsHelperも更新されるのだが、これは、上記の問題を対策する為に、従来はDirectShowに行わせていたタイミング制御を自前のルーチンに置き換える必要まで生じたからだ。

つまり、現行版ではDirectShowに宜しく、と、言ってやらせていたエンコード処理の一部を自前のルーチンに置き換える事で、やっと、音ズレ対策が行えたのだが、その為には、DirectShowwフィルターの変更とそのインタフェースの変更も必要になったので、新たなバグも発生し、その修正にも時間がかかった訳だ。

その結果として、今日の時点でも、まだ、リリースは完了していないのだが、AVI形式出力時の音ズレ問題に関しては、根本的な所から作り直したので、十分に効果的な対策が打てたかもしれない。

ちなみに、AmuseGraphicsファミリーソフトでのAVI形式出力処理には二種類ある。

その一つ目が、今回、音ズレ問題を対策した、リアルタイムエンコード方式になるのだが、この方式では、リアルタイムにエンコードさせる事を想定するので、エンコードが間に合わない場合には、ヌルフレームを挿入する必要がある。

で、もう一つの方式は、AG-デスクトップレコーダーのバッファリングエンコード時やAG-ムービーカッターでの出力時に利用される事になる非リアルタイムエンコード方式だ。

この方式の場合、書きこむフレームとそのタイミングはAmuseGraphics側で制御していたので、音ズレなんて発生する余地は無かったのだが、前述のリアルタイムエンコード方式では、ヌルフレームを入れるタイミングはDirectShowが決めるので、タイミング制御用に使われる時間については、DirectShowが持っている変数の値を使っていた訳だ。

しかし、実際問題としては、その結果として、音ズレが発生してしまった訳なので、Ver1.4.0では、DirectShow側が勝手なタイミング調整をできない様に、インターフェース部分をガチガチな作りに変更したので、少なくとも現行版で発生する場合があった様な音ズレについては、Ver1.4.0では発生しなくなった筈だ。

« ブログは一週間休む | トップページ | 詳細不具合の修正とか »

トラックバック

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

この記事へのトラックバック一覧です: リリースは一両日中:

« ブログは一週間休む | トップページ | 詳細不具合の修正とか »

2018年11月
        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  

広告

プライバシーポリシー

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

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

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

    ポリシーと規約 - Google