This is something that has bugged me for a while now and it seams many of you don't know how to handle AC-3 audio, without the need to transcode to lossless (FLAC, DTS-HD MA,PCM) after it was synced. In order to sync an AC-3 audio track to a new source, just use eac3to to edit the AC-3 audio. A long time ago zeropc showed me this technique, which he was teached by jj666. Now the method itself wont be always perfect, but the tracks I've heard so far or even edited myself are pretty good. Most of the time you wont even notice a thing. Editing an AC-3 audio track needs to be done in 32ms frame window. This means the audio sometime wont be synced down to the level you might want it to be. It usually drifts between 2ms to 31ms. Nothing the average listener will notice
How do you edit an AC-3 track with eac3to?
It's rather simple
1. transcode the AC-3 to WAV and import into your audio tool of choice and sync it to the new source
2. keep notes of the editing timecodes (hours|minutes|seconds|milliseconds) and delays you needed in order to sync the audio - I recommend to work with multiple track lines
3. create the proper cmd lines for eac3to to edit your original AC-3 audio so it will synced
use the initial delay if needed
eac3to source.ac3 target.ac3 +/-value
then use your editing timecodes + delay values
eac3to movie1.ac3 movie2.ac3 -edit=0:10:00.000,100ms
eac3to movie2.ac3 movie3.ac3 -edit=0:45:43.123,-54ms
and so on
eac3to will add silence if you add -silence at the and of the command line if required
eac3to movie3.ac3 movie4.ac3 -edit=0:50:00.000,50ms -silence
If you don't use the -silence cmd, eac3to will loop the audio for the given delay. so experiment what would work better for the edit.
If the original AC-3 audio has a DialNorm Flag and you want to keep it (I always did keep them), make sure to use -keepdialnorm cmd at each cmd line
eac3to movie3.ac3 movie4.ac3 -edit=1:05:00.450,24ms -keepdialnorm
You can create a batch file and after a few minutes you'll get a synced and transcode free audio file.
I hope this little guide will help you on your future projects, as I believe you shouldn't always transcode unless it's absolutely needed.
How do you edit an AC-3 track with eac3to?
It's rather simple
1. transcode the AC-3 to WAV and import into your audio tool of choice and sync it to the new source
2. keep notes of the editing timecodes (hours|minutes|seconds|milliseconds) and delays you needed in order to sync the audio - I recommend to work with multiple track lines
3. create the proper cmd lines for eac3to to edit your original AC-3 audio so it will synced
use the initial delay if needed
eac3to source.ac3 target.ac3 +/-value
then use your editing timecodes + delay values
eac3to movie1.ac3 movie2.ac3 -edit=0:10:00.000,100ms
eac3to movie2.ac3 movie3.ac3 -edit=0:45:43.123,-54ms
and so on
eac3to will add silence if you add -silence at the and of the command line if required
eac3to movie3.ac3 movie4.ac3 -edit=0:50:00.000,50ms -silence
If you don't use the -silence cmd, eac3to will loop the audio for the given delay. so experiment what would work better for the edit.
If the original AC-3 audio has a DialNorm Flag and you want to keep it (I always did keep them), make sure to use -keepdialnorm cmd at each cmd line
eac3to movie3.ac3 movie4.ac3 -edit=1:05:00.450,24ms -keepdialnorm
You can create a batch file and after a few minutes you'll get a synced and transcode free audio file.
I hope this little guide will help you on your future projects, as I believe you shouldn't always transcode unless it's absolutely needed.