†ぽんこつビデオ工房†

Avidemux_cli コマンドライン版Avidemux

作成開始日 2022.07.29
最終更新日 2022.12.30

Avidemux 2.6.8にはコマンドライン版も存在する。ファイル名は「Avidemux_cli.exe」。コマンドラインなので細かな編集処理はできないが(pyファイルを実行させる事は可能)、簡単なコーデックの変換などには非常に便利。たとえば、何本ものVROファイルをCOPY/COPYで素通しavi変換する場合、GUI版でいちいち1本ずつ読み込んで保存していたらたいへんな手間になる。しかし、コマンドライン版ならば、バッチ一つで後は寝て待てばよい。

もうちょっと、具体的に言うと−−

HDDレコーダーで録画した動画ファイル(VRO新OB仁peg2)をAvidemuxでフレーム単位編集して、そのプロジェクトファイルのデータを元に、ffmpegで実際の変換を掛けているのだが(こうした方が圧倒的に速く奇麗に変換できる)、このとき、生のVROや、VROをffmpegで素通し変換したmkvやaviを使用すると、カット部分に大きな誤差が発生してしまう。

これを防ぐには、ffmpegでいったんFFmpeg4(-qscale 0)に変換してから、編集処理を行うと良いのだが、これがけっこう時間が掛かる。また、ffmpegではなく、Avidemuxで素通しavi変換を掛ければ誤差は防げるのだが、こちらは手作業で1ファイルずつ読み込んで処理しなければならず、手間が掛かる。まあ、キューに登録してジョブとして一括実行すれば、多少は手間が省けるが、読み込みの手間は同じで、大した省力化にはならない。

しかし、avidemuxがコマンドラインで使用できれば話は別。素通し変換処理なので、再エンコードも編集も不要、単にコンテナを変換するだけで良い。このような場合、以下のような構文で変換を掛ければよい。

avidemux_cli --load 入力ファイル --video-codec COPY --audio-codec COPY --save 出力ファイル
たとえば、「myfile.vro」を「myfile.avi」に素通し変換するなら;
avidemux_cli --load myfile.vro --video-codec COPY --audio-codec COPY --save myfile.avi
なお、avidemuxのディレクトリにパスが通っているわけではないので、実際には、avidemux_cliはフルパスで記述する必要がある。また、複数のファイルを一括変換したければ、以下のようなバッチファイルを作成する。
@for %%f in (%1) Do @(
"C:\Program Files\Avidemux 2.6 - 64bits\avidemux_cli" ^
--load %%f --video-codec COPY --audio-codec COPY --save %%~nf.avi
)
ここで、2行目末尾の「^」は継続行を意味する(2行目と3行目は1行として処理される)。また、3行目末の「%%~nf」は入力ファイルのファイル名本体部分(拡張子やパスを除いたもの)を意味する。つまり、ここでは、入力ファイルの拡張子を付け替えて、出力ファイル名としている。

で、このバッチを、たとえば「avdmxcl.bat」とすると;

avdmxcl *.vro
で、カレントにある拡張子「.vro」のファイルを全てaviに素通し変換してくれる。ちなみに、「avdmxcl *.avi」とすると、入力ファイル名と出力ファイル名が重複するので注意。また、mpeg系(VRO/VOBを含む)の連番処理を抑止する方法が判らないので、できれば生VROではなく、mkv素通し変換を掛けてから「avdmcl *.mkv」とすることを推奨。

連番処理の抑止は、テキストファイルから応答を入力する方法で回避は可能。たとえば、「answer.txt」というファイルを作成し、中身を「n[Enter]」としておけば、
avidemux_cli --load 01.vro …… --save 01.avi < anwaser.txt
の要領で、連番処理の質問に対して自動的に「n」(連番処理しない)が入力される。ただし、質問の内容に拘らず「n」を入力するわけで、場合によってはトラブルの原因にもなる。

なお、次のようなオプションも指定可能(詳細は--help参照)。

--help		ヘルプの表示
--nogui		サイレントモードのようだが、イマイチわからん
--video-codec	xvid、FFmpeg4、x264?などが指定可能;COPYは素通し
--audio-codec	MP2、MP3、AC3などが指定可能;COPYは素通し
--video-conf	ビデオ変換時のオプションだと思うが、イマイチわからん
--begin		切り出しの開始点(frame単位)
--end		切り出しの末尾(frame単位)
ただし、「--begin」「--end」などの編集指定と思われるオプションは、使い方が全く判らない。部分切り出し等をする場合は、avidemux_cliにプロジェクト・ファイルを読み込ませると良い。


【ぽんこつビデオ工房目次】 【ホーム】