アマレコTV 4 新録画エンジン
【主な変更点】
・書込みエラーの根絶
・録画処理を正常に終了できなかった場合でも再生できる(修復不要)
・ファイルサイズの上限を撤廃
・2kBを超えるセクタサイズへ対応
・無欠損分割 ファイルサイズを指定して分割して録画、AviUtlなどを使ってつなぎ目のない一つの動画に仕上げることが可能
・AviUtl+x264guiなどで再エンコードする際の音声処理に対する高速エンコード支援
・新音ズレ対策 判断精度の向上
書込みエラーは今のところ発生していないので、おそらく根絶できたと思います。
録画処理を正常終了できないケースへの対応については、自分で使っていてもっとも良くなったと実感できる部分です。
AVI2ファイルはザックリ説明するとファイルの先頭に総フレーム数と親インデックステーブル(子インデックステーブルが何バイト目にあるか)を、ファイルの最後に各フレームが何バイト目に記録されているかを示す子インデックステーブルを
記録しなければなりません。
これらの情報は録画が停止しないと確定しないため途中で異常終了してしまうと(これらの情報が欠如した)破損ファイルとなってしまいます。
また、HDDへ録画することを考えると、ファイルの先頭とファイルの終端ではHDDのヘッドを大きく動かす必要があるため頻繁にアクセスすることもできません(ランダムアクセス)。
そこで、アマレコTV 4では4GB毎にこれらの情報を更新(HDD上の各情報を書き換える)するようにしました。
HDDのパフォーマンスをほとんど落とさずに更新した部分までを再生できるファイルを作成できるようになっています。
なお、仕組み上、終端の4GB程度は異常終了した場合再生できません。どうしても終端分部まで再生したい場合は今までと同様、修復機能を使って破損ファイルを修復する必要があります。
ファイルサイズの上限は高度な設定の「最大ファイルサイズ」に合わせって親インデックステーブルを必要な数用意するようにしたので1.5TB(4GBx384個のテーブル)を超える録画ができるようになります。ただし、使う使わないにかかわらずその分のメモリー(システムメモリー)を確保しなければならないし、確保したメモリー全てをAVIファイルへ保存する必要がありますので、無駄に大きく設定すると損をします。変更する場合は良く考えて行ってください。
セクタサイズはWindowsXP用として販売されたHDD製品のほぼすべてが512Byteなので問題ありませんでしたが、最近は4kByteセクタの製品もごく一部ですが出回っているようなので、それらの製品でもそのまま使えるようになると思われます。
ただし、4kByteセクタの製品を所有していないので実際の製品で使えるかどうかの確認はできていません。
理論上は制限を設けていないので4kByteを超える64kByteセクタなどでも使えるようになっています。
無欠損分割については、DirectShowの処理とアマレコTVの録画処理の間に常にリングバッファを挟むようにしたので、一つ目の録画を停止して2つ目の録画処理を開始する間もリングバッファへデータを溜めることができるようになりました。そのためリングバッファが持ちこたえれば無欠損となります。
また、常にリングバッファへフレームデータをコピーすることでDirectShowのアロケータをロックしなくなったため、ビデオキャプチャカードの動作を妨げないようにもなります。
これは、録画を開始するとプレビューのfpsが低下するとか、そもそも録画を開始するとプレビューも録画も止まってしまうようなケースを改善できると思われます。(これらが「ビデオキャプチャカード曰く、使えるアロケータが無い」って時に起こっていたなら改善される。)
なお、録画中は常にリングバッファへフレームデータをコピーする必要があるので、その分の処理が今までより余計にかかるのがデメリットとなります。また、MP3で圧縮する場合は各動画ファイルの最後に記録するパケットが欠損します。音声はUncompressの時のみ無欠損となります。
アマレコTV 4 録画ステータス
再エンコードにおける高速エンコード支援については、映像と音声を別々にエンコードするケースにおいて威力を発揮します。
具体的には、通常、映像と音声は交互であったりバラバラにHDD上に記録されますが、音声の再エンコードの際にHDD上に細切れに記録されている音声データを拾い集めるためにランダムアクセスとなってしまい、ほんの僅かなデータを読み込むのに音声エンコード処理と同じくらいの時間がかかってしまいます。
これがボトルネックとなるケースがありますので、アマレコTV 4では音声データをできるだけ一か所にまとめて記録し(どの程度まとめるかは設定可能)、ディスクアクセスのボトルネックを解消(シーケンシャルアクセスとなる)します。
どの程度効果があるかはケースバイケースなのであくまでも一例ですが映像と音声合わせて再エンコードに5時間程度かかっていた場合に10分程度短縮できるかな~って程度です。
アマレコTV 4 再エンコード支援の効果
新音ズレ対策については根本的な音ズレ補正の仕組みは変わっていませんが、音ズレしているかどうかの判断における精度が向上しました。
この判断が悪いと補正しない方がよかったケースでも補正してしまい残念な結果となってしまいます。
たとえばドロップの(+)と(-)の値が同時に増えていくようなケースでは、後々になってみれば補正しない方がよかったと言えます。
現行のアマレコTVはそうならないように少し大きめの閾値(約0.1秒)として、「これは絶対にずれているよ」ってレベルまで我慢するようになっていましたが、アマレコTV 4では約0.02秒で補正しても、後になって補正しない方がよかったとならないようにできたと思います。
なお、根本的なことですが現行のアマレコTVもアマレコTV 4もキャプチャカードが最新の映像と音声を送ってきてくれるなら「音ズレしません」なので、キャプチャカードの段階でもしずれていた場合は補正してもズレます。
次回は新デスクトップキャプチャについて紹介します。
アマレコTV 4 新デスクトップキャプチャ
Windows10のWMPでAVIファイルが再生できない

