Log in

View Full Version : eac3to - audio conversion tool


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 [237] 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308

mastrandrea
6th September 2012, 19:08
Is there a way to convert 6 mono wavs into 5.1 ac3?
Thanks in advance

LigH
6th September 2012, 19:20
Yes. Even if (probably?) not with eac3to.

BeSweet supports it via a *.mux file (you can use BeLight as GUI to create that and feed it into BeSweet). Unfortunately, the quality of the AC3Enc plugin is quite bad, and many versions have been bugged regarding a too low volume.

Also, Aften supports reading from six mono channel WAVs. WAV to AC3 Encoder (http://code.google.com/p/wavtoac3encoder/) is a useful GUI here. The Aften AC3 encoder is not yet close to commercial encoders, but still possibly the best current freeware AC3 encoder. WAV2AC3 uses Aften as stand-alone encoder; eac3to uses Aften as a library.

the_weirdo
6th September 2012, 19:21
Or this way:
http://forum.doom9.org/showthread.php?p=1582629#post1582629

LigH
6th September 2012, 19:32
Yes, ffmpeg's AC3 encoder developed a bit since that AC3Enc plugin for BeSweet.

Interleaving the six channels to a 6-channel file may pass the 4 GB limit, therefore the W64 target is recommendable. The usual WAV header has only 32 bit size fields in their chunks.

Joniii
8th September 2012, 14:41
Question about RAW/PCM channel remapping. If I demux RAW/PCM from Blu-ray to RAW, eac3to swaps endian and remaps channels. If I later mux that RAW to Blu-ray M2TS with tsMuxeR, wouldn't I then have wrong channel order?

Oh, and second question if anyone here has some ideas. What would be the best way to join The Lord of The Rings EE main movies as those are on two discs? I would like to get those to mkv.

Shevek
8th September 2012, 15:05
Oh, and second question if anyone here has some ideas. What would be the best way to join The Lord of The Rings EE main movies as those are on two discs? I would like to get those to mkv.

MKVMerge (and it's GUI) has an append function. Add part 1 video and audio then click the append button in the GUI to add part 2 video and audio

Joniii
8th September 2012, 17:08
MKVMerge (and it's GUI) has an append function. Add part 1 video and audio then click the append button in the GUI to add part 2 video and audio

Thx, I'll try that. :)

Joniii
8th September 2012, 18:08
Didn't work, playback got screwed where the files were joined also the playtime of the file was over 5 hours.

manolito
10th September 2012, 00:15
I have a long 6-ch AAC file which I want to convert to a 6-ch AC3 file. The source file has been created by Nero AAC encoder, here is the MediaInfo analysis:
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format-Profil : LC
Codec-ID : 40
Dauer : 2h 19min
Bitraten-Modus : variabel
Bitrate : 321 Kbps
maximale Bitrate : 380 Kbps
Kanäle : 6 Kanäle
Kanal-Positionen : Front: L C R, Side: L R, LFE
Samplingrate : 48,0 KHz
Stream-Größe : 320 MiB (100%)
verwendete Encoder-Bibliothek : Nero AAC codec 1.5.4.0
Kodierungseinstellungen : -q 0.40
Kodierungs-Datum : UTC 2012-09-08 16:18:01
Tagging-Datum : UTC 2012-09-08 17:37:15

The file plays in all my software players. But eac3to somehow cannot be convinced to convert this file:
eac3to v3.24
command line: eac3to.exe i:\test.m4a i:\test.ac3
------------------------------------------------------------------------------
The format of the source file could not be detected. <ERROR>

Giving the file a different extension like .mp4 or .aac does not help either. What's wrong here?


Cheers
manolito

tebasuna51
10th September 2012, 00:49
To decode AAC with eac3to you need Nero 7 decoder installed (like say first post in this thread).

You can use Foobar2000 or BeHappy-BassAudio to recode AAC -> AC3 directly.
Or you can decode AAC to WAV (with Faad) and after use eac3to.

You can't change the extension of the file. A .aac file is AAC audio with ADTS headers. A .m4a file (mp4 with only audio) is AAC audio in mp4 container.

manolito
10th September 2012, 05:21
Thanks tebasuna for your quick reply.
To decode AAC with eac3to you need Nero 7 decoder installed (like say first post in this thread).
Sorry, I will certainly not install bloated software like Nero7 on my machine...:(
I have NeroAacDec in my eac3to folder though, and NeroAacDec can certainly decode my source file. Why in the world can't eac3to use NeroAacDec for decoding AAC files?

You can use Foobar2000 or BeHappy-BassAudio to recode AAC -> AC3 directly.
Or you can decode AAC to WAV (with Faad) and after use eac3to.
Yes, this will probably work, but frankly I am too lazy to learn using these programs (I read that BeHappy is a nightmare to set up) for just the simple task to transcode AAC to AC3.


Cheers
manolito

sneaker_ger
10th September 2012, 05:27
ffmpeg is fairly easy to use for this task:
ffmpeg -i input.m4a -ab 448k output.ac3

Sadly, eac3to cannot utilize neroaacdec.exe, nor can it handle AAC audio in mp4 container. (But ironically, it cannot create AAC audio without mp4 container...)

manolito
10th September 2012, 20:37
Thanks sneaker_ger,
I know that ffmpeg can make these conversions. Frankly I am a little worried about the quality. Do current ffmpeg versions use Aften for AC3 encoding? I could not detect "libaften" anywhere in a couple of recent binaries.:confused:

In the meantime I made my own little tool for AAC to AC3 conversions. It uses faad and Aften. Here is the readme:
AAC2AC3 - Simple audio conversion utility
-------------------------------------------

Converts AAC audio files to AC3 using FAAD and Aften.
Large multichannel files are supported.

Downmix of multichannel sources to stereo is supported,
also the encoding bitrate can be specified (CBR only).
Other effects like normalizing, DRC profiles or Dialog
Normalization are not supported.


Usage:
Use 'Drag and Drop' or 'Copy and Paste' to feed a source file
to the executable. A target file of the same name and the
extension .ac3 will be created in the source folder.


Known issues:
The executable is a compiled batch file. If your virus scanner
has a problem with it, file a complaint with the manufacturer...

For anyone interested, you can download it here:
http://www.sendspace.com/file/oxrf7s



Cheers
manolito

sneaker_ger
10th September 2012, 21:02
Aften is based on the ffmpeg encoder. I think that actually the ffmpeg one has had a few minor improvements while aften was already stalled.

Boulder
11th September 2012, 15:48
Has anyone tried to compile new avcodec.dll and avutil-50.dll to use with eac3to? I'm not sure if there have been any big changes but the ones used by eac3to are over 2 years old now.

kypec
11th September 2012, 20:44
Has anyone tried to compile new avcodec.dll and avutil-50.dll to use with eac3to? I'm not sure if there have been any big changes but the ones used by eac3to are over 2 years old now.
Few months ago I tried to replace those DLLs with newer versions - it didn't work. :(
madshi should have released this as open-source long time ago...

Boulder
11th September 2012, 20:47
The changes made by madshi are there in the "legal stuff" folder, so it should be possible to build new libraries. I was just wondering whether anyone's tried that out yet.

sexconker
11th September 2012, 23:54
Then this is -very- weird, because every file I remux is out of sync. One worse than the other (two were completely unwatchable).
I did have problems with my hard drives - it seemed the AHCI modus used on my AMD SB700 rig caused some writing/reading errors, maybe some bits have been 'shifted around' without me knowing. It never told me though, untill I started getting errors of programs being corrupt and such. Now I reinstalled my rig in RAID mode (single discs), which allows the use of RAIDXpert, which monitors stuff like that. Who needs S.M.A.R.T. if it doesn't work...
Luckily I know now I did not do anything wrong out of stupidity...

I had a hell of a time dealing with a recent video.
I was using eac3to to convert the DTS-HD MA track to a 7.1 AAC (Arcsoft to Nero), and the audio would become progressively out of sync regardless of how I muxed it.

I tried all manner of fiddling / manually specifying the video framerate, but nothing worked. In the end (2 days of slamming my head against a wall), I ended up going with 5.1 instead of 7.1 and everything worked fine.

No idea what's up. Next job I do I'll post about it here if I have the same issue.

nibus
12th September 2012, 02:32
Didn't work, playback got screwed where the files were joined also the playtime of the file was over 5 hours.

There's a number of topics about LOTR EE and merging the discs. Do a forum or google search on it.

Basically you have to cut off the last few seconds of the end of part 1, and about 1 second from the beginning of part 2. You can do this in mkvmerge.

This is because the audio stream ends before the video stream.

the_weirdo
12th September 2012, 11:40
The changes made by madshi are there in the "legal stuff" folder, so it should be possible to build new libraries. I was just wondering whether anyone's tried that out yet.

Those patches are too old, some are even redundant (for example, libavcodec can now output AC-3 and DTS as floating point via API call), so I don't think they can be easily applied to latest libav* codebase. Also, there are a lot API/ABI changes in libav* during past 2 years, so even someone manage to apply those patches and build new libraries, I doubt they can be used with current eac3to.

Now only hope that Madshi will soon release madVR 1.0 then he can return to develop eac3to.

ramicio
13th September 2012, 23:04
Sorry, but 99% of the people seem to be happy with the progress bar.

You took a poll on this? This isn't the days of 640x480 CRTs. People are running higher resolutions than full HD now, so I doubt too many people user tiny 80-column terminals.

Foofaraw
15th September 2012, 03:11
If one has PAL DVD audio of a US TV show (ie, originally NTSC) the speech sounds sped up - can eac3to re-pitch the sound so it sounds like the original, but where the total duration hasn't changed?

And if yes, what are the switches ?

Using -slowdown makes the resulting file longer in duration.

sneaker_ger
15th September 2012, 09:39
Eac3to does not offer pitch change without duration change.
You could either speedup both audio and video or use a different program to do the change, like e.g. SoX.

Foofaraw
15th September 2012, 14:10
Eac3to does not offer pitch change without duration change.
You could either speedup both audio and video or use a different program to do the change, like e.g. SoX.

Yeah I don't like to mess with the video. So I'll try looking at Sox - thanks for the suggestion sneaker_ger :)

Joniii
18th September 2012, 09:22
There's a number of topics about LOTR EE and merging the discs. Do a forum or google search on it.

Basically you have to cut off the last few seconds of the end of part 1, and about 1 second from the beginning of part 2. You can do this in mkvmerge.

This is because the audio stream ends before the video stream.

Thanks, found them. There was someone who figured the exact time to cut at the end of each disc one but it doesn't seem to be that accurate as there is still 107ms gap on audio. Is there any free program that can open m2ts and displays a frame numbers and timestamp so I can find the exact frame where to cut?

Dunno, maybe it would be a good option on eac3to if it could cut the video if audio ends before video?

ramicio
19th September 2012, 19:18
Why can't you just open this up so people can fix all of these stupid little issues and maybe make it cross-platform?

LigH
20th September 2012, 06:55
Cross-platform? How? It mainly uses software which is only available for Windows, if it doesn't use l(ib)av(codec|format) as fallbacks.

ramicio
20th September 2012, 13:15
libav is cross-platform. It mainly uses libav, and Windows stuff secondary. For most of the Windows-based stuff, there are better tools out there, anyway. Once DTS-HD gets built into libav, there is no reason eac3to couldn't be cross-platform. AC-3 decoding is handled just fine with libav. No need for Nero there. Surely there are other AAC encoders, no need for Nero again. You can't even have anything >7 installed, so yeah, really good there. I don't know why anyone would waste their time encoding lossy DTS in this day and age, so no need for SurCode. Go with 640 kbps AC-3. And for MKV muxing, well mkvtoolnix is cross-platform already, so no need for this stupid Haali muxer. This tool needs a major update, or for the source to be opened. It should not be relying on commercial software just to perform basic functions. The functionalities can be free, but someone needs to stop making tiny incremental updates of MadVR and just be done with it already. It's going to be 5-10 years before I see 1.0 being released, and by then there will already be another format for movies out there.

the_weirdo
20th September 2012, 14:57
Personally, I don't care if eac3to will be cross-platform or not (even I'm using multi-OS now, my main OS is still Windows anyway). But I agree with ramicio, this tool needs a major update. IMHO, if madshi is not going to maintain eac3to anytime soon, he should open its source so that others may contribute, fix and update it. He doesn't intend to commercialize it, after all. He said that he would resume its development once madVR 1.0 is released. But now when he's added micro version number to madVR with every increment took months to be done, then who know when will he reach his goal?

However, this is just my opinion. ea3to is a madshi's software, so he have full rights to do anything with it. I'll respect his decision on this problem regardless.

mbcd
20th September 2012, 15:39
Why dont people start to program an opensource variant themselves?

Madshi did eac3to in some years, but he had very hard work to get all information. Today its mostly all known.
Mostly there are programs out there that did a partial job that eac3to did, so maybee there is sourcecode available.

If a small group would take such a project, it should not take more than some months to get a better version of it.
And even if it takes more time ... there is something opensource ...

Overdrive80
22nd September 2012, 08:23
In my opinion if he would want to do his software as commercial, should not share his code. If this not the case, maybe would create a group of developers. Secure that on this forum everyone join it.

xkodi
23rd September 2012, 22:25
Today its mostly all known.
Mostly there are programs out there that did a partial job that eac3to did, so maybee there is sourcecode available.

If a small group would take such a project, it should not take more than some months to get a better version of it.
And even if it takes more time ... there is something opensource ...

i agree with you at least as far as DTS-HD decoding is concerned, which i will give for example, you can read my post here:

http://forum.doom9.org/showthread.php?p=1581365#post1581365

that post in short: before nothing about the DTS-HD headers was known, now there is PDF with the full specification. also, as it's clear from that post "eac3to" can't decode properly some DTS-HD streams, which is now very easy to be fixed with the idea i shared in that same post. in fact i coded simple test program of that idea as "proof-of-concept". last, but not least how to access directly Arcsoft decoder is now available as open-source thanks to "LAV Audio decoder" project. so, those 3 things: full specification of DTS-HD headers, the idea to patch the DTS-HD headers to "trick" Arcsoft decoder to decode properly even the streams it can't and direct access to Arcsoft decoder as how's done in "LAV Audio decoder" gives much better "eac3to" at least for DTS-HD streams and that can be coded in hours actually - as i've just mentioned i made very simple "proof-of-concept" for first two ideas and then after i patched the stream use "eac3to" to decode it. however, it seems there are no just people with enough free time and enthusiastic about such project to work on it.

73ChargerFan
24th September 2012, 02:29
eac3to is much more than a dts-hd to something else transcoder.

Anakunda
29th September 2012, 12:16
Hello,

would eac3to be able to use as input an specific audio track of MKV container directly?
Such that I have Matroska file with one video and 2 audio tracks, and I want to convert the 2nd audio track to <something else> without necessity of extracting it via mkvextract first...

73ChargerFan
29th September 2012, 15:28
Yep, just tried it, converted ac3 to aac with nero encoder. Worked great. But it won't replace the track within mkv, that will still require MkvToolNix.

Anakunda
29th September 2012, 15:34
Yep, just tried it, converted ac3 to aac with nero encoder. Worked great. But it won't replace the track within mkv, that will still require MkvToolNix.

That's good news. But how exactly do I tell eac3to to take the 2nd (non-default) audio track...I assume eac3to always picks the 1rst track..

73ChargerFan
29th September 2012, 16:31
Use the following command to list the tracks:
> eac3to mystuff.mkv

Then I'll wager track 1 is video, track 2 is audio 1, track 3 is audio 2
so use the following command to convert to aac whatever:
>eac3to mystuff.mkv 3: mystuff.aac

or to convert to ac3:
>eac3to mystuff.mkv 3: mystuff.ac3

Anakunda
29th September 2012, 16:39
>eac3to mystuff.mkv 3: mystuff.aac


Ah so I thougt the numbering only can be used for direct demuxing.
:thanks:

73ChargerFan
29th September 2012, 16:47
Hey, I didn't know about direct demuxing of mkv until you asked and I tried it.

Incast
29th September 2012, 17:40
Firstly, thanks to all involved with this great tool.

Embarrassing question but I'm going to ask it anyway. When eac3to reports an uncorrectable audio delay after demuxing a TS, should I be inputting that value into MKVmerge as the delay for the audio track or the inverse?

E.g.
"A remaining delay of +14ms could not be fixed"

What should my entry into mkvmerge for the delay entry on the audio track be: +14ms or -14ms?

Boulder
29th September 2012, 18:00
You need to put +14ms there.

Incast
29th September 2012, 18:11
Perfect - thanks for clarifying.

Thunderbolt8
16th October 2012, 19:56
is resampling (with eac3to) from a lower to a higher kHz frequency lossless? is it somewhat comparable when increasing the bitdepth from 16 to 24-bit that there will be then 8 zero bits and the actual audio quality remains the same?

Asmodian
16th October 2012, 21:52
No it isn't, it is like resizing a video.

Xorp
27th October 2012, 17:34
madshi, a few times I've had eac3to introduce video errors into the video.mkv. The only way I've caught them is by noticing them during playback. I don't think there's any way to scan for them right? In the below example I see the artifacts with multiple decoders, including lav, coreavc, mpc-hc internal and VLC.

playback from original m2ts: http://imageshack.us/a/img24/6346/eac3toerror1.jpg
playback from eac3to remuxed mkv: http://imageshack.us/a/img109/8760/eac3toerror2.jpg

Did not receive any error messages from eac3to.

The artifacts are gone after re-entering the same command and checking the re-remux, but I don't know if the 2nd one is 100% clean either.

Should this never happened or is the issue is caused by my computer?

madshi
27th October 2012, 17:42
That shouldn't be happening, Xorp. Can you reproduce such an error reliably? If the same problem occurs at exactly the same frame, when remuxing the same movie twice, then that sounds like a likely eac3to bug. In that case could you try to create a sample which shows this problem?

Marhaba
30th October 2012, 14:31
Hi...

Since Last Few Days I'm Struggling To Downgrade With My eac3to - Below Is The Error.

eac3to v3.24
command line: eac3to324\eac3to.exe D:\input.dts D:\output.dts -768
------------------------------------------------------------------------------
DTS Master Audio, 5.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
Decoding with ArcSoft DTS Decoder...
Writing WAVs...
Creating file "D:\output.SL.wav"...
Creating file "D:\output.L.wav"...
Creating file "D:\output.R.wav"...
Creating file "D:\output.LFE.wav"...
Creating file "D:\output.SR.wav"...
Creating file "D:\output.C.wav"...
The original audio track has a constant bit depth of 24 bits.
Encoding DTS <768kbps> with Surcode...
Found Surcode DTS Encoder version 1.0.23.0.
Surcode says/asks: "Parallel port lock required to run this program.".
Pressing the Surcode "Encode" button didn't seem to work...
Closing Surcode...


I Have Tried All Available Solutions , Plz Guide Me.

LigH
30th October 2012, 15:45
You got a SurCode DTS Encoder which only works when you put a copy-protection dongle into your parallel (old-style printer) port.

Are you sure you legally bought your copy?

tebasuna51
30th October 2012, 16:03
BTW, I can't understand this recode.

If you want DTS extract the 'core' 1509 Kb/s.
If you want less bitrate, recode to AC3 640 Kb/s from DTS-MA, much better than DTS 768 Kb/s.

Snowknight26
31st October 2012, 02:54
Any chance of ditching GDS mux in favor of ffmpeg?