AACエンコーダディレイとx264guiExでの対処方法について

音ズレについて再調査したので、いい機会なのでまとめてみた。

AACエンコーダは一般に2つのフレームで完全な音を出すデータを保持するため、最初の音声フレームからは完全な音を出すことができず、この問題を解消するため、最初に無音のフレームを挿入する。この無音区間で生じる遅延がencoder delayで、そのままでは映像との同期がずれる(音ずれ)原因となりうる。このAACのencoder delayについてはこちらが非常に詳しい。

x264guiExではL-SMASH muxerにお世話になり、その機能を活用するなどして、このディレイカットにx264guiEx 2.05から対応している。

結論から言うと、現在のx264guiExでデフォルトの「AAC (ffmpeg)」エンコーダを使用して出力した場合、edit listの情報によるディレイカットがなされるため、encoder delayは補正され、(encoder delayが原因で)音ずれすることはない。



多くの方はAACエンコーダのディレイについてはご存じと思うが、このあたりのx264guiExでの対応方法をまとめたものがなかったと思うので、今回まとめてみた。
スポンサーサイト



x264guiEx 3.14

- qaac/fdkaacのコマンドラインに --gapless-mode 2 を追加。
qaacのm4a出力でedtsによるencoder delay打消しが適用され、ディレイカット「補正なし」でも「edts」相当の出力が可能に。

- x264guiEx 3.06から音声エンコーダffmpeg(AAC)使用時にディレイカットの「音声カット」「映像追加」が意図した動作にならない場合があったのを修正。
- 中国語翻訳の修正。
- そのほか多くのコード整理を実施。



※x264guiEx 3.00から導入方法が変更されていますのでご注意ください。

ダウンロード>>

x264guiEx 3.xxの導入方法
x264guiExのエラーと対処方法


x264guiEx 3.13

- デフォルトの音声ビットレートを128kbps/192kbps→256kbpsに変更。
- 各プリセットの音声ビットレートを128kbps/192kbps→256kbpsに変更。
音声ビットレートを節約する時代でもないかな、ということで音質重視よりに調整。

- exe_filesから実行ファイルを検出できない場合、plugins\exe_filesを検索するように。
exe_filesの場所をより柔軟にし、エラーをなるべく回避できるように。

- 縦解像度が2で割り切れない場合、自動的に下1pixelを切り落としてエンコードするように。
これもエラーをなるべく回避できるようにするため。

横解像度が2で割り切れない場合は引き続きエラーなので、Aviutl本体の「クロップ&リサイズ」フィルタで対応ください。

- 手順通り導入してもAviutlの出力プラグイン情報に表示されない場合について追記。
こちらに確認してほしいポイントや対策についてまとめました。



最近のx264guiEx 3.xxでは導入も以前よりは簡単になっているんじゃないかと思うし、エラーの原因もよりわかりやすくしているつもりだけど、まだx264guiExがエラーでいううこと聞かないというのも目にするので、まだまだ不十分なのだろうとは思う。

たぶん私の認識していないエラーとかもあると思うので、よくわからないエラー等はコメントやtwitter等で報告いただけると幸いです。



※x264guiEx 3.00から導入方法が変更されていますのでご注意ください。

ダウンロード>>

x264guiEx 3.xxの導入方法
x264guiExのエラーと対処方法


x264guiEx 3.12

※x264guiEx 3.12 (2022/06/11 21:50)
自動ログ保存の設定ウィンドウ(下記)の黒窓プラグイン対応漏れを修正しました。

x264guiEx_20220611_darken_window_01_auto_save_log.png



以下 x264guiEx 3.11の内容です。



- 黒窓プラグイン使用時に設定画面の描画を調整。
DarkenWindow.aulがロードされている場合に、設定画面等の調整を実施。

これまでよりは違和感をだいぶ低減できたと思っているけど、黒窓プラグインの指定に完全に合致させられているわけではないので注意。



Aviutlのテーマ切り替えを実現する黒窓プラグインという素晴らしいプラグインが公開されていて、いい感じのダークテーマに切り替えできる。それ以外にも、いくつかのテーマが用意されていて、そのうえ自分でカスタマイズも可能となっている。

ところが、これとx264guiExの設定画面の相性が微妙な感じで、これまではわりと違和感しかない感じの描画になってしまっていた。

これをなんとかしたいなあ、というのが今回の更新。実際に動かしてみながら、.NETの描画に関するプロパティをひとつひとつ試して調整してみた。

x264guiEx_20220609_darken_window_04.png