(ファイルの再生中にWindows Media Playerに問題が発生しました。)
AviUtlでYUY2(未圧縮)のAVIファイルを作って再生しても同様の異常が出るので、OSの構成ファイル(Direct Showフィルタ)に何らかの異常がありそうです。
2chに書かれていたAVI Decompressorに不具合があるというのが濃厚かもしれません。
この辺りも含めてWindows10を利用される方は自力で対応できるようになってくださいね。
2016年10月21日追記
最新のアップデートを一通りやることで問題なくAVIファイルの再生ができるようになりました。
2月公開予定 アマレコTV 4シリーズ
一年ほど前からコツコツ制作していましたが、全ての機能を実装するにはまだまだ時間がかかりますので、3段階に分けて公開していこうと思います。
今回はその第一段としてプレビュー、録画、デスクトップキャプチャと言った基本機能が中心です。
・第一段階(2月公開予定)
プレビュー、新録画エンジン、新デスクトップキャプチャ、デインターレース、新Core Audio レンダラー
アマステ、ライブ機能(簡易版)、プリセット、起動オプション、モノラル・ステレオ変換
・第二段階
ライブ機能(完全版)、オーディオミキサー
・第三段階(たぶん来年)
リプレイ機能、ラインダブラー、画面回転
・廃止項目
HWデインターレース、GV-USBおよびSC500に対する色補正、CDU(Capture Device Utility)
信号検出、アロケーターチェック、nullフレーム録画、アナログチューナー機能
アマミキ!はアマレコTVから独立した単体のアプリケーションとして公開する予定です(時期未定)。
また、デスクトップキャプチャで使ったDesktop Duplication APIの手ごたえがとても良かったので、スーパーアマレココも制作する予定です(時期未定)。
第一段階のあとはアマミキ!およびスーパーアマレココを優先しようと思いますので、アマレコTV 4の完全版は来年になると思われます。当面は多機能な現行のアマレコTV Ver3系と基本機能のみのアマレコTV Ver4といった体制になりますので、実況動画を作りたいとか縦スクロールシューティングをやるんだって人はVer3系を、普通にプレビューできればいいとか録画さえできればいいという人はVer4を使っていただければと思います。
メイン画面

見た目や使い勝手の変更はありません。
設定画面(高度な設定)

設定画面もほとんど変更ありませんが、録画エンジンが刷新されますので詳細設定などに変更が加わります。
次回から変更内容の詳細を紹介していきます。