音MAD制作とコーデック ~場面に応じて最適なコーデックを追求する。
みなさん御機嫌よう。まいまいです。今回は個人的に動画のコーデックについて調べまくってたのでその情報の備忘録がてら音MAD制作におけるコーデックについてまとめていきます。内容間違ってたら指摘してください。
基本的に「なるべく高画質になるように動画を作りたい」前提で話を進めます。
目次
コーデック・コンテナとは
コーデック、コンテナとはなんぞや、という人のために一応ゆる~く説明しておきます。
コーデックとは、簡単に言ってしまうと、「動画/音声データの圧縮変換復元の方法」です。多分この理解で問題ないと思います。
コーデックによってファイルサイズが大きかったり小さかったり、あるいは画質が良かったり悪かったり、背景が透過できたり、エンコード速度が早かったり遅かったり、色々あります。
それに対して、コンテナとは、ファイルの形式(拡張子)とほぼ同義だと思ってください(動画ファイルに関してのみの話です)。MP4とかAVIとかMKVがそれに当たります。
コンテナによって使用できるコーデックが決まっており、コーデックによって書き出すファイル形式(=コンテナ)を選ぶ場面も出ると思います。
音MAD制作では、動画ファイルを沢山扱うことになるので、作業の場面に応じて最適なコーデックを用いていきたいものです。
ここからは、音MAD制作における各場面に応じて、どんなコーデックが適しているか述べていきます。
動画投稿時
いきなり動画投稿時かよ、と思うかもしれませんが記事構成上の都合です。許せ
さて、動画投稿をするときは使用するコンテナ・コーデックに選択の余地はありません。
コンテナはMP4、コーデックはH.264が最良です。
Youtubeのヘルプを参照すると、アップロードする動画の推奨エンコード設定は、
コンテナ:MP4
動画コーデック:H.264
となっており、ニコ動のヘルプでは推奨フォーマットが
ファイル形式:mp4
映像:H.264/AVC,Baseline profile, Main profile, High profile
24fps、30fps、60fps の固定フレームレート
とあります。
Aviutlで動画を作る方はx264guiexで「高画質」プロファイルで書き出したり、かんたんMP4出力で書き出せば問題ないファイルが出来上がると思います。
Aftereffects を使う方はMediaEncoderに送って、形式:H.264 プリセット「ソースの一致 – 高速ビットレート」で書き出しですかね?
残念なことに、基本的な動画サイトでは、動画を投稿しようとすると、公開前に一回動画がエンコードされます。これは避けようがないので諦めましょう。
大昔のニコ動では、ビットレート等の設定を上手いこと調整することで高画質で動画を投稿する技法がありましたが、今のニコ動ではとくにそういう裏技はありません。
「なるべく高画質に書き出してうpする」が基本方針だと思ってください。
合作参加時(提出)
合作の動画を提出するときは、基本的には募集要項に記されている提出形式に従ってください。指定されてなければ普通に動画投稿するときと同じmp4で良いでしょう。
合作で動画を作成するとき、前後パートとの切り替えの際トランジション(シーンチェンジ)を使うことが有るかと思います。
トランジションにBBやGBを使用して提出する方法もありますが、個人的にはこれはあまりオススメできません。
理由は簡単で、おっちょこちょいだったりいい加減な主催者だと提出された動画全体にクロマキーを掛けてしまい、自分のパート全体が青(または緑)の抜かれた状態になることが稀にあるからです。(信じられない話ですが、何例もあります。)
オススメの形式はシーンチェンジ部分だけを(ファイルサイズ的に問題がなければ全体でも構いません)アルファチャンネルのある形式で提出する方法です。GB,BBでの提出の場合、透明度を変化させての登場は不可能ですが、アルファチャンネルを持った形式で提出した場合は透明度を変化させることも可能です。
Aviutlでアルファチャンネルを持った動画を書き出す方法は複数あり、
- 拡張編集AVI/BMP出力で書き出す方法(ファイルサイズ大、可逆圧縮)
コーデックは圧縮設定からUtVideo T2 RGBA VCM, Lagarith Lossless codec, Grass Valley Losslessなどを選択することが出来ます。
当然ですが、事前導入が必要です。
- 拡張編集AVI/BMP出力で書き出す方法(ファイルサイズ中、不可逆圧縮)
Grass Valley HQ 、HQXコーデックを用いると不可逆圧縮でRGBAなAviファイルを書き出すことができます。
- ffmepg出力(ffmpegOut.auo)を用いて書き出す方法
最新版ではffmpeg出力でアルファチャンネルを持った動画の書き出しが可能になりました。本記事では扱い方に触れませんが、対応コーデック・コンテナを設定すればRGBAな動画を書き出すことができます。
以上の方法があります。
拡張編集AVI/BMP出力でRGBA(32bit)の設定(=無圧縮Avi)で書き出す方法もありますが、ファイルサイズが膨大になり主催・動画まとめ担当の負担が大きくなるので控えたほうが良いと思います。
あとは、連番png出力で書き出した画像を提出する、という方法も技術的には可能ですね。
長々と書いてきましたが、提出方法は主催の指示に従いましょう。それが確実。指示されてないなら確認してね
作成中動画のプレビュー用の書き出し
動画作成中に作った動画どんな具合か確認するために書き出すと思います。そんな時どんなコーデック・コンテナを使うか、という話です。
こういう一時的な書き出しの時は、なるべく早く書き出してくれることが重要かと思います。無難にx264 Mp4で書き出せば良いんじゃないでしょうか。
本記事の趣旨とはわずかにズレますが、x264出力guiexの高速プリセットを用いてエンコードするか、x264g guiexと作者が同じ出力プラグインの拡張NVEnc出力などのハードウェアエンコードプラグインを使うと比較的早く書き出してくれるかと思います。
素材の保管時
本当はこの項目を書くためにこの記事書き始めたんですが、疲れて適当になってます。
さて、基本的に素材保管する際は、特別な事情がない限り(サイズが非常に大きい、ファイル形式の問題で読み込み時にエラーが出るなど)自分でエンコードする必要は無いかと思います。手に入れた状態で保管ですね。
また、切り抜き素材などを作った際は、BB,GBにするのではなく先程述べたRGBAの形で保管しておくと、いちいちクロマキーを適応する必要もなくなり、便利かと思います。(多少ファイルサイズが大きくなりますが…)
人によっては、自分がよく使う素材の必要シーンを切り抜いて纏めておく方も居るかと思います。その際用いる形式は、x264 mp4をx264guiexの高画質プリセットなどで書き出しておくと良いのではないでしょうか。Aviだと少しサイズが大きすぎますね。
結論:x264 mp4最強
中身のないYoutuberのShort動画かよ…
コメントする?