Aviutlの出力法にはご存知のようにエクスポートプラグインを使う、という方法がある。
様々な方がエクスポートプラグインを作ってくださっているのだけど、特にL-SMASH Works Muxerはmp4のカット、結合などが可能で便利。
ただ、単純に結合したいだけの場合、操作がやや面倒。そこで、この結合をコマンドで
出来ないか調べた…ていたら、探せなかったので、できるようなものを作った。
Aviutlでコマンドというと、
・
Aviutl標準機能
・
Aviutl Controlの二通り。
いずれもエクスポート系はなし…。
「Aviutl Control エクスポート」でぐぐっても出てこないので、Aviutl Controlのソースコードを参考に作った。
需要あるかよくわからないけど、なんか出来たので置いとく。
対応エクスポートプラグインの制限
使用可能なエクスポートプラグインは、
「L-SMASH Works Muxer」に加えて、
「エクスポート」をクリック
→ 「保存ファイル名」を入力する画面が表示される
→ 「保存」をクリックしてエクスポート開始
となるシンプルなエクスポートプラグインのみです。
例: L-SMASH Works Dumper
MP4 Export
使用方法
[#window] はコマンドを実行するAviUtlのウィンドウ番号。(省略可能)
・
auc_export.exe usage: auc_export [#window] #num
#numで出力プラグインを指定して、にエクスポートする
エクスポートの終了待機には同梱のauc_wait_export.exeを使用してください。
#numはAviutlの[その他]>[プラグインフィルタ情報]で表示される一覧での
対象のエクスポートプラグインの番号。
一番上が0で、以下1、2...
[その他]>[プラグインフィルタ情報]

番号の数え方 (結構面倒)
この例では
一番上が0なので、
L-SMASH Works Muxerは[23]
MP4 Exportなら[26]

・auc_wait_export.exe
usage: auc_wait_export [#window]
AviUtlのエクスポート出力が終了するまで待つ
普通のauc_wait.exeではエクスポート出力には対応できなそうなので。
サンプルスクリプト
結合のサンプルスクリプトも入れておいたので参考にしてもらえればと。
もちろんAviutl Control(aji様)も必要です。
wscript mp4cat.vbs "<mp4ファイル1>" "<mp4ファイル2>" ...
として、mp4ファイル同士をL-SMASH Works Muxerで結合します。使用時には、設定を自分の環境にあわせて書き換えてください。
いったん一時ファイルに出力してから移動しているのは、出力時に日本語ファイル名を回避するためです。ユーザー名に日本語があるとこれでも回避しきれない(一時フォルダは"C:\Users\<ユーザー名>\AppData\Low\Temp")ので、その場合は一時フォルダ名のあたりを工夫してください。
謝辞
Aviutl Controlを開発・公開してくださっているaji様に感謝いたします!
注意事項
まあいつものやつです。
無保証です。自己責任で使用してください。
auc_exportを使用したことによる、いかなる損害・トラブルについても責任を負いません。
auc_export ダウンロード>>
結合あれこれ
本来結合は、
・音声は別に一括出力
・映像を分割でRAW H.264/ESで出力 (x264設定は同じで)
・分割RAW H.264/ESを単純バイナリ結合
・mux
とやるのが一番いいのかもしれないけど、どうなんだろう。
もっと自動で簡単にできるといいんだけど…。
まあ結合自体わりと地雷だし、違う設定の映像の結合とかは完全に地雷だと思うのであまりやらないほうがいいかもしれない。
スポンサーサイト