最近はアニメのエンコードにハマり出しまして、aviutlの勉強をしてます。
ちなみにVista機は非力すぎるので、g6950搭載のCentOSからwine経由してx264guiを使用してます。(g6950もエンコするには非力なんですが^^;)
それで今までは自動フィールドシフトを使ってインタレ解除してたわけなんですが、途中のテロップがすごくカクカクになってしまうんですね。
なぜなのかなーと思って調べたらどうやらアニメ自体は24fpsで作られててもテロップは後付で60iになってるらしいのです。
まぁテロップが入ってる時間は短いし見ないことにすれば楽なんですが、今回はなんとか対処しようと思います。
色々調べた結果、以下の方法で対処できそうです。
(1) インタレ解除しない
(2) 全体を60fps化
(3) 60iテロップ部分だけ60fps化リサイズしないなら(1)が一番楽な気がしますがなんとなく1280x720に変換したいので却下。
(2)は再生不可やらサイズやら考えてとりあえず後回しに。
ということで今回は一番めんどくさそうな(3)に挑戦して見ました。
60iテロップ部分とその他部分を別々にエンコードして後で結合する感じです。
以下がその手順です。
1. DGindexでTSファイルからd2v、wav作成
2. faad.exeでwavをaacに変換する
3. aviutlでd2v、aacを読み込んでCMカットする。
4. 音声は後でmuxするのでまずwav出力。
5. 60iテロップが含まれない部分をインタレ解除を自動フィールドシフトにしてエンコード。
6. 60fps読み込みをし、60iテロップ部分をインタレ解除を自動にしてエンコード。
7. 4で作成したwavファイルを適当にエンコード。(私はneroAacEncで128kbpsのaacにしてます)
8. 5~7で作成したmp4とaacをMP4Boxを使ってmuxして完成!!
(ちなみにコマンドはこんな感じ MP4Box -add test-1.mp4 -cat test-2.mp4 -cat test-3.mp4 -add test.aac -new test.mp4)
とまぁ、こんな流れですかね。
音声を最後にくっつけるんで音ズレやら音飛びやらは多分大丈夫だと思います。
実際に見てみても60iテロップ部分は滑らかに動くしテロップ部分とその前後の結合部分で特に違和感は有りませんでした。
とりあえずやってみた感じなのでもっと楽な方法もあると思います。
スポンサーサイト