2011年6月30日木曜日

MP4BoxでMP4の無劣化カットをしてみた

アニメをエンコしたら1フレームだけCMのフレームがあったお!→でもそのフレームを切り離すだけだからもう一回エンコするのは嫌だし・・・→無劣化カットしてみるか!

ということでしてみました。
必要なところだけ抽出→結合という流れでしています。

ここを参考にしました。

-split-chunk で出来るようなので超簡単なバッチファイルを書いてみた。

@echo off
set MP4BOX="F:\aaa\bbb\MP4Box\MP4Box.exe"
set InputFile="F:\ddd\eee.mp4"
%MP4BOX% -split-chunk 1415.037:1429.927 %InputFile%
pause
exit

MP4Boxのパスなどは適宜書き換えてください。

上の例では23分35.037秒から23分49.927秒の間を指定して抽出しています。
分から秒に換算して抽出しています。
小数点も扱えるか心配したけど扱えてよかった。

最初から指定したい場合や開始後10秒から指定したい場合は 1415.037 の所を 0 や 10 とかにすればおk。
終了時間も同じ要領で。

時や分を必ず秒に換算して指定してください。

抽出したファイルを結合する超超簡単なバッチファイルは、

@echo off
set MP4BOX="F:\aaa\bbb\MP4Box\MP4Box.exe"
set InputFile="D:\ccc\Test.mp4"
set InputFile2="D:\ccc\Test2.mp4"
set outfile="D:\ddd\結合済み.mp4"
%MP4BOX% -add %InputFile% -cat %InputFile2% -keepsys -new %outfile%
pause
exit

です。
これもMP4Boxのパスなどは適宜書き換えてください。
これで結合できると思います。

上に書いているバッチファイルはテキストファイルにコピペして、拡張子を.batにすれば使えます。

もし上手く分割できなくてもおいらは知らね

追記
ランダムアクセスポイントが上手く入ってないと無理

0 件のコメント: