開発をVC++2012からVC++2013に移行しました。runtimeが必要です。msvcp120.dllをAviutlフォルダにコピーしてください。・auo_setup(簡易インストーラ)を使用する場合は問題ありません。(自動的にランタイムdllがコピーされます)音声エンコードディレイをカットできるように。(AAC-LC)では--no-delayオプションを使用。・neroaacenc/qaac/qtaacencでは、「音声の削除」「映像の追加」などにより相殺できる機能を追加した。neroaacenc等でエンコードを行うと、音声側に一定の遅延が発生してしまう。(エンコーダの制限)今回はこれを解消する機能を追加した。samplesのようだ。55ms程度なのでたいしたことはないのだけど、例えばSamplingRateが24kHzとか、あるいはHE-AACとかで遅延が大きくなってくいると音声が遅れているのが結構気になってくるかもしれない。最近のqaacのAAC-LCではエンコーダ側で対策してくれるようになっているので、今回からそのオプションを使うようにした(--no-delay)。muken様にコメントを頂きましたように、--no-delayを使用すると最初の1024sampleが無音でない場合に先頭にノイズが入る場合があり、注意が必要です。AACが音声フレーム(音声1フレーム=1024sample)をまたがって圧縮しており、本来であれば一つ前のフレームが存在するか、あるいは無音でないと正しくデコードできない事によるものです。2.05v2では、qaacのAAC-LCについても「音声カット」「映像追加」のどちらかによる補正を選択できるようにしました。映像を先頭に追加のどちらかにより音声の遅れを打ち消す機能を追加した。方法が異なるだけで、どちらの方法でも音声の遅れを解消できる。2~4フレーム程度映像が先頭に追加されるということ。これは(edts等のmp4コンテナの機能を使わずに)ディレイを修正する上で仕方ないと思う。60~120msがもともと無音であれば、(1)で問題ないだと思うのだけど、動画開始直後から音がある場合には(1)だとその音が消えてしまうため、(2)のほうを選んでくれたほうがいいかなと。検証方法まずそれぞれの設定でエンコード。オリジナルのwavをAviutlのwav出力から16bitモノラルで出力。エンコードしたmp4をlwinput.auiでAviutlに読み込み、同様にAviutlのwav出力から16bitモノラルで出力。このwavファイルをAudacityに放り込んで波形を確認した。-2624s」では波形が「オリジナル」と揃っていることがわかる。その他のケースでも補正によって音声の遅延を相殺できていると思う。...さて、問題はニコ動向けプロファイルとかでディレイカットをデフォルトにするかどうか...(いまは「補正なし」)。2.05v2、iniファイルの更新です。・qaacのAAC-LCについても--no-delayでなく、2112sample補正するか選べる形にした。※エンコードディレイカット機能の使用にはx264guiEx.iniの更新も必要です。>>Skydriveの調子がいまいちの時はミラー(dropbox)からどうぞ。x264guiExの導入>その他...1.いつの間にかこのブログのカウンタが100万いってます...。見に来てくれた皆さん、ありがとうございます。2.x264afs、r2409+873に更新しました。titleこの記事、pre-rollのこと書いてないけど。--no-delayでも危険な場合があることを言及した方がいいよ。MDCTってフレーム間オーバーラップして符号してるから、最初のフレームによる出力はいつだって不完全。わけで、最初のフレームに無音以外のものが入っちゃうと、これ、不完全に復号されたものとしてデコーダが出しちゃうのよね。--no-delayが安全に使えるのは最初の音声1フレーム内に音が入ってない場合。カットする際とかにpre-rollを考えない処理系多いけど、意識しようぜ。あと、AACは1フレームpre-rollしか聞いたこと無いけど、圧縮規格によってはそれより多く必要とする場合あるんで。:編集mp4box用のiniファイルお世話になっています。title2.05でエンコードを行うとmuxに失敗してしまい、無音の動画ファイルとm4aファイルが生成されます。title>muken様ご指摘ありがとうございます。たしかにpre-rollにより--no-delayでノイズが発生する可能性があることを考慮するべきですね。記事等、修正しました。>seyron様mp4box用ini更新しなきゃ...と思っていたのに、入れ忘れてました...。2.05v2でmp4box用も追加しておきましたので、そちらを使っていただければと思います。>anoni様mp4boxを使ってらっしゃるのでしたら2.05v2のmp4box用iniで解決するかと思います。titleありがとうございます。2.05v2をインストールすることで無事、muxすることができました。エラーログの件ですが、2.05に戻しどのようなエラーログが出ていたか確認しようとしたのですが、再度エラーが起きることはありませんでした。赤い文字で↓のようなエラーが表示されていたと思います。mp4boxでのmuxに失敗しました。titleうまく行って良かったです。mp4box用のiniファイルでなかったことが原因だと思います。mp4box用を配布せず、混乱させてしまいすみませんでした。音声ディレイカット「映像追加」、たしかに失敗します。原因はおっしゃるとおり、タイムコードが映像追加を考慮できていないためです。現在修正のためコード書いていますので、もうしばらくお待ちください。拡張子の方も考えてみます。試しに今回はオーディオディレイカット機能をつけたのは、neroAACEnc/qaac/qtaacだけなのですが、LameやAC3など、他の多くのエンコーダでもやはりオーディオディレイは入るはずです。(逆に可逆圧縮系は入らないと思います)オーディオディレイ量はわからない場合には結局波形を合わせてみるしかないところがつらいです。(AAC系はいろんな方が調べてくださっており、その値を使って波形を確認すればよかったので楽でした。titleqtaacenc/qaacのTVBR圧縮選択時にエンコーダディレイカットのプルダウンが表示されないのは自分だけ?意図して表示されないのでしょうか?2.14使用中です。Neroの品質ベースはプルダウン表示されるから気になってる。title現状は表示されていません。»このページのトップへプロフィールAuthor:rigayaアニメとか見たり、エンコードしたり。