一括処理の方法
2010/08/15
Avidemuxを利用した動画ファイルの一括処理
コマンドラインから動画ファイルを一括処理する例.骨子ですが,先ほど用意したスクリプトファイルに手を加えて,
実行したコマンドをシェルスクリプトに組み込んで,
フォルダ内にあるmpegファイルを一括変換してくれるプログラムを書きます.
シェルスクリプト初心者なので,とりあえず動けばいい,ということにします.
スクリプトの編集
例えば,以下のように編集してやります.この例ではファイルをロードする行とカット編集の部分を消しています.
CMカットはできないですが,ファイルのロードがない分,汎用性が向上します.
//AD <- Needed to identify// //--automatically built-- //--Project: /途中省略/tera-hdd/mi-encode/SW-1.js var app = new Avidemux(); //** Video ** // 01 videos source //03 segments //** Postproc ** //** Filters ** app.video.addFilter("deinterlace","motion_trigger=15","blend_trigger=9"); app.video.addFilter("mpresize","w=1280","h=720","algo=0"); //** Video Codec conf ** app.video.codec("X264","AQ=24","188 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 1e 00 00 00 3c 00 00 00 0a 00 00 00 27 00 00 00 05 00 00 00 01 00 00 00 28 00 00 00 19 00 00 00 fa 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 05 00 00 00 10 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5a 00 00 00 "); //** Audio ** app.audio.reset(); app.audio.codec("aac",192,4,"80 00 00 00 "); app.audio.normalizeMode=0; app.audio.normalizeValue=0; app.audio.delay=0; app.audio.mixer("NONE"); app.setContainer("MP4"); setSuccess(1); //app.Exit(); //End of script
シェルスクリプトの作成
フォルダ内のすべてのmpegファイルを同一設定でmp4へ変換,その後mpegファイルを別のディレクトリへ移動して,インデックスファイルを削除して,操作完了としましょう.
#/bin/bash for mpeg in *.mpg do avidemux2_cli --autoindex --load "$mpeg" --run /途中省略/tera-hdd/mi-encode/Job-Avidemux/HD-16-9-1280.js --save "$mpeg-1280.mp4" done for mp4before in *.mpg-1280.mp4 do mp4after=`echo "$mp4before" | sed -e "s/\.mpg-1280//g"` mv "$mp4before" "$mp4after" done for mpeg in *.mpg do mv "$mpeg" "/途中省略/tera-hdd/mi-encode/tekito/kanryo/$mpeg" done for idx in *.mpg.idx do rm "$idx" doneこれで,一応の処理ができるはず.私の環境では実行できました.