「完璧」というところまでは持っていけてないけど、だいぶ違和感はなくなったと思う。


x264guiEx 3.10

- 新たに中国語対応を追加。
中国語メッセージは、Nsyw様に提供いただきました。ご協力ありがとうございました!

x264guiEx_change_lang_3_10.png

中国語へ切り替えるとこんな感じ。

x264guiEx_change_lang_zh_20220605.png



今回からx264guiEx.iniに加え、英語表示用のx264guiEx.en.ini、中国語表示用のx264guiEx.zh.iniが追加されています。



※x264guiEx 3.00から導入方法が変更されていますのでご注意ください。

ダウンロード>>

x264guiEx 3.xxの導入方法


x264guiEx 3.09

※ 2022.06.03 11:35 : x264guiEx 3.09に更新。
x264guiEx 3.08で、一部の音声エンコーダのモード表示が文字化けしてしまっていたのを修正しました。



- プラグイン表示を英語にできるように。
以前からまれにいただいていた要望の反映。設定画面から変更可能にしました。

- Windowsの「表示言語」が「日本語」、あるいは「国または地域」が「日本」である場合は日本語、その他の場合は英語を標準として設定画面等を起動するように。

x264guiEx_20220530_language_switch.png

英語版の設定画面はこんな感じ。
x264guiEx_20220530_language_switch_en.png

まあ、私自身が英語版を使うことはないのだけど、要望をいただくことが何回かあったので対応してみた。

私自身、英語のソフトはCUIでは結構使っていても、GUIのものはほとんど使ったことがない(だいたい日本語化されている)ので翻訳の品質は微妙だと思うけど、まあだいたいわかるかなとは思う。

切り替えも、こんな感じで問題なくできそう。


もともとx264guiExは多言語対応など一切考えていなかったので、メッセージはコード埋め込みになっていて、それを全部チェックして切り替えられる形に変更しないといけなくてしんどかった。

できたテーブルはこんな感じ。 日本語 英語

結構チェックしたつもりだけど、かなりあちこち変更したので、もし文字化けしたり表示が怪しくなっていたら、教えていただけると幸いです。



今回からx264guiEx.iniに加え、英語表示用のx264guiEx.en.iniが追加されています。



※x264guiEx 3.00から導入方法が変更されていますのでご注意ください。

ダウンロード>>

x264guiEx 3.xxの導入方法



x264guiEx 3.07

すみません、不具合修正です…。

ご指摘いただいたx264guiEx 3.06の問題を修正。
mp3出力等mp4コンテナに入れない音声エンコーダを選択した場合にエラーが発生していたのを修正。

ご指摘ありがとうございました。



※x264guiEx 3.00から導入方法が変更されていますのでご注意ください。

ダウンロード>>

x264guiEx 3.xxの導入方法


x264guiEx 3.06

- ffmpeg AACを使用時に "-aac_coder twoloop" を指定するように。
"-aac_coder twoloop"をつけたほうが高音質とされているため、これをつけるようにした。一方で処理量が増加するようだが、全体のエンコード時間と比べれば微々たるもの。

- なるべくremuxerを使用するよう変更。

- ディスク容量が足りない時にどのドライブが足りないか表示するように。
エラー原因をわかりやすく。

- ログ表示でScrollToCarretを使用しないようにして、エラーを回避。



※x264guiEx 3.00から導入方法が変更されていますのでご注意ください。

ダウンロード>>

x264guiEx 3.xxの導入方法


x264guiExのAviutlへの導入 (2022)

x264guiExが3.00になって、これまでとAviutlへの導入方法がだいぶ変わったので、久しぶりにAviutlに導入するところのデスクトップキャプチャをとって、導入方法を紹介する動画をAviutl+拡張編集で作ってみた。(今回はx264guiExの導入に絞った動画にしてみた。)

前よりはx264guiExの導入が簡単になったんじゃないかなと思うんだけど、どうだろうか???

ちなみに、前に導入紹介動画を作ったのが2013年3月らしいので、なんと9年ぶり。

相変わらずデスクトップキャプチャだけで無理やりすべての素材を作ろうとしてるのと、編集技術がしょぼいのは見逃してください…。




youtubeテスト → https://youtu.be/pTfFv_V2Isc

使わせていただいたもの
Aviutl + 拡張編集 (KENくん様) im1696493
デスクトップキャプチャ アマレコTV (amaman様), Ut Video Codec Suite (ゆーむP様) im1922939
マウス操作視覚化 Orakuin 東九州ソフトウェア開発様
UVダウンサンプリング (うえぽん様)
各種拡張編集スクリプト (さつき様)
光彩スクリプト (kaisatsu様) sm36073137
イージングスクリプト (UndoFish/あんどぅ様) sm20813281
フォント 源柔ゴシック (自家製フォント工房 様)
BGM 野良猫は宇宙を目指した (しゃろう様) nc107578

