x264guiEx 0.00 改め 0.01

最近のトレンドはAviutlからのパイプ出力ですな。だが…

あくまでもGUI。

Yan氏のx264 for Aviutlはおそらく全てのx264に対応できる
一番いい方法なんだがGUIが欲しい…
ということでx264guiを改造してパイプ対応 + afs対応してみた。

手抜きなのでタイムコード関係は tc2mp4Mod に丸投げ。
muken氏に感謝。

で…本音は…
設定ファイルの互換性がしょっちゅうなくなんのがめんどくなってきた…
x64なx264とか使ってみたい…
だがGUIは欲しい…

わがまますぎてすまん。 仕組みとしては GUIの設定からx264へのコマンドラインを作って、映像データはパイプを使ってx264に送り込んでエンコードさせるというもの。

今回のx264guiEx.auoは基本的にはx264 r1804用だけど、x264のコマンドラインの仕様が変わらない限り、このままでいける。



【インストール】

Aviutlのプラグインフォルダに
x264guiEx.auo、x264guiEx.ini、x264guiExDefault.ini
3つを放り込んでください。

また、以下のものが必要なので、インストールしてください。
インストールされてれば必要ないです。
.Net Framework 2.0 SP2 リンク>>
.Net Framework 2.0 SP2 LanguagePack リンク>>
VC++ 2008 SP1 再頒布可能パッケージ (x86) リンク>>


【使用方法】


1. 以下のものが必要になりますので、とりあえず集めてください。
- x264.exe (x86 / (64bitOSなら)x64も可)
- 何らかの音声エンコーダ(neroaacenc、qtaacenc等)
- 出力するコンテナのmuxer(mp4box, mkvmerge等)

ダウンロード先の例 (このほかにもいろいろあります)

・x264 (8bit depthのもの)
http://x264.nl/
・neroaacenc
http://www.nero.com/jpn/technologies-aac-codec.html
・mp4box
http://www.videohelp.com/tools/mp4box
・mkvmerge
http://www.bunkus.org/videotools/mkvtoolnix/

あるといいかもしれないもの
・qtaacenc
http://tmkk.pv.land.to/qtaacenc/ (要QuickTimeインストール)
・lame
http://www.rarewares.org/mp3-lame-bundle.php
・FAW+fawcl
http://2sen.dip.jp/cgi-bin/friioup/upload.cgi?search=FakeAacWav&sstart=0001&send=9999
・ext_bs
http://www.sakurachan.org/soft/mediatools/
・ffmpeg
http://blog.k-tai-douga.com/


2. 自動フィールドシフトを使用し、mp4出力する場合、さらに
- tc2mp4Mod  http://vfrmaniac.fushizen.eu/OtherStuff/
が必要です。

muxerの場所を指定する欄に
mp4boxの場所 -> 最新のmp4boxの場所
tc2mp4Modの場所 -> tc2mp4Modの場所
というようにしてください。
(追記)0.00の時は同梱のものを指定する欄がありましたが、mp4boxも新しいものを使うべきだとmuken氏にご指摘をいただいたので、その欄は廃止しました。よくない方法を述べてしまい、申し訳ありません。

3. 設定画面を開いたら、以下の場所を指定してください。
- x264.exe
- 使用するコンテナのmuxer
- 使用する音声エンコーダ
自動フィールドシフトを使用する場合は、さらに
- tc2mp4Mod
- mp4box_tc用


4. エンコードのパラメータを調整してください。
x264に渡される予定のコマンドが下部表示欄に出ます。
実際には、下部表示欄に出たものに、次のコマンドを
自動的に追加したものが渡されます。
- コマンド入力欄のコマンド
- 解像度情報 (--input-res)
- 色空間情報 (--input-csp yv12)
- フレームレート情報 (--fps)
- 出力先情報 (-o)
- 入力元情報 (パイプ)


5. OK をクリックして、設定画面を閉じる
6. 出力ファイル名を指定して、保存 -> エンコード開始。




【注意点】

自己責任で
動くとは限りません。また、出力が正しい(?)とも限りません。私に動画ファイルやエンコードのさほど深い知識があるわけではありませんので、あんまり細かいことを言われても困ります。まったくわかりません。そのため、改造版を使用する場合、そのあたりをご理解いただき、自己責任でお願いします。
x264guiExの使用によるいかなる直接的・間接的・精神的ダメージを被っても責任はとりません。

