エンコしたい

こないだBDドライブを試して、リッピングにせよ録画にせよ、
tsだとデカすぎて扱いづらいからエンコが必須だなー・・・
ってことで、少しエンコについて調べてみた。
いやあーなかなか難しいんだねぇ・・・

まずtsを映像(m2v)と音声(aac)に分離して、
m2vをH.264にエンコードして、
h264とaacをremuxしてmp4を作る方法を知る。

FFmpegで分離。
ffmpeg -i aaa.ts -an -vcodec copy aaa.m2v
ffmpeg -i aaa.ts -vn -acodec copy aaa.aac
x264でh.264にエンコード。とりあえずオプションは適当。
x264-10b-r2409-d6b4e63.exe –preset medium –no-interlaced -o aaa.h264 aaa.m2vそしてMP4Boxでh.264とAACを合体。
MP4Box -add “aaa.h264”:par=4:3#video -add “aaa.aac”#audio -fps 29.97 -new “aaa.mp4”これで出来上がったけど、案の定音ズレが・・・

tsをMediaInfoに突っ込んでみると、「Audio」部分に
Delay relative to video : -332msと出てきて、これでズレを補正してるっぽい?
分離しちゃうとその情報が無くなっちゃう。

で、AACに分離するときに切ってみたり・・・
ffmpeg -i aaa.ts -vn -acodec copy -ss 0.332 aaa.aacmp4にremuxするときにズラしてみたり・・・
MP4Box -add “aaa.h264”:par=4:3#video -add “aaa.aac”#audio -delay 2=-332 -fps 29.97 -new “aaa.mp4”したけど、やっぱり直らない(´・ω・`)

「そもそも分離なんかせずにFFmpegで
そのままエンコードしちゃえば良くない?」と気付いて試す。
ffmpeg -i aaa.ts -pix_fmt yuv420p -acodec copy -absf aac_adtstoasc -vcodec libx264 -preset medium aaa.mp4これならズレない!
これならコマンド1個でエンコード出来るから便利そう。

もともとCMカットやロゴ除去などの手間を掛けるつもりもないし、
画質もそこそこで良いので、全自動化も視野に入れた手軽さ重視で。
てか、画質とか求めるならBD買えよって話。

で、今度はエンコードのオプションを見ていたんだけど・・・
速度と画質と容量の駆け引きがホント難しいね・・・(苦笑)
無駄に画質重視な設定にすると、i7のマシンなのに
軽く再生時間の4倍くらい掛かったり・・・
-vcodec libx264 -preset slow -tune animation -crf 20.0 -refs 5最終的にこれ位の設定なら画質も極力維持しつつ、
再生時間とちょっと位で終わってギリギリ現実的かな?
但しi7のハイスペックなマシンで・・・

エンコを考えると要求されるスペックが高くなりすぎて困る・・・
QSVとかCUDAとかハードウェアでエンコードする手法もあるけど、
どうにも画質的に良くないみたいだねぇ。

まぁ細かくは録画環境なりを整えたときに再度調べてみようかと。
とりあえず色々と大変なコトは分かった(´・ω・`)

じゃ、ゲームして寝るー
バイニー☆

test?

コメントを残す