ありがとうございます!

x264guiEx 3.05

よりエラーの原因がわかりやすいようにエラーメッセージを追加。

- 出力フォルダにファイルを作成可能かのチェックを追加。
さらにエラーチェックの強化。

- 簡易インストーラを直接実行した場合に、エラーメッセージを表示するように変更。
x264guiEx 3.00から導入方法を変更し、簡易インストーラを実行しなくてよいようにしたのだが、古い導入方法の記事などを参照して、 auo_setup.exe を探して実行してしまうケースがあるようだ。(フォルダ構造を変更してexe_filesの中に移動してあるのだが…

x264guiEx 3.00以降は auo_setup.exe の実行は不要なので、下記のようにそのことをお知らせするエラーメッセージを表示するようにした。

auosetup_error_20220426_01.png



※x264guiEx 3.00から導入方法が変更されていますのでご注意ください。

ダウンロード>>

x264guiEx 3.xxの導入方法


プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先: rigaya34589@live.jp
github twitter

最新記事
最新コメント
カテゴリ
月別アーカイブ
カウンター
検索フォーム
いろいろ
公開中のAviutlプラグインとかのダウンロード

○Aviutl 出力プラグイン
x264guiEx 3.xx
- x264を使用したH264出力
- x264guiExの導入紹介動画>
- x264guiExの導入
- x264guiExのエラーと対処方法>
- x264.exeはこちら>

x265guiEx
- x265を使用したH.265/HEVC出力
- x265guiExの導入>
- x265.exeはこちら>

QSVEnc + QSVEncC
- QuickSyncVideoによるHWエンコード
- QSVEnc 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC
- NVIDIAのNVEncによるHWエンコード
- NVEnc 導入/使用方法>
- NVEncCオプション一覧>

VCEEnc + VCEEncC
- AMDのVCE/VCNによるHWエンコード
- VCEEnc 導入/使用方法>
- VCEEncCオプション一覧>

svtAV1guiEx
- SVT-AV1によるAV1出力
- svtAV1guiExの導入>
- SVT-AV1単体はこちら>

ffmpegOut
- ffmpegを使用した出力
- ffmpegOutの導入>


○Aviutl フィルタプラグイン
自動フィールドシフト (ミラー)
- SSE2~AVX512による高速化版
- オリジナル: aji様

clfilters 
- OpenCLベースの複数のGPUフィルタ集
- 対応フィルタの一覧等はこちら

エッジレベル調整MT (ミラー)
- エッジレベル調整の並列化/高速化
- SSE2~AVX512対応
- オリジナル: まじぽか太郎様

バンディング低減MT (ミラー)
- SSE2~AVX512による高速化版
- オリジナル: まじぽか太郎様

PMD_MT
- SSE2~AVX512による高速化版
- オリジナル: スレ48≫989氏

透過性ロゴ (ミラー)
- SSE2~FMA3によるSIMD版
- オリジナル: MakKi氏

AviutlColor (ミラー)
- BT.2020nc向け色変換プラグイン
- BT.709/BT.601向けも同梱

○その他
x264afs (ミラー)
- x264のafs対応版

aui_indexer (ミラー使い方>)
- lsmashinput.aui/m2v.auiの
 インデックス事前・一括生成

auc_export (ミラー使い方>)
- Aviutl Controlの
 エクスポートプラグイン版
 エクスポートをコマンドから

aup_reseter (ミラー)
- aupプロジェクトファイルの
 終了フラグを一括リセット

CheckBitrate (ミラー, 使い方, ソース)
- ビットレート分布の分析(HEVC対応)

チャプター変換 (使い方>)
- nero/appleチャプター形式変換

エッジレベル調整 (avisynth)
- Avisynth用エッジレベル調整

メモリ・キャッシュ速度測定
- スレッド数を変えて測定

○ビルドしたものとか
L-SMASH (ミラー)
x264 (ミラー)
x265 (ミラー)
SVT-AV1 (ミラー)

○その他
サンプル動画
その他

○読みもの (ミラー)
Aviutl/x264guiExの色変換
動画関連ダウンロードリンク集
簡易インストーラの概要

○更新停止・公開終了
改造版x264gui
x264guiEx 0.xx
RSSリンクの表示
リンク
QRコード
QR