Aviutlからffmpeg.exeとかavconv.exeを使って出力するプラグインを作って遊んでみた。なんかできた。
遊びとしてはまあ面白いが、特に実用性はなかった。にしてもffmpegのコマンドはよくわからんです。
いつ使うの?
さあ?
いろいろな方がさまざまな出力プラグインを作ってくださっているので、現状でもほとんどなんでも出力できる。
ってことは、使う機会ないかも?
ということで遊んでみたい人用においておきます。
x264を利用したい場合には、特に理由がなければx264guiExを使用したほうが便利だと思います。
使い方
基本的にはx264guiExと同じ。
インストールされてなかったら、
VC++ 2008 SP1 再頒布可能パッケージをインストール。
さらにインストールされてなかったら(Vista/Win7ではインストール済みなので不要)、
.NET Framework 2.0(SP2) Runtime (x86).NET Framework 2.0(SP2) Runtime (x86) LanguagePackの2つをインストール。
ffmpegOut.auo、ffmpegOut.ini、ffmpegOut_stgフォルダ をAviutlのpluginフォルダにコピー。
ffmpeg.exeなりavconv.exeなり、実行ファイルを用意して設定画面から指定。
プリセットとかを参考に設定して使ってみてください。
ffmpeg/avconvのバージョンによっては、プリセットでは動かないかもしれませんので、そこは適宜変更してください。ffmpegのコマンドのバージョンによる変遷とか、細かいコマンド(オプション)とかはよくわからんです。
処理概要
[通常]
1) 音声出力
2) 動画エンコ + 出力した音声を"-i"で読み込み
[自動2pass時]
1) 1pass目の動画エンコ + 音声出力
2) 2pass目の動画エンコ + 出力した音声を"-i"で読み込み
動画設定
・
自動2passエンコード2回エンコードを回し、自動的に2passエンコードを行います。
・
転送色空間ffmpeg/avconvにどの色空間で映像データを渡すかを決定します。
・
インタレ保持ffmpegOut.auoでのYUY2->NV12変換でインタレ用を使用するかどうかです。インタレ保持エンコを行うためには、この設定だけでなく、ffmpeg/avconv側のコマンドにもインタレ保持のコマンドを記述する必要があります。
・
出力拡張子出力ファイルの拡張子を、ここで設定した拡張子に上書き・追加できます。ffmpeg/avconvによるエンコードでは、さまざまな動画をエンコードできるため、設定画面から拡張子を変更できるようにしました。
・
エンコーダ優先度ffmpeg/avconvのCPU優先度の設定です。
・
一時フォルダエンコ中の動画ファイルの出力位置を変更できます。
最終的に渡されるコマンドライン
part-A~Eが順番に組み合わさって構成されます。
[part-A 映像入力情報]
パイプで映像データを転送
-f rawvideo
-vframes <フレーム数>
-s <width>x<height>
-pix_fmt <「転送色空間」で設定されたもの>
-r <fps>
-i "-"
[part-B 音声入力] (音声出力が行われ、「音声を有効」にチェックが入っている場合)
-i "%{audpath}"
[part-C コマンド入力欄]
改行が削除された後、そのまま追加されます。ここで-vcodecや-acodec、さらに-b:v(映像ビットレート)、-b:a(音声ビットレート)を指定してしてください。
[part-D 自動2passエンコード] (自動2passが設定された時のみ)
-pass x
[part-E 上書きの強制(-y)と出力ファイル名]
-y
"%{savpath}"
いつもの注意事項など
無保証です。自己責任で使用してください。ffmpeg / avconv 出力 (ffmpegOut.auo)を使用したことによる、いかなる損害・トラブルについても責任を負いません。
ダウンロード>>