2020年6月アーカイブ

TMPGEncとAviSynth

| コメント(0) | トラックバック(0)
AviUtlのプロジェクトファイル読み込みは環境設定で有効にさえすれば良かったのですね...。他、AviSynthのスクリプトを直接読み込むプラグインもあるそうで、DGMPGDecなるソフトを起動すればインストールされるのでこれも有効に、と。

それからフレーム番号を表示させれば飛ばすパターンもわかるということで、作業が楽になりました。
FFVideoSource("xx.mp4")
ScriptClip("Subtitle(String(current_frame%5))")

強制24fps化

| コメント(0) | トラックバック(0)
手元にですね、LDを適当にエンコードしたMP4動画が残っているのです。DVキャプチャしてTMPGEnc Mastering Works 5のフィルタはほぼデフォルトで、2パス1.5Mbpsの音声160kbps。

30(29.97)fpsのままインターレース解除になっているため、パンなどで引っかかりがあり耐えがたい。それが24fps化しなかったせいだと気付くのに9年かかりました(遅い)。やり直そうにもLDがもう手元に残っておらず、プレミアム価格のため買い直しもできず。

画像のビットレートが幸い2パスの上に高いので、再エンコで何とかしようと考えてみました。ちなみにチャプターあり。LDのチャプターを反映させようと...何をやっていたのでしょう、当時の私。

インタレが解除されている上にチャプターのところがキーフレームになり、間隔がずれる(ことがある)ので一筋縄ではいきません。調べた結果、以下のような手順になりました。

  • チャプターで分割する
mkvmergeを使うのでffmpegでmkvにしてから。
ffmpeg -i 01.mp4 -c copy 01.mkv
mkvmerge -o 01c.mkv --split chapters:all 01.mkv
  • AviUtl+AviSynthで24fps化してAVI変換
FFmpegSourceとか色々入れ、以下のようなavsをまず読ませる。
FFVideoSource("01c-001.mkv")
SelectEvery(5,0,1)
ズームやパンなど動きがわかりやすいところで重複フレームがないか確認しながらフレーム番号を4つにしていく。例えば5,0,1,2,4や5,0,2,3,4などになる。
  • まとめて1つにエンコード
AviUtlにまだ慣れていないのでTMW7です。厄介なソースはスマートシャープと場合によっては高精度ノイズ除去にすっかり依存の日々。01v.mp4とします。
  • 音声を移植
ffmpeg -i 01.mp4 -vn -c copy 01.m4a
ffmpeg -i 01v.mp4 -i 01.m4a -map 0:v -map 1:a -c copy 01x.mp4

多少手間取りますがこれで救済しているところです。TMW5だとAviUtlのプロジェクトファイルの形でならAviSynthを挟めるとかいう話もありますが。それはまだ試していません。
1

アーカイブ

ウェブページ

Powered by Movable Type 5.2.13

ホームページ