この動画の画面端にロゴを入れ(CNNのようなアレです。静止画)、DVDで使えるMPEG-2ファイルに変換したいです。
どのようにするのが一番効率的で画質の劣化を防げますか?
XviD(MPEG-4) から DVD-Video にするには最低限 MPEG-2 へのエンコードが必要になりますね。
なのでそれ以外のエンコードを発生させなければいいので、
ならどれでも良いかと。最後の方法は中間ファイルが必要ないので HDD を圧迫しません。
TMPGEnc のフィルタにウォーターマーク付加機能が見つからなかったので、最後の方法を詳しく。と云っても以下が書くまでもなくまとまっています。
TMPGEnc はプラグインでこのスクリプトに対応しています。
対応していないソフトでは以下のツールで AVI に見せかけると。
http://www.losttechnology.jp/Movie/super.html
http://cowscorpion.com/MultimediaTools/SUPER.html
http://www.erightsoft.net/S7f01.html
SUPER ©
簡単な設定ですぐに目的のフォーマットのファイルに変換が可能、 映像にウォーターマークの埋め込みが可能
ロゴ入れ、変換が一度でできます。
>画質よりもお手軽さ優先
画質が重要です。
TMPGEnc が RGB24 のみというのは VFAPI の制約ですか?
AviSynth Wiki - アプリケーションのAviSynth対応状況
RGB24 は R:G:B = 8:8:8 で、 RGB32 はそれにアルファチャネルを追加しただけなので、 RGB32 -> RGB24 変換では劣化はありません。
なお、はじめの投稿時点で色空間変換による劣化を考慮していませんでした。
エラーはどのようなものが? VFAPI 経由で読ませる場合は前に挙げたページにあるように plugin が必要です。
バージョンいくつをお使いか判りませんが、 3.0 以降では avs ファイルに対応しているような記述を見つけました。
avs ファイルは処理を記述して対応アプリケーションで読み込むと処理を行った動画ファイルのように扱われるものです。
AviSynth をインストールして、以下の例のようにファイルを作成、 TMPGEnc にドロップ、でウォーターマークが被せられたソースが認識されます。
TMPGEnc は必要性を感じてはいるのですがまだ購入していないため未確認ですが……
AviSource("<ソース>") # ソースファイルを読み込む IsRGB32() ? last : ConvertToRGB32() # サンプルスクリプトの流用 logo = ImageSource("<ロゴ>").ConvertToRGB32().ColorKeyMask($ffffff, 0) # ロゴファイルを読み込み RGB32 に変換、 $ffffff(純白) をカラーキーにして、透過させる Layer(last, logo, "add", x=300, y=200, level=255) # サンプルスクリプトまま ConvertToRGB24() # アルファチャネルを削除して RGB24 にする return last
CNN のウォーターマークを良く覚えていないのですが、単色のものでよいのなら AddWatermark プラグインで色空間を変換せずに出来ます。
TMPGEncはRGB24しか対応してない、でもLayerスクリプトはRGB32だったり、AVSファイルを読ませてもエラーがでるし、AVSファイルで一本の動画として認識されてどうやって合成するのかもわかりません。
TMPGEncでの使い方に絞ってもう少し詳しく教えていただけますか?