View Full Version : joining two ac3's
sjakke
2nd July 2005, 21:30
In the faq I saw this:
5. How can i join AC3 files?
Let's say you want to join stream1.ac3,stream2.ac3,stream3.ac3 into stream.ac3.
create a listfile. join.lst:
stream1.ac3
stream2.ac3
stream3.ac3
Use BeSplit :
Code:
BeSplit -core( -input join.lst -output stream.ac3 -type ac3 -join )
Isn't it easier to just type: copy /b stream1.ac3 + stream2.ac3 + stream.ac3 joined.ac3
Is the one in the faq better?
gircobain
2nd July 2005, 21:37
If you join ac3 files using binary copy you have to take an extra step to fix the file header, otherwise its length won't be reported correctly
BeSplit does that already
Matthew
3rd July 2005, 01:59
If you join ac3 files using binary copy you have to take an extra step to fix the file header, otherwise its length won't be reported correctly
BeSplit does that already
AC3s do not have a special header - they are CBR and so one is not needed.
Each 48 khz AC3 frame is equal to (4*bitrate) bytes, and so streams can be sliced and sliced and diced on those bondaries any way one chooses, without length or corruption issues. Provided all streams you are working with have the same bitrate and contain no incomplete frames to begin with.
Anyway, to answer the question, yes that command should produce the same result - regardless of where there are corrupt frames or not (a BeSplit join does nothing about this, it requires a subsequent -fix).
Hence in any event, as a second operation you may need to use besplit in fix mode to delete any corrupt frames, which can of course lead to audio/video sync issues.
sjakke
3rd July 2005, 05:05
thnx for the replies :)
You Know
13th December 2005, 18:30
it does not work
anyone can tell me why??
E:\Finish downloads\Utility\Audio\Join-Cut>BeSplit -core( -input "join.lst" -output "a.ac3" -type ac3 -join )
BeSplit v0.9b6 by DSPguru.
--------------------------
[00:00:00:000] +------- BeSplit -----
[00:00:00:000] | Input : join.lst
[00:00:00:000] | Source Sample-Rate: 48.0KHz
[00:00:00:000] | Channels Count: 3, Bitrate: 32kbps
[00:00:00:000] | Output : a.ac3
[00:00:00:000] +---------------------
Error Creating Output file : "(null)".
Quiting...
the join.lst is
Finale01.ac3
Finale02.ac3
Finale03.ac3
all file are in the same folder
possible bug???
You Know
20th August 2006, 18:37
to resolve the problem use the last beta version 0.9b6
setarip_old
20th August 2006, 18:47
@You Know
Hi!
Before attempting to join them, do each of the individual .AC3 files play properly?
If not, please describe how they were created...
FreQi
4th November 2006, 20:26
I am trying to merge 4 AC3 files that I demuxed from a .TS using ProjectX, and I have not been sucessful using either BeSplit 0.82 or the 0.9b6 beta.
When I try to use the stable build (0.82) it just prints out the help screen and quits...
F:\Endoding>BeSplit-stable.exe -core( -input "segments.lst" -output "F:\Endoding\final.ac3" -type ac3 -join )
BeSplit v0.82 by DSPguru.
--------------------------
Usage : BeSplit -core( .. ) -split( .. )
Core Switches :
-input [Filename.ac3/mp3/mp2/mpa/wav/aac]
-prefix [prefix/path of output files]
-logfile [Filaname.txt] (write to logfile)
-logfilea [Filaname.txt] (append to logfile)
-ending (continue until reaching end of file)
-type [ac3/mp3/mp2/mpa/wav/ddwav/aac]
-fix (don't split, just fix the stream)
-r (use Relative time list)
-a (use Absolute time list)
-demux (demux mutlichannel wave into mono waves)
-join (join all files listed in a list-file into one)
For usage examples, read attached Examples.txt .
Visit BeSplit's Webpage at :
http://BeSplit.doom9.org/
When I try to use the Beta (0.9b6) with the exact same arguments, it gives me an error about not being able to create a null file, and it shows the wrong input channels and bitrate...
F:\Endoding>BeSplit-beta.exe -core( -input "segments.lst" -output "F:\Endoding\final.ac3" -type ac3 -join )
BeSplit v0.9b6 by DSPguru.
--------------------------
[00:00:00:000] +------- BeSplit -----
[00:00:00:000] | Input : segments.lst
[00:00:00:000] | Source Sample-Rate: 44.1KHz
[00:00:00:000] | Channels Count: 3, Bitrate: 32kbps
[00:00:00:000] | Output : F:\Endoding\final.ac3
[00:00:00:000] +---------------------
Error Creating Output file : "(null)".
Quiting...
The segments.lst file is just a plain text file with the names of the four 5.1ch 384kbit AC3 files I want to join in them, as listed below. I have also tried to specify the full path to the files and even wrapping the names in quotes.
seg1.ac3
seg2.ac3
seg3.ac3
seg4.ac3
Am I missing something? Am I typing something wrong? Is my list malformed? Is there another tool I could try?
Kurtnoise
5th November 2006, 10:49
Is there another tool I could try?
For AC3 extraction :: TSConverter (http://www.dvbportal.de/projects/tsconverter/)
For AC3 joining :: VobMerge (http://medlem.spray.se/evilmastr/getfile.php?download=vobm250.zip) (choose All files in the drop-down list)
FreQi
5th November 2006, 17:07
I found that the AC3's that ProjectX generates seem to merge very well just using the DOS copy command.
copy /b seg1.ac3+seg2.ac3+seg3.ac3+seg4.ac3 final.ac3 /b
I ran the final.ac3 through BeSliced and Delaycut to fix any problems and both listed 0 errors in the file. Now, I doubt this will work quite as well for AC3's that are generated from other apps, but from pjx, this sounds like my easiest option.
tebasuna51
5th November 2006, 17:33
- With BeSplit I get the same FreQi errors.
- With VobMerge the same results than "copy /b", without any fix.
We always need run Ac3Fix/BeSliced/DelayCut before (over the parts) or after the "copy /b", to be sure about the final.ac3
3ngel
11th January 2007, 18:30
I have a simple but strange question.
How it is that on 3 ac3 files, testing each file with ac3fix (or besplit) all the files result (each one) correct, and when i join them (with copy or besplit) the resulting file contains wrong frames? It has no logic...
Anyone has the explanation?
tebasuna51
11th January 2007, 18:47
I have a simple but strange question.
How it is that on 3 ac3 files, testing each file with ac3fix (or besplit) all the files result (each one) correct, and when i join them (with copy or besplit) the resulting file contains wrong frames? It has no logic...
Anyone has the explanation?
To join ac3 files must have the same parameters:
NumChannels
SampleRate
BitRate
LFE (yes/not)
Acmod
...
FreQi, the same problem as you wrote here:
http://forum.doom9.org/showthread.php?p=896216#post896216
Output (null).
Version -- 0.9b6.
Please, tell me anyone, if I "copy /b" several files and then run BeSplit with -fix option --- will it give me correct joined audiotrack, or not?
FreQi
29th May 2007, 23:12
If the AC3 Files that you are merging came out of ProjectX, then using "copy /b" should work. I would wager that if the ac3 files do not need "fixing", then using "copy /b" should also work.
If that's not the case for you, then you could try to fix the parts first, then use "copy /b" to merge them. The resulting ac3 file should not require any fixes then.
CrazyJ32
2nd November 2007, 11:37
For AC3 extraction :: TSConverter (http://www.dvbportal.de/projects/tsconverter/)
For AC3 joining :: VobMerge (http://medlem.spray.se/evilmastr/getfile.php?download=vobm250.zip) (choose All files in the drop-down list)
Thanks :)
szabi
11th March 2015, 13:55
Almost 10 years passed.
Are there any right solution now to merge AC3 files?
I ran into an error:
d:\movie>BeSplit -core( -input read.lst -output stream.ac3 -type ac3 -join )
BeSplit v0.9b6 by DSPguru.
--------------------------
[00:00:00:000] +------- BeSplit -----
[00:00:00:000] | Input : read.lst
[00:00:00:000] | Source Sample-Rate: 44.1KHz
[00:00:00:000] | Channels Count: 3, Bitrate: 160kbps
[00:00:00:000] | Output : stream.ac3
[00:00:00:000] +---------------------
Error Creating Output file : "(null)".
Quiting...
d:\movie
BeSplit reading the parameters wrong.
Both AC3 have same parameters.
Format: AC-3
Format/Info: Audio Coding 3
Mode extension: CM (complete main)
Format settings, Endianness: Big
Bit rate mode: Constant
Bit rate: 192 Kbps
Channel(s): 2 channels
Channel positions: Front: L R
Sampling rate: 48.0 KHz
Bit depth: 16 bits
Compression mode: Lossy
How can 2 AC3 files be merged correctly?
bye
szabi
tebasuna51
11th March 2015, 17:10
The answer is the first post:
copy /b stream1.ac3 + stream2.ac3 + stream3.ac3 joined.ac3
or now:
eac3to stream1.ac3+stream2.ac3+stream3.ac3 joined.ac3
szabi
15th March 2015, 18:26
I tried over GUI but no luck.
What you wrote worked.
Thnx.
tebasuna51
16th March 2015, 13:43
I tried over GUI but no luck.
What GUI?
If the names are xxxx1.ac3, xxxx2.ac3, ...xxxx9.ac3
Open xxxx1.ac3 in UsEac3to and press '+ Sources'
szabi
16th March 2015, 14:22
I tried it, but not with this naming.
Now I understand why did not worked.
Thnx.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.