・2passの制限
重要なことですが、自動フィールドシフト(afs)を有効にした場合、「自動マルチパス」以外の方法での2-pass(およびn-pass)エンコードは失敗します。これは afsによるdrop数が2pass目以降事前にわかっていなければならないためです。自動フィールドシフトを使わない場合は問題ないです。readmeには強制的に手動でやる方法も書いときましたが、非推奨。

・これまで(x264guiで)行われていたコマンド入力欄のパラメータチェックは行いません。これによってパッチをあててオプションを追加したx264にも対応できるはずです。一方で間違ったコマンドラインも素通りさせてしまうので、間違っていると、エンコードされませんので注意してください。

・パイプを作成するには、CreateProcess関数なるものを使うのですが、調べると管理者権限が必要なことがあるっぽいことが書いてありますのでそこらへんよろしくです。

あと詳しくはx264guiEx_readmeを。




GUIなのはいいけど、そのせいでたまには更新しないといけない時があると思う。たとえばコマンドの形態が変わったときとか。なるべく更新しなくてもいいように設計したつもりだが、GUIである以上更新はしょうがない、それがGUIの大きな欠点。

たとえば、パラメータの生成には、デフォルト値が重要で、それがx264guiExDefault.iniに書かれている。今のiniはx264 r1804用。x264のパラメータのデフォルトが変われば、これを更新たりしないといけない。


ダウンロード>>


スポンサーサイト

コメントの投稿

非公開コメント

No title

x264out.auoみたいにTCP Deliverを使えば管理者権限は必要無いと思いますがどうでしょう?

Re: No title

なるほど、TCP Deliverにはそのような利点があるのですか…。

うーん、これまでのx264guiのように、x264.exeのログも取り込んでウィンドウにとっておきたいのです。(自己満足ですが。)そうするとやっぱりそれもパイプでx264.exeの標準エラー出力からとってくることになるんで、難しいです。

本音もちゃんと書きます。
大規模な改造は…したくなかったんです…ごめん。

No title

えーとですね。
tc2mp4Modに同梱のMP4Boxはかなり古いため、使用しないで頂きたい。
一番大きな理由は、最新のx264が出力するストリームを正しくmuxできないからです。

とりあえず、こちらでtc2mp4Modに同梱のMP4Boxをgolgol氏のgit repoのなるべく新しいMP4Boxに差し替えとくことにします。

Re: No title

edtsのあたりの問題でしょうか…
お手数おかけしてすみません。

なんか特殊なmp4boxが必要なのかと勘違いしていましたが、よく考えると大丈夫なのですね。
最新のmp4boxを使うようにGUIや記事を修正します。

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Re: No title

その通りです、はい。

差し替えました。

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

No title

afsのログ出力を利用したエンコードを行おうとしましたが、コマンドタブで--tcfile-in "c:\path\to\timecode.txt" --timebase 1001/120000 をつけたところ、自動で--fps 30000/1001を指示してしまうため、エンコードできません。
--tcfile-in用の入力ボックスの設置、及び--tcfile-in使用時は--fpsを指定しないよう改良していただけないでしょうか?

Re: No title

なるほど、わかりました。

ちょっと時間かかるかと思いますが、頑張ります。

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先(@を半角にしてください!)
rigaya34589@live.jp
github

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

○Aviutlプラグイン
x264guiEx 2.xx (ミラー)
- x264を使用したH264出力
- x264guiExの導入>
- x264.exeはこちら>

x265guiEx (ミラー)
- x265を使用したH.265/HEVC出力
- x265.exeはこちら>

QSVEnc + QSVEncC (ミラー)
- QuickSyncVideoによるH264出力
- QSVEncCはコマンドライン版
- QSVEncC 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC (ミラー)
- NVIDIAのNVEncによるH264出力
- NVEncCオプション一覧>

VCEEnc + VCEEncC (ミラー)
- AMDのVCEによるH.264出力

ffmpegOut (ミラー)
- ffmpeg/avconvを使用した出力

自動フィールドシフト (ミラー)
- SSE2~AVX2による高速化版
- オリジナル: aji様

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

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

PMD_MT (ミラー)
- SSE2~FMA3による高速化版
- オリジナル: スレ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 (ミラー)

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

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

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