11/03/01 00:44:56.90 3Vs7XkYE
■ED
[ed.avsの内容]
LoadPlugin("DGDecode.dllの場所")
LoadPlugin("TDeint.dllの場所")
LoadPlugin("nnedi3.dllの場所")
LoadPlugin("TMM.dllの場所")
MPEG2Source(".d2vの場所")
Trim(41400,44099) #EDの部分だけ切り出す
interp=nnedi3(field=-2)
TDeint(mode=1, order=1, edeint=interp, emask=TMM(mode=1, order=1))
Crop(8,0,704,480)
[x264に送るコマンド]
x264.exe --sar 40:33 --crf 20 --cqm jvt --bframes 3 --ref 4 --output "ed.h264" "ed.avs"
■予告
[yokoku_first_pass.avsとyokoku_second_pass.avsの内容]
Trim(2700,41399)の所をTrim(44100,45027)にした以外、本編1pass目、2pass目のavsと同じ。
[x264に送るコマンド]
avs2avi.exe "yokoku_first_pass.avs" -c null -o n
x264.exe --sar 40:33 --crf 20 --cqm jvt --tcfile-in "mkv-timecodesfile.txt" --bframes 3 --ref 4 --output "yokoku.h264" "yokoku_second_pass.avs"
次に、音声をAAC規格でエンコードすることにしました。
DGIndexでDVD(をリップしてでてきたVOBファイル)からd2vファイルを作成する際に一緒に出力された音声ファイル(.wav)は、第1話だけでなく第2話の音声もくっ付いています。
そこで、この音声ファイルを以下のavsファイルを利用して映像と共にVirtualDubで開き、第1話の分、つまり、0フレームから45027フレームまで切り出し、WAVEファイルとして出力しました。
894:名無しさん@編集中
11/03/01 00:46:00.41 3Vs7XkYE
[wav_cut.avsの内容]
LoadPlugin("DGDecode.dllの場所")
MPEG2Source(".d2vの場所")
audio = WAVSource(".wavの場所")
AudioDub(audio)
出力されたWAVEファイルは、neroAacEnc.exeでAACファイルにエンコードしました。以下がneroAacEnc.exeに送ったコマンドです。
neroAacEnc.exe -ignorelength -q 0.55 -if "WAVEファイルの場所" -of "出力するAACファイルの場所"
そして、mp4catを使って、op.h264、honpen.h264、ed.h264、yokoku.h264という各パートの映像を結合させ、音声ファイル(AAC)と共にmp4コンテナに格納しようと思ったのですが、mp4catを入手することが出来ませんでした(配布先が無くなっていた)。
そこで、次のような方法をとりました。
1. 各パートの映像をmp4boxを使ってそれぞれ別々のmp4コンテナに入れ、op.mp4、honpen.mp4、ed.mp4、yokoku.mp4を作成する。
2. MP4 File ReaderとMP4 Export Pluginという、AviUtlでMP4ファイルを入力・出力することのできるプラグインを使って各パートの映像(mp4)を結合する。
この後、mp4boxで映像と音声をmp4コンテナに格納するはずなのですが、映像と音声の尺が違っています。
MediaInfoというソフトで調べると、映像と音声はそれぞれ次の長さとなっています。
映像:24分56秒
音声:25分2秒
このままの状態で映像と音声をMP4コンテナに入れてしまうと映像と音がずれてしまいます。実際にやってみたらずれました。
どう対処すれば良いですか。
895:891
11/03/01 00:50:44.09 3Vs7XkYE
あと、>>894の音声:25分2秒というのは
AACにエンコードする前の音声(WAVE)の長さです。
896:名無しさん@編集中
11/03/01 00:54:43.79 ps2gNsvi
mkvmergeなら、追加結合も簡単にできる。
897:名無しさん@編集中
11/03/01 00:58:11.27 1UkhwqR+
映像の最後が45027だけど、それ以降フレームないの?
Trimを全部繋げて、音声のavsに張り付けてみるとか
898:名無しさん@編集中
11/03/01 01:00:33.43 1UkhwqR+
あとx264で直接MP4を吐けば、
>1. 各パートの映像をmp4boxを使ってそれぞれ別々のmp4コンテナに入れ、op.mp4、honpen.mp4、ed.mp4、yokoku.mp4を作成する。
これがいらなくなる。
899:891
11/03/01 01:06:23.53 3Vs7XkYE
>>897
第1話が0から45027フレームまでで、それ以降のフレームは第2話になっています。
今回は第1話をエンコードするので、映像の最後が45027フレームとしています。
>>Trimを全部繋げて、音声のavsに張り付けてみる
今からやってみます。
900:名無しさん@編集中
11/03/01 01:14:26.76 rZfUziVV
ようわからんけど適当に答えると
1. 各パートの映像をmp4boxを使ってそれぞれ別々のmp4コンテナに入れ、op.mp4、honpen.mp4、ed.mp4、yokoku.mp4を作成する。
これVFRにするならtc2mp4Modを使うのかな?
mp4box -add op.mp4 -cat honpen.mp4 -cat ed.mp4 -cat yokoku.mp4 -new move_.mp4
試してないけどこうか?
901:891
11/03/01 01:30:14.52 3Vs7XkYE
>>899
>>Trimを全部繋げて、音声のavsに張り付けてみる
↑これは、op.mp4、honpen.mp4、ed.mp4、yokoku.mp4をAvisynthで繋げ、AudioDub()するという意味なのでしょうか。
>>900
tc2mp4Modについて調べてみます。
今、
mp4box -add op.mp4 -cat honpen.mp4 -cat ed.mp4 -cat yokoku.mp4 -new move_.mp4
を実行してみましたが、ed.mp4だけ以下のようなメッセージが出て結合できませんでした。
Appending file ed_01.mp4
No suitable destination track found - creating new one (type vide)
902:名無しさん@編集中
11/03/01 01:36:12.63 1UkhwqR+
[wav_cut.avsの内容]
LoadPlugin("DGDecode.dllの場所")
MPEG2Source(".d2vの場所")
audio = WAVSource(".wavの場所")
AudioDub(audio)
Trim(OP)++Trim(本編)++続く・・・
んで、avs2wavなりでwavを吐いて、Neroでエンコです
903:名無しさん@編集中
11/03/01 01:39:35.34 1UkhwqR+
訂正
[wav_cut.avsの内容]
LoadPlugin("DGDecode.dllの場所")
v=MPEG2Source(".d2vの場所")
a = WAVSource(".wavの場所")
AudioDub(v,a)
Trim(OP)++Trim(本編)++続く・・・
んで、avs2wavなりでwavを吐いて、Neroでエンコです
904:名無しさん@編集中
11/03/01 02:05:20.13 3Vs7XkYE
>>903を参考に、次のようなavsを作り、第1話の音声を切り取ってみました。
[wav_cut.avsの内容]
LoadPlugin("DGDecode.dllの場所")
v = MPEG2Source(".d2vの場所")
a = WAVSource(".wavの場所")
AudioDub(v,a)
Trim(0,2699)++Trim(2700,41399)++Trim(41400,44099)++Trim(44100,45027)
上記のavsで第1話の音声を切り出して出力してみましたが
切り出した音声は依然25分2秒での長さで、映像の長さ(24分56秒)の方が短くなっています。
905:891
11/03/01 02:08:01.20 3Vs7XkYE
訂正
>>904
×切り出した音声は依然25分2秒での長さで
○切り出した音声は依然、25分2秒の長さで
906:名無しさん@編集中
11/03/01 02:23:33.61 1UkhwqR+
そしたら、映像がなんらかの理由で短くなったと考えられるよね
LoadPlugin("DGDecode.dllの場所")
v = MPEG2Source(".d2vの場所")
a = WAVSource(".wavの場所")
AudioDub(v,a)
Trim(0,2699)
LoadPlugin("DGDecode.dllの場所")
LoadPlugin("TIVTC.dllの場所")
MPEG2Source(".d2vの場所") #d2vファイルはDGIndexでDVDを読み取って作成しました。
Trim(0,2699) #OPの部分だけ切り出す
TFM()
TDecimate(mode=1)
Crop(8,0,704,480) #無効領域を左右8pxずつ削る
上の二つのavsを、AviUtlなりに突っ込んで長さが変わってないか調べてみる
OP~予告までを一個ずつ調べて、違ってたらそのavsのフィルタ設定がおかしいと思われ
907:名無しさん@編集中
11/03/01 02:38:36.35 nWVHVlFU
質問させてください。
時々、動画で、額縁というか、たとえば元々320幅の動画なのに
480サイズにして、差の160の分を単色のエリアで埋めてるやつが
あるんですが、ああいうエリアを自動除去できるソフトってありますか?
再生時に無視できるソフトはandroidにあったような気もしますが、なんか
ぶっとい額縁があると気になるので
908:名無しさん@編集中
11/03/01 02:55:33.30 nWVHVlFU
なんかageちゃったみたいですいません
909:891
11/03/01 03:05:02.34 3Vs7XkYE
■OPの映像の長さの調査
>>906の上のavsをVirtualDubに読み込ませたところ、正常ならばOPの長さは、0:01:30.057のはずだという事が分かりました。
>>906の下のavsをVirtualDubに読み込ませたところ、OPの長さは、0:01:30.048となっていました。
つまり、OPの映像の長さが0.009秒短くなっていることが判明しました。
■本編
正常ならば、0:21:31.257の長さですが、0:21:31.248の長さになっていました。
つまり、0.009秒短くなっていました。
■ED
正常ならば、0:01:30.057の長さですが、0:01:30.048の長さになっていました。
つまり、0.009秒短くなっていました。
■予告
正常ならば、0:00:30.931の長さになりますが、0:00:30.906の長さになっていました。
つまり、0.025秒短くなっていました。
全部合わせて映像は、0.009+0.009+0.009+0.025=0.052秒 遅れていることが判明しました。
avsのフィルタがかかった時点では、それほど音はずれていないという事でしょうか。
ということは、
映像:24分56秒
音声:25分2秒
の6秒のずれは、x264で映像をエンコードした時に発生したのでしょうか。
910:891
11/03/01 03:07:57.56 3Vs7XkYE
訂正
×avsのフィルタがかかった時点では、それほど音はずれていないという事でしょうか。
○avsのフィルタがかかった時点では、実質的には映像は短くなっていないという事でしょうか。
911:891 長くなってすみません
11/03/01 03:29:32.38 3Vs7XkYE
>>909の続き
x264で映像をエンコードした時に、映像が短くなっていると思ったので実際に確かめてみました。
Aviutlで各パートのmp4の映像の長さを調査した結果、以下のようになりました。
op.mp4の映像の長さは、00:01:30.04 (エンコードによる映像の長さの縮みは無しと判断できる)
honpen.mp4の長さは、00:21:25.16 (avsのフィルタがかかった時点から約6秒映像が短くなっていると判断できる)
ed.mp4の長さは、00:01:30.07 (エンコードによる映像の長さの縮みはぼとんど無いと判断できる)
yokoku.mp4の長さは、00:00:31.04 (エンコードによる映像の長さの縮みはぼとんど無いと判断できる)
やはり、x264でエンコードした際に、本編の長さが有意に短くなっていました。
こうなったのは、本編の映像がVFRだからなのでしょうか。
912:名無しさん@編集中
11/03/01 03:30:23.23 6VYXluh9
>>907
再エンコありならavisynthのautocrop
mplayer/ffmpegのcropdetectはちょっとめんどい
再生時だけでいいならffdshowの自動切り出し
913:907
11/03/01 06:30:08.10 nWVHVlFU
>再生時だけでいいならffdshowの自動切り出し
これで調べてみます。ありがとうございます