View Full Version : Advice For Splitting AC3 Stream
blazerqb11
1st September 2009, 06:01
I would like to split some AC3 audio to match up with my video that I'm cutting with AviSynth without re-encoding. I was wondering if people had any advice on how to do this. Right now I'm using BeSplit to split the stream from the first frame number divided by the exact FPS, in this case 30000/1001, to get the number of seconds, to the second frame number + 1 / FPS, e.g. if I have Trim(100,200) I would use -split( 3.33666666~ 6.7067). I was wondering if this is the best way to do this, or if there is another tool that will split based on frame numbers automatically. Also, are there any other tools that can split AC3 audio without a re-encode?
I also had a question about the behavior of BeSplit. If I pass -split( 3.33666666666666667 6.7067) or ( 0.003333333333333333 6.7067) or ( 0.0033 6.7067 ) it results in files that are bit for bit identical as verified by a file comparison program I have. Is this because AC3 files are only splittable in certain increments, or is it because BeSplit does not recognize more than a certain amount of decimal places?
tebasuna51
1st September 2009, 08:56
...
Is this because AC3 files are only splittable in certain increments, or is it because BeSplit does not recognize more than a certain amount of decimal places?
Without re-encode you can split audio only on 'frame' boundaries, but audio 'frames' aren't video frames.
For AC3 48 KHz these indivisible blocks (named also 'frames') have 32 ms always, no matter if video is PAL or NTSC never match with video frames.
If you work with command line, BeSplit is the best tool to do the job.
blazerqb11
1st September 2009, 17:38
Without re-encode you can split audio only on 'frame' boundaries, but audio 'frames' aren't video frames.
For AC3 48 KHz these indivisible blocks (named also 'frames') have 32 ms always, no matter if video is PAL or NTSC never match with video frames.
If you work with command line, BeSplit is the best tool to do the job.
Thank you for the very precise answer. Is there a way to apply a delay to a stream without a re-encode or is the best way to do it just adjusting for whatever delay you want in BeSplit e.g. if I wanted a delay of 0.5 seconds, and wanted to split at 100 seconds, I would split at 100.5 seconds.
tebasuna51
2nd September 2009, 00:20
You can use DelayCut v1.3.0.0 (http://madshi.net/delaycut.rar), add true silence at begining or end of eac3/ac3/dts/mp3/mp2/wav files.
Your method can be used if not add undesired sounds.
Plamen234
19th September 2009, 19:02
I do this with megui. It has audio cutter (menu tools) which needs a file named .clt
The .clt file contains the frames according the .avs that you need. The .clt file is generated by the .avs cutter (in the same tools menu).
Using this method you will not have to translate time<->frames. It is useful for encoding video clips from dvds for example.
tebasuna51
19th September 2009, 21:42
Yes, MeGUI audio cutter is a GUI for BeSplit.
Paulcat
2nd October 2009, 15:49
Tebasuna:
Where did you get the updated DelayCut as it still only shows 1.2.1.2 as the latest version on Jsoto's home page?
Excellant utility, it's saved me a lot of frustration in the past!
tebasuna51
2nd October 2009, 16:20
Like you can read at Readmedelaycut.txt in DelayCut v1.3.0.0:
...
=============Changelog==============================================
v1.3.0.0
Added: E-AC3 support (added by www.madshi.net)
v1.2.1.2
BugFix: Error in duration of Wav files
...
is only a mod created by madshi (eac3to) to add eac3 support.
Was published in the DelayCut thread in this forum:
http://forum.doom9.org/showthread.php?p=1044001#post1044001
Paulcat
6th October 2009, 13:10
Ahh, I see. Thanks
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.