強制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を挟めるとかいう話もありますが。それはまだ試していません。

トラックバック(0)

トラックバックURL: https://mychro.mydns.jp/cgi-bin/mt/mt-tb.cgi/658

コメントする

アーカイブ

ウェブページ

Powered by Movable Type 5.2.13

ホームページ