最近のお手軽mp4作成手順
最近なにも更新してなかったので、とりあえず最近のお手軽mp4作成手順。
DGIndexに、こんなAVSテンプレートを登録しています。
DGDecode_mpeg2source("__vid__", info=3) # color correction #ColorMatrix(hints=true) # VFR one pass tfm(d2v="__vid__").tdecimate(mode=3,hybrid=2,vfrDec=1,mkvOut="timecode.txt") # noise filter #TBilateral()
DGIndexでDVDからd2v作ったあと、これをmeguiでmp4にエンコード。
そのあと、始めにd2vを保存したときの名前を引数にして、こんなバッチスクリプトを実行してVFRなmp4の完成。
set PATH=c:\megui;%path% if exist "%1 T01 48K 16bit 2ch.mp4" ren "%1 T01 48K 16bit 2ch.mp4" %1.m4a if exist "%1 T01 2_0ch 448Kbps 48KHz.mp4" ren "%1 T01 2_0ch 448Kbps 48KHz.mp4" %1.m4a if not exist %1.m4a neroAacEnc -if "%1 T01 3_2ch 448Kbps DELAY 0ms.wav" -of %1.m4a -2pass -he -br 320000 if not exist %1.m4a neroAacEnc -if "%1 T01 48K 16bit 2ch.wav" -of %1.m4a if not exist %1.m4a neroAacEnc -if "%1 T01 2_0ch 448Kbps 48KHz.wav" -of %1.m4a tc2mp4 -i %1.mp4 -t timecode.txt -o %1_vfr.mp4 mp4box -add %1_vfr.mp4:par=32:27 -add %1.m4a:lang=jpn -new %1_vfr.mp4 mp4box -info %1_vfr.mp4
PATHの設定を自分の環境にあわせて適当に変更した後、拡張子cmdのファイルとして保存。音声エンコードにはNero Platinum Suite - Award-winning all-rounderを使ってます。
VFR用ツールをバージョンアップ
tc2mp4_20060613.rar - password: doom9.org *1
- timecode v1/v2両対応
- NTSC以外にも対応
*1:リンク切れなので、こちら→tc2mp4_20070124.rarをご利用ください
NeroのAACエンコーダがバージョンアップ
Nero Digital Audioが1.0.0.2にバージョンアップ。
音質面での修正もちょびっと入ってるらしい。
Nero Platinum Suite - Award-winning all-rounder
VFRなmp4の作り方(3)
24fpsと30fpsが混合したmp4を作る自分的手順(自動化編)
timecode v1対応のnhml→VFR変換スクリプトを作ってみた。
これの場合、timecode v2対応のものに比べて、30000/1001とか24000/1001など、より正確なフレームレートが再現できる。
使い方: mp4box -nhml 1 cfr.mp4 (VFR変換スクリプト) -i mkv-timecodesfile.txt -n cfr_track1.nhml -o vfr_track1.nhml mp4box -add vfr_track1.nhml -new vfr_track1.mp4 mp4box -add vfr_track1.mp4 -add cfr.aac -new vfr.mp4
VFRなmp4の作り方(2)
24fpsと30fpsが混合したmp4を作る自分的手順(自動化編)
mp4boxを利用すると、nhmlというmkvのtimecodeファイルと同じようなものを扱うことが出来る。
このnhmlファイルを上手く使って、面倒な分割作業なしにVFRなmp4を作る手順を考えてみた。
DGDecode_mpeg2source("vfr.d2v") tfm(d2v="vfr.d2v") tdecimate(mode=3,hybrid=2,vfrDec=1,mkvOut="vfr-timecode.txt",tcfv1=false)
mp4box -nhml 1 vfr.mp4
- nhmlファイル内のタイムスタンプをtimecodeファイルにあわせて修正。
(とあるツール) vfr-timecode.txt vfr_track1.nhml > vfr_track1_tc.nhml
- 修正済のnhmlファイルと音声ファイルから、mp4boxを使ってmp4を合成。
mp4box -add vfr_track1_tc.nhml -add vfr.aac -new vfr.mp4
VFRなmp4の作り方(1)
24fpsと30fpsが混合したmp4を作る自分的手順(分割編)
- DGIndexで24fps部分を切り出して"24fps.d2v"として保存。このとき音声は省略。
- DGIndexで30fps部分を切り出して"30fps.d2v"として保存。このとき音声は省略。
- DGIndexで全体を"all.d2v"として保存。このときは音声も出力する。
- "24fps.avs"を作成し、インターレース解除、24fps化をする。
DGDecode_mpeg2source("24fps.d2v") tfm(d2v="24fps.d2v").tdecimate(mode=1)
- 30fps.avsを作成し、インターレース解除する。
- 30fps.avsの出力fpsを24fps.avsの出力fpsとそろえる。このときフレームを削って24fps化するわけではなく、フレーム数は30fpsのままfpsの設定だけを24fpsにする。(mp4boxで合成するためのおまじない)
DGDecode_mpeg2source("30fps.d2v") tfm(d2v="30fps.d2v") AssumeFPS(24000,1001)
- "24fps.avs"と"30fps.avs"をx264を使ってエンコードし、H.268 raw形式で出力。
- "all.d2v"を保存したときに出力された"all T01 48K 16bit 2ch.wav"を"all.aac"に変換。
- mp4boxで合成。
mp4box -add 24fps.264:fps=23.976 -cat 30fps.264:fps=29.970 -add all.aac:lang=jpn -new vfr.mp4