(2020-01-09, 04:24 PM)BusterD Wrote: Ah, OK. I forget what exactly I did in eac3to and what the non-eac3to program was that I tried, but I'll keep your tip in mind if I decide to try again!
Great! The other program was probably delaycut.
This is what I mean by applying the edits one by one.
Code:
#random example
eac3to audio1.wav audio2.wav -XXms
eac3to audio2.wav audio3.wav -edit=2:20:09.823,XXXms - loop
eac3to audio3.wav audio4.wav -edit=1:25:02.312,+XXms
eac3to audio4.wav audio5.wav -edit=0:55:01.957,-XXXms
eac3to audio5.wav audio6.wav -edit=0:04:68.617,+XXXXms -silence
Some people do work forward, but I work backward. If you call Info() in AviSynth and apply it to the video after loading it, the time-codes/frame-numbers printed will not change upon edits.
Code:
WhateverSource()
Info()
Scrub through the video in VDub. When you find a missing frame, call DuplicateFrame() and duplicate the frame
immediately before the missing one, taking its number from what Info() has printed, which you can trust to remain constant.
Code:
WhateverSource()
Info()
DuplicateFrame(7)
Keeping scrubbing. When you find the next missing frame(s), take the number once more from what Info() has printed, and call DuplicateFrame() again, but make sure you insert it
before the previous call.
Code:
WhateverSource()
Info()
DuplicateFrame(17)
DuplicateFrame(7)
In other words, the new duplication always goes to the top. You can duplicate a frame multiple times.
Code:
WhateverSource()
DuplicateFrame(25, 25, 25, 25)#4*41.7ms=167ms
DuplicateFrame(21, 21, 21)#3*41.7ms=125ms
DuplicateFrame(17)#42ms
DuplicateFrame(7)#42ms
Info()
Once you've found all the edit-points, scrub back to the calls to DuplicateFrame() and read the time-codes from Info(), or note them down as you go. In an real use case, I'd favor Loop() over DuplicateFrame() because I prefer the former's syntax, but that's the idea. Obviously, AC-3 "frames" and DTS "frames" are not exactly 42ms, but eac3to will apply the closest delay to the figure input and let you know how much remaining delay couldn't be resolved. Having said all that, I prefer decoding to WAV for greater precision and the freedom to make crossfades.