AviUtlにて、「FFmpegOUT」という出力プラグインを使用して、
- 「webm」
- 「asf」
などのフォーマットで動画を出力する方法について紹介します。
FFmpegOUTとは?
FFmpegOUTは、AviUtl上からFFmpegという動画・音声のエンコーダーを使用して動画をエンコードする事ができる出力プラグインです。
これ1つで他の出力プラグインの機能を全て補えてしまうほど機能が充実しています。
「出来ない事はほぼ無い」と言って良いレベルです。
FFmpegとは?
FFmpegは、オープンソースなフリーの動画エンコーダー・デコーダーです。
この世に存在するエンコーダー・デコーダーの中で一番有名と言っても過言ではありません。(Youtubeのコアシステムにも使われています)
FFmpegを使用する事で、この世に存在するほぼ全ての動画フォーマット・コーデックで動画をエンコードできます。
どんな動画形式・コーデックに対応している??
例えばほんの一例ですが、以下の様な動画フォーマット・コーデックでエンコード出来ます。
- asf(MPEG-4・WMA)
- asf(MPEG-4・MP3)
- webm(VP9・Vorbis)
- webm(VP8・Vorbis)
- mp4(H.264・AAC)
- mp4(H.265・MP3)
- mp4(MPEG-2・OGG)
- m2ts(H.264・AC3)
- m2ts(H.264・LPCM)
- ts(MPEG-2・MP2)
- ts(H.264・AC3)
- gif(ditherなども指定できる)
- ・・etc
こんな感じで、動画フォーマットとコーデックをそれぞれ自由自在に組み合わせる事ができます。
例えば、最新コーデックである、
- 「VP9」
- 「H.265/HEVC」
などを使ってエンコードする事も可能です。
このプラグインの欠点
この出力プラグインの唯一の難点は、動画フォーマット以外のエンコードオプションは全てCUIで指定しなければならないという点です。(ある程度コマンドを覚える必要がある)
PC初心者の人には敷居が高いプラグインとも言えます。
準備作業
準備するものとしては、
- FFmpeg
- FFmpegOUT
の2つです。
それぞれ別々にダウンロードする必要があります。
FFmpegOUT
作者は「x264guiEx」出力プラグインでお馴染の「rigaya」氏です。
以下、導入方法です。
- こちらのページにて「FFmpegOUT」をダウンロードする
- 右サイドバーの「○Aviutlプラグイン」の下にあります
- ダウンロードしたファイルを展開する
- フォルダの中にある「auo」フォルダの中にある、
- 「ffmpegOut.auo」
- 「ffmpegOut.ini」
- 「ffmpegOut_stgフォルダ」
の3つのファイルをAviUtlフォルダに移動させる
以上でFFmpegOUTの導入は終了です。
FFmpeg
以下、導入方法です。
- こちらのページから「FFmpeg」をダウンロードする
- 「Static」と書いているファイルで、32bitOSの人は32bit版を。64bitOSの人は64bitか32bit版を。(64のがエンコが速いかも)
- ダウンロードしてきたファイルを展開する
- 中に入ってる「bin」フォルダの中にある「ffmpeg.exe」を適当な場所に移動させる(好きな場所で良い。AviUtlの「exe_files」の中とかが良いかも)
以上で準備作業は完了です。
OSがXPの人は以下のファイルも導入する必要があります。(vista以降は不要)
.NET Framework 2.0(SP2) Runtime (x86)
※[NetFx20SP2_x86.exe]というのをダウンロード・インストールします。
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=5b2c0358-915b-4eb5-9b1d-10e506da9d0f.NET Framework 2.0(SP2) Runtime (x86) LanguagePack
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=C69789E0-A4FA-4B2E-A6B5-3B3695825992
使い方
AviUtlメニューの「ファイル」→「プラグイン出力」→「ffmpeg/avconv 出力」を選択し、出てきた画面で「ビデオ圧縮」を選択します。
ちなみに「avconv」というlibavでのffmpegの別名だと思います・・?
参考:ffmpegがavconvという名称に代わる?と雑記 | 銀メモ -SilveryMemo-
参考:本の虫: ffmpegとlibavの背景事情
すると以下の様な画面が開かれるので、左上の「ffmpeg.exe / avconv.exe の指定」の部分にて、先ほどDLした「ffmpeg.exe」へのパスを指定します。
これで初期設定は終了です。
あとは元の画面に戻って「保存」を押すだけで目的の動画フォーマットで出力できます。
各種設定項目
上メニューにある「プロファイル」にて各フォーマット・コーデックのサンプル設定が開けます。
- 出力拡張子:
- 出力したい動画フォーマットを指定します。
- 動画コーデックについては、指定した動画フォーマットのデフォルトのコーデックが指定されます。(例えば.mp4と指定すればH.264・AAC、.webmと指定すればVP9・Voribis、)
- 自動2passエンコード:
- コマンドで2pass指定しなくてもこのチェックを付けるだけで2passになるみたいです
- yuy2→nv12変換:
- nv12色空間に変換する際に、インタレ保持かプログレッシブ用にするかを指定します。(インタレ保持したい場合は別途コマンドも打ち込む必要がある)
参考:インターレース動画とプログレッシブ動画の違い
- nv12色空間に変換する際に、インタレ保持かプログレッシブ用にするかを指定します。(インタレ保持したい場合は別途コマンドも打ち込む必要がある)
- 音声エンコーダ:
- 音声のエンコーダを指定します
使いそうなのはこんな所です。
FFmpegの各種コマンドについては以下のサイトなどが参考になります。
このページの情報は以上です。
コメント
長文失礼します。AviutlにFFmpegを導入して、編集したものをプラグイン出力→ffmpeg/avconv 出力で出力拡張子を.webmにしてエンコードした動画をYouTubeにアップしたのですが.mp4となってしまいます。最近のYouTubeに投稿されている高画質な動画の詳細統計情報を見ると、video/webm; codecs=”vp9″となっていて、私がアップした動画を見るとvideo/mp4;codecs=”avc1.4d400c”
となっていて画質もあまり良くないしvp9になりません。動画は1920×1080 60fpsです。(vp9コーデックだと高画質と捉えています)簡単なことでしたら申し訳ないのですが、教えてくれないでしょうか。
以下記事を参考にして下さい。
⇒【Youtube】WebM(VP9)とMP4(H.264)の違い【詳細統計情報】
解決しました。ありがとうございます。
m2tsで出力をすると動画ファイル(H.265)と音声ファイル(AC3)がmuxされずに出てきてしまいます。
([mpegts @ 000002b982288c40] Stream 1, codec mp2, is muxed as a private data stream and may not be recognized upon reading.と表示される)
どうしたらmuxできるか教えてくださいお願いします。(H.264でも上手くいかず)
コマンド
-c:v libx265 -crf 18 -preset slower -tune animation -pix_fmt yuv420p -movflags +faststart
長文すみません。