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

laz1989
20th July 2015, 11:39
Is there any reason not to extract the core from the Blu-Ray? Free AC3 encoders don't have such a good reputation anyways.

How do i do that? I used both megui and eac3to cmd.
In MeGui i selected AC3 and didn't work. :)

Nebudchanezzer
20th July 2015, 12:42
How do i do that? I used both megui and eac3to cmd.
In MeGui i selected AC3 and didn't work. :)

Does not "-core" work?

Xor
20th July 2015, 14:21
Please help me, i have extracted 2 audio track LPCM in RAW format, i need to convert to ac3.

For eng track i have converted without problems


d:\eac3to327>eac3to.exe "ENG.raw" ENG.ac3
This might be a RAW/PCM file. Trying to figure out the details.
This will probably take a while. Please be patient...
The RAW/PCM file seems to be little endian.
The RAW/PCM file seems to have a bitdepth of 24 bits.
The RAW/PCM file seems to have 2 channels.
RAW/PCM, 2.0 channels, 1:29:51, 24 bits, 2304kbps, 48kHz
Reading RAW/PCM...
Encoding AC3 <448kbps> with libAften...
Creating file "ENG.ac3"...
The original audio track has a constant bit depth of 24 bits.
eac3to processing took 41 seconds.
Done.


for other Raw track italian eac3to ask me to specify other parameters:
d:\eac3to327>eac3to.exe "ITA.raw" ITA.ac3 -448
This might be a RAW/PCM file. Trying to figure out the details.
This will probably take a while. Please be patient...
Was not able to figure out all parameters of this RAW/PCM file.
Please specify channel, bitdepth and endian parameters via command line.

How to configure command line to convert to ac3 this raw eac3to.exe "ITA.raw" ITA.ac3 ??? ???

Thanks

tebasuna51
20th July 2015, 14:38
@Xor
Never extract audio tracks LPCM like raw, use wav or w64 format to avoid this problem, the data samples are the same.

If you know than ITA.raw have the same parameters than the ENG.raw use:

eac3to.exe "ITA.raw" ITA.ac3 -448 -override -2 -24 -little -48000

Also the bitrate for 2 channels is enough with 256 Kb/s

Xor
20th July 2015, 14:51
@Xor
Never extract audio tracks LPCM like raw, use wav or w64 format to avoid this problem, the data samples are the same.

If you know than ITA.raw have the same parameters than the ENG.raw use:

eac3to.exe "ITA.raw" ITA.ac3 -448 -override -2 -24 -little -48000

Also the bitrate for 2 channels is enough with 256 Kb/s

BIG THANKS!!! Work fine

d:\eac3to327>eac3to.exe "ITA.raw" ITA.ac3 -448 -override -2 -24 -little -48000
RAW/PCM, 2.0 channels, 1:29:51, 24 bits, 2304kbps, 48kHz
Reading RAW/PCM...
Encoding AC3 <448kbps> with libAften...
Creating file "ITA.ac3"...
The original audio track has a constant bit depth of 24 bits.
eac3to processing took 38 seconds.
Done.

laz1989
20th July 2015, 17:29
Does not "-core" work?

Nop.Try already.
I have been thinking it s possible to be an error from DirectShow so i changed the permision to nero, nothing.
SO my question is : At that command line input.thd ouput.ac3 , it's working at someone?

Devilman1
22nd July 2015, 15:53
I want to convert PAL aac audio file to 23.976 wav files, but on every file I try I receive this error message:

AAC, 2.0 channels, 48kHz
Decoding with DirectShow (Nero Audio Decoder 2)...
Getting "Nero Audio Decoder 2" instance failed.
Aborted at file position 262144.

I extracted the AAC audio file using ffmpeg from a .mp4 file.

What does this mean? Is a NeroAacDec error or are the files wrong? They play fine in Vlc.

TIA

Music Fan
22nd July 2015, 15:59
@ laz1989 : you can extract the ac3 core with TSMuxer.

tebasuna51
22nd July 2015, 17:25
I extracted the AAC audio file using ffmpeg from a .mp4 file...

If you have NeroAacDec.exe (free) you can decode the mp4 audio to wav.
Also you can decode to wav, instead extract, with ffmpeg.

After you can use the wav with eac3to to do the 25 -> 23.976 conversion.

To decode aac with eac3to you need Nero7+plugins (not free) installed.

Nebudchanezzer
23rd July 2015, 10:58
Nop.Try already.
I have been thinking it s possible to be an error from DirectShow so i changed the permision to nero, nothing.
SO my question is : At that command line input.thd ouput.ac3 , it's working at someone?

For "-core" to work with TrueHD you have to use it when demuxing the Blu-ray, if you use eac3to to demux to .thd you lose the core as eac3to discards it when demuxing.

The commandline would look something
like this: eac3to path/to/originalvideofile.m2ts 2: path/to/extractedcore.ac3 - core

LigH
23rd July 2015, 12:12
^ omitting the space between "-" and "core".

Thunderbolt8
23rd July 2015, 13:59
there hasnt been any activity in the dcadec department on github for 2 months now. can we conclude from that the development of the decoder is finished and everything is working?

hello_hello
24th July 2015, 05:02
Nop.Try already.
I have been thinking it s possible to be an error from DirectShow so i changed the permision to nero, nothing.
SO my question is : At that command line input.thd ouput.ac3 , it's working at someone?

The way I understand TrueHD (someone correct me if I'm wrong) there is no "core" as there is with DTS-HD. Even though it only appears as a single audio stream, there's two independent streams, the TrueHD audio and the fall-back, lossy AC3. Which you extract appears to depend on the output extension.

The -core parameter only applies to DTS-HD, according to this:
https://en.wikibooks.org/wiki/Eac3to/How_to_Use#Command_Line_Syntax

I don't use eac3to via the command line much. I tend to use the HD Streams Extractor built into MeGUI instead (or there's a standalone version here (http://forum.doom9.org/showthread.php?p=1719399#post1719399)). But I tried a few extractions and checked the command line MeGUI was using. The same TrueHD+AC3 stream was selected each time.

When extracting both streams as a single file with a thd+ac3 extension:
"C:\Program Files\MeGUI\tools\eac3to\eac3to.exe" "E:\Video\" 1) 3:"D:\F1_T3_Audio - English.thd+ac3" -progressnumbers

TrueHD only:
"C:\Program Files\MeGUI\tools\eac3to\eac3to.exe" "E:\Video\" 1) 3:"D:\F1_T3_Audio - English.thd" -progressnumbers

AC3 only:
"C:\Program Files\MeGUI\tools\eac3to\eac3to.exe" "E:\Video\" 1) 3:"D:\F1_T3_Audio - English.ac3" -progressnumbers

Or when opening the m2ts file directly, rather than let the HD Streams Extractor open the whole disc and find the appropriate mpls file, or whatever it does.

"C:\Program Files\MeGUI\tools\eac3to\eac3to.exe" "E:\Video\BDMV\STREAM\00007.m2ts" 3:"D:\T3_Audio - English.ac3" -progressnumbers

eac3to v3.29
command line: "C:\Program Files\MeGUI\tools\eac3to\eac3to.exe" "E:\Video\BDMV\STREAM\00007.m2ts" 3:"D:\T3_Audio - English.ac3" -progressnumbers
------------------------------------------------------------------------------
M2TS, 1 video track, 3 audio tracks, 1:54:39, 50i
1: Chapters, 21 chapters
2: h264/AVC, 1080i50 (16:9)
3: TrueHD/AC3, English, 5.0 channels, 96kHz
(embedded: AC3, 5.0 channels, 640kbps, 48kHz)
4: RAW/PCM, English, 2.0 channels, 16 bits, 48kHz
5: AC3, English, 2.0 channels, 224kbps, 48kHz
[a03] Extracting audio track number 3...
[a03] Extracting AC3 stream...
[a03] Creating file "D:\T3_Audio - English.ac3"...
Video track 2 contains 171972 frames.
eac3to processing took 7 minutes, 31 seconds.
Done.

When I tried each extension, the thd+ac3 file was 5.7GB, the thd file was 5.2GB and the AC3 was 525MB, so that seems right.

Hopefully the info above will help you out.

turab
24th July 2015, 22:26
There is this DTS-ES Matrix track that I want to encode to AAC, but I want to know if it's possible to preserve the channel information. Does AAC even support a 6.1 channel configuration?

tebasuna51
25th July 2015, 11:19
@turab
Yes, AAC support 6.1 channel configuration, but a DTS-ES Matrix have only 5.1 discrete channels, the Back Center channel is mixed in surround channels.

AFAIK AAC headers don't have any flag to inform the player about that.
But I think than is not necesary, you can recode your DTS to a 5.1 AAC and, if you have a 5.1 audio speakers you can listen the Back Center like a fantom channel, if you have a 6.1 audio speakers your receiver/amplifier maybe can extract the Back Center channel for you.

There are a option, not recommended, to convert a 6.1 Matrix in 6.1 discrete channels:
1) Decode 6.1 Matrix to 6 wavs with eac3to
2) Use SL and SR wavs to create a stereo wav (with Sox, WaveWizard or any audio editor like Audacity)
3) Use CenterCutGUI (http://forums.virtualdub.org/index.php?&act=ST&f=21&t=12627&st=0) to create 3 channels
4) Make a 6.1 wav replacing SL/SR with the 3 new channels and encode to AAC

heerschop
25th July 2015, 14:28
@turab
There are a option, not recommended, to convert a 6.1 Matrix in 6.1 discrete channels:
1) Decode 6.1 Matrix to 6 wavs with eac3to
2) Use SL and SR wavs to create a stereo wav (with Sox, WaveWizard or any audio editor like Audacity)
3) Use CenterCutGUI (http://forums.virtualdub.org/index.php?&act=ST&f=21&t=12627&st=0) to create 3 channels
4) Make a 6.1 wav replacing SL/SR with the 3 new channels and encode to AAC


With CenterCut I have created a center.wav and a sides.wav from the combined stereo SL-SR.wav.
- Do you use the center.wav as the center back channel?
- How do you create the wavs for replacing the SL and SR channel? Is this accomplished by converting the stereo center.wav to a center-left.wav and center-right.wav?

greetz

Nebudchanezzer
25th July 2015, 16:59
^ omitting the space between "-" and "core".

True, thats how it goes sometimes using a android-pad to write on. :p

tebasuna51
25th July 2015, 17:38
With CenterCut I have created a center.wav and a sides.wav from the combined stereo SL-SR.wav.
- Do you use the center.wav as the center back channel?
Yes, center.wav is now BC.wav
- How do you create the wavs for replacing the SL and SR channel? Is this accomplished by converting the stereo center.wav to a center-left.wav and center-right.wav?
Nope, use eac3to to split sides.wav to wavs and rename the outputs FL-FR to SL-SR.

turab
25th July 2015, 19:48
@turab
Yes, AAC support 6.1 channel configuration, but a DTS-ES Matrix have only 5.1 discrete channels, the Back Center channel is mixed in surround channels.

AFAIK AAC headers don't have any flag to inform the player about that.
But I think than is not necesary, you can recode your DTS to a 5.1 AAC and, if you have a 5.1 audio speakers you can listen the Back Center like a fantom channel, if you have a 6.1 audio speakers your receiver/amplifier maybe can extract the Back Center channel for you.

There are a option, not recommended, to convert a 6.1 Matrix in 6.1 discrete channels:
1) Decode 6.1 Matrix to 6 wavs with eac3to
2) Use SL and SR wavs to create a stereo wav (with Sox, WaveWizard or any audio editor like Audacity)
3) Use CenterCutGUI (http://forums.virtualdub.org/index.php?&act=ST&f=21&t=12627&st=0) to create 3 channels
4) Make a 6.1 wav replacing SL/SR with the 3 new channels and encode to AAC
Thank you. So when it's encoded to 5.1 AAC, the audio can still be decoded to 6.1 (if the right software/hardware exists). I was thinking that maybe DTS-ES streams have some side information that's needed for matrix decoding that would get lost in the process. If not, then I'm happy to encode to 5.1 AAC.

Mike
26th July 2015, 00:04
hello friends I'm here with a doubt ..
I have a 384kbps audio to and can convert to 640kbps

It is allowed to convert audio unless kbps kbps for more ...

Or it can only be converted and is allowed to convert more kbps audio for less ...

thank you

ndjamena
26th July 2015, 01:10
Bitrate is irrelevant. Audio is decoded to PCM before being passed to an encoder, which has a far higher bitrate than any lossy codec.

LigH
26th July 2015, 06:23
But you will not raise quality by raising bitrate. What is lost in the original, can't be restored in the copy.

Smithy
26th July 2015, 08:02
Terminator 2 Judgment Day Skynet Edition 1991 Blu-ray 1080p EUR VC-1 DTS-HD MA

eac3to v3.28 (arcsoft 1.1.0.0)

M2TS, 2 video tracks, 9 audio tracks, 19 subtitle tracks, 2:17:19, 24p /1.001
6: DTS Master Audio, German, 7.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 1509kbps, 48kHz)
[a06] Extracting audio track number 6...
[a06] Decoding with ArcSoft DTS Decoder...
[a06] Writing WAVs...
[a06] Skipping identical DTS frames (seamless branching)...
[a06] Original audio track: max 24 bits, average 16 bits, most common 16 bits.
[a06] Audio overlaps for 9ms at playtime 0:18:31. <WARNING>
[a06] Audio overlaps for 5ms at playtime 0:39:24. <WARNING>
[a06] Audio overlaps for 8ms at playtime 0:39:42. <WARNING>
[a06] Audio overlaps for 6ms at playtime 1:04:51. <WARNING>
[a06] Audio overlaps for 11ms at playtime 1:07:11. <WARNING>
[a06] Audio overlaps for 8ms at playtime 1:08:47. <WARNING>
[a06] Audio overlaps for 7ms at playtime 1:12:08. <WARNING>
[a06] Audio overlaps for 5ms at playtime 1:21:17. <WARNING>
[a06] Audio overlaps for 12ms at playtime 1:34:04. <WARNING>
[a06] Audio overlaps for 10ms at playtime 1:56:49. <WARNING>
[a06] Audio overlaps for 11ms at playtime 2:01:59. <WARNING>
[a06] Audio overlaps for 8ms at playtime 2:05:06. <WARNING>
[a06] Audio overlaps for 9ms at playtime 2:11:54. <WARNING>
[a06] Starting 2nd pass...
[a06] Extracting audio track number 6...
[a06] Decoding with ArcSoft DTS Decoder...
[a06] Writing WAVs...
[a06] Realizing RAW/PCM gaps...
[a06] Skipping identical DTS frames (seamless branching)...
[a06] Processed audio track: max 24 bits, average 16 bits, most common 16 bits.


eac3to v3.29 (dcadec)

M2TS, 2 video tracks, 9 audio tracks, 19 subtitle tracks, 2:17:19, 24p /1.001
6: DTS Master Audio, German, 7.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 1509kbps, 48kHz)
[a06] dts, 48000, 7.1
[a06] Extracting audio track number 6...
[a06] Decoding with libDcaDec DTS Decoder...
[a06] Writing WAVs...
[a06] The libDcaDec DTS Decoder reported the error "Bitstream navigation error" while decoding. <ERROR>
Aborted at file position 16039026688. <ERROR>

Smithy
26th July 2015, 08:59
hello friends I'm here with a doubt ..
I have a 384kbps audio to and can convert to 640kbps

It is allowed to convert audio unless kbps kbps for more ...

Or it can only be converted and is allowed to convert more kbps audio for less ...

thank you

But you will not raise quality by raising bitrate. What is lost in the original, can't be restored in the copy.

thats right in theory,
but eac3to/libav ac3 encoder has wrong bandwidth in lower Bitrates for 5.1 like 384 (14 kHz) / 448 (16 kHz) vs Studio AC3 384 (18 kHz) / 448 (20 kHz)

To Save all Frequencies (no cutoff) from Source AC3 to Reencode AC3 with eac3to (libav), the min. Bitrate for 384/448 kbps is 576 kbps @ 5.1,
but 640 kbps are better choise because lossy Encode from lossy Source.
A Speedup for AC3 5.1 384 raise Frequencies near 20 kHz, so u need more Bitrate/Bandwidth for Reencode.
........
Better use Surcode for AC3 Encoder for lower Bitrates,
or AftenGui and EncWAVtoAC3 have bandwith Option from -2 to 60 (5.1 384 kbps 18kHz = 40 / 5.1 448 kbps 20kHz = 48)

LigH
26th July 2015, 11:01
To not lose quality, preferably don't recode (if the source format is supported by the target device). If you convert between different formats (e.g. multichannel AAC to AC3), you may of course use different bitrates because the codecs have different efficiency.

tebasuna51
26th July 2015, 11:57
I was thinking that maybe DTS-ES streams have some side information that's needed for matrix decoding that would get lost in the process.
To matrix decode SL-SR to SL'-BC-SR' you don't need a special side info.
The common parts between SL-SR are extracted to BC channel and elimitated from original SL-SR to output a new pair SL'-SR'.

Only DTS-ES 6.1 discrete have info to do a better channel separation:
http://www.avsforum.com/forum/90-receivers-amps-processors/435592-what-s-difference-between-dts-6-1-matrix-regular-dts-6-1-sound.html#post4224284

Music Fan
26th July 2015, 13:02
To matrix decode SL-SR to SL'-BC-SR' you don't need a special side info.
The common parts between SL-SR are extracted to BC channel and elimitated from original SL-SR to output a new pair SL'-SR'.
In this case, what's the difference between 5.1 and 6.1 matrix mix ? Because with a 6.1 (or 7.1) receiver, both can be converted to 6.1 (or 7.1).

tebasuna51
26th July 2015, 13:39
thats right in theory,
but eac3to/libav ac3 encoder has wrong bandwidth in lower Bitrates for 5.1 like 384 (14 kHz) / 448 (16 kHz) vs Studio AC3 384 (18 kHz) / 448 (20 kHz)

To Save all Frequencies (no cutoff) from Source AC3 to Reencode AC3 with eac3to (libav), the min. Bitrate for 384/448 kbps is 576 kbps @ 5.1,
but 640 kbps are better choise because lossy Encode from lossy Source.
A Speedup for AC3 5.1 384 raise Frequencies near 20 kHz, so u need more Bitrate/Bandwidth for Reencode.
........
Better use Surcode for AC3 Encoder for lower Bitrates,
or AftenGui and EncWAVtoAC3 have bandwith Option from -2 to 60 (5.1 384 kbps 18kHz = 40 / 5.1 448 kbps 20kHz = 48)

1) Of course if you need a re-encode because a speedup operation you can use, at your choice, higer bitrate output. But remember than speedup is a lossy operation and you lose quality always.

2) Of course if you own a commercial certified encoder maybe the output is better than use free AC3 encoders. Thats can't be discussed here.

3) But remember than quality is not only bandwith, at same bitrate you can choice between lose bandwith or lose precission.

4) I make a test encoding a Test.waw 5.1 48 KHz with different options:
Test-Aften-w40-384.ac3 (18 KHz)
Test-Aften-w48-448.ac3 (20 KHz)
Test-eac3to-384.ac3 (14 KHz)
Test-eac3to-448.ac3 (16 KHz)
Test-ffmpeg-384.ac3 (18 KHz)
Test-ffmpeg-448.ac3 (20 KHz)
Test-SoftEncode-384.ac3 (18 KHz, default like Studio AC3)
Test-SoftEncode-448.ac3 (20 KHz, default like Studio AC3)

I used spek to see bandwith, I upload the images here: https://www.sendspace.com/file/egd7tu

5) Remember than eac3to can use the external encoder Aften to override the default parameters used with eac3to:

eac3to Test.wav stdout.wav | Aften -b 448 -w 48 - Test-Aften-w48-448.ac3

6) Now ffmpeg is the free AC3 recommended encoder.

tebasuna51
26th July 2015, 13:58
In this case, what's the difference between 5.1 and 6.1 matrix mix ? Because with a 6.1 (or 7.1) receiver, both can be converted to 6.1 (or 7.1).

Only commercial questions.

To obtain a full surround (plane) audio image for a listener with only two ears 5.1 speakers is more than enough. Systems with 6.1 or 7.1 speakers only want gain more money.

Do you have a ear in the nape? Your ears only listen a mix SL/BC and SR/BC or SL/BL and SR/BR.

Smithy
26th July 2015, 16:41
3) But remember than quality is not only bandwith, at same bitrate you can choice between lose bandwith or lose precission.

4) I make a test encoding a Test.waw 5.1 48 KHz with different options:
Test-Aften-w40-384.ac3 (18 KHz)
Test-Aften-w48-448.ac3 (20 KHz)
Test-eac3to-384.ac3 (14 KHz)
Test-eac3to-448.ac3 (16 KHz)
Test-ffmpeg-384.ac3 (18 KHz)
Test-ffmpeg-448.ac3 (20 KHz)
Test-SoftEncode-384.ac3 (18 KHz, default like Studio AC3)
Test-SoftEncode-448.ac3 (20 KHz, default like Studio AC3)

I used spek to see bandwith, I upload the images here: https://www.sendspace.com/file/egd7tu



1) Of course, example for Precission 5.1 AC3 640 Kbps use Bandwidth @ 48 (20 kHz), too.
Because it don't need more Bandwidth. or better use Bandwith near the Source Frequencies, maybe 18kHz = 40 or 16 kHz = 32 or whatever.
Eac3to/libav use Bandwidth @ 60 (24kHz) for 5.1 AC3 640 Kbps

2) Aften looks best to the Source but SoftEncode looks Crapy ! ;)

Thunderbolt8
26th July 2015, 20:07
is there a way to losslessly change wave/pcm files from 176kHz to flac? when I use the switches -override and -192000 nothing happens, the output flac file still has a sample rate of 176kHz

I can use -ResampleTo192000 but then I get the message "Reducing depth from 64 to 24 bits..." so I dont know if the outcome can still be considered lossless.

LigH
26th July 2015, 20:20
I don't really understand your intentions ... FLAC is a lossless compressor for integer PCM samples without changing the attributes as long as they are supported. If it gets 176 kHz PCM as input, why should the FLAC compressed result have any other sampling rate than 176 kHz? There should be no reason that FLAC would support 192 kHz, but not 176 kHz.

If you wanted to resample 176 kHz to 192 kHz, this resampling won't be lossless. There will probably be a conversion using floating point values intermediately.

Keiyakusha
26th July 2015, 23:39
Thunderbolt8
It will not be lossless. It is similar to converting pcm to MP3 then to FLAC (but far less destructive) where result is a lossless format that contains data that is no longer lossless. And btw, if you started with 16bit pcm, your result will not only be lossy, but an upscale too (in terms of bitdepth, not only sample count)
That said, I have no idea whether flac supports 176kHz, but I don't really see why it wouldn't. If for some reason it does not have support for it, you better use a different format that can handle it.

hello_hello
27th July 2015, 05:08
According to the info here, the maximum bitdepth supported by flac is 32 bit. https://xiph.org/flac/faq.html#general__samples
It also states: FLAC supports linear sample rates from 1Hz - 655350Hz in 1Hz increments

Only I couldn't make a 32 bit flac file no matter what I did. I tried the command line and several GUIs and the best I could manage was an error message stating 32 bits per sample is unsupported.
Creating a 176kHz wave file was easy. Creating a 176kHz, 64 bit (float) wave file wasn't much harder (adding -full to the command line):

eac3to v3.29
command line: "C:\Program Files\MeGUI\tools\eac3to\eac3to.exe" "E:\test.mkv" 2:"D:\T2_Audio - English.wav" -full -resampleTo176400 -progressnumbers
------------------------------------------------------------------------------
MKV, 1 video track, 1 audio track, 0:01:18, 24p /1.001
1: h264/AVC, English, 928x696 24p /1.001 (4:3)
2: AC3, English, 2.0 channels, 192kbps, 48kHz, dialnorm: -27dB
[a02] ac3, 48000, 2.0
[a02] Extracting audio track number 2...
[a02] Removing AC3 dialog normalization...
[a02] Decoding with libav/ffmpeg...
[a02] Resampling to 176.4kHz...
[a02] Writing WAV...
[a02] Creating file "D:\T2_Audio - English.wav"...
Video track 1 contains 1874 frames.
eac3to processing took 5 seconds.
Done.

But as soon as you tell eac3to to output a flac file (I tried different sample rates and it doesn't make any difference):

eac3to v3.29
command line: "C:\Program Files\MeGUI\tools\eac3to\eac3to.exe" "E:\test.mkv" 2:"D:\T2_Audio - English.flac" -full -resampleTo176400 -progressnumbers
------------------------------------------------------------------------------
MKV, 1 video track, 1 audio track, 0:01:18, 24p /1.001
1: h264/AVC, English, 928x696 24p /1.001 (4:3)
2: AC3, English, 2.0 channels, 192kbps, 48kHz, dialnorm: -27dB
[a02] ac3, 48000, 2.0
[a02] Extracting audio track number 2...
[a02] Removing AC3 dialog normalization...
[a02] Decoding with libav/ffmpeg...
[a02] Resampling to 176.4kHz...
[a02] Reducing depth from 64 to 24 bits...
[a02] Encoding FLAC with libFlac...
[a02] Creating file "D:\T2_Audio - English.flac"...
Video track 1 contains 1874 frames.
eac3to processing took 14 seconds.
Done.

Reducing the bitdepth to something flac will play with makes sense, but is there any way to encode a 32 bit flac file as the flac help documents suggests it can?

LigH
27th July 2015, 08:40
FLAC may be able to support up to 32 bit integer resolution by specification. But eac3to may limit the internal resolution to a sane amount of 24 bit:

Most PCM audio streams may have only 16 or at most 24 bit per sample integer resolution. If you have a lossy format based on frequency spectrum subbands, you will usually have encoded 32-bit floating point values, which have a mantissa precision of 24 bit (see IEEE floating point (https://en.wikipedia.org/wiki/IEEE_floating_point) specs regarding "Single Precision Float"). Even if eac3to converts audio to "Double Precision Float" (64 bit overall, 53 bit mantissa), the original samples still had at most 24 bit precision (rather less in less-than-maximum-volume scenes), therefore it doesn't make sense to waste more than 24 bits after any conversion.

I doubt you will ever get your hands on PCM samples with true 32 bit integer resolution.

madshi
27th July 2015, 09:14
Terminator 2 Judgment Day Skynet Edition 1991 Blu-ray 1080p EUR VC-1 DTS-HD MA

eac3to v3.29 (dcadec)

M2TS, 2 video tracks, 9 audio tracks, 19 subtitle tracks, 2:17:19, 24p /1.001
6: DTS Master Audio, German, 7.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 1509kbps, 48kHz)
[a06] dts, 48000, 7.1
[a06] Extracting audio track number 6...
[a06] Decoding with libDcaDec DTS Decoder...
[a06] Writing WAVs...
[a06] The libDcaDec DTS Decoder reported the error "Bitstream navigation error" while decoding. <ERROR>
Aborted at file position 16039026688. <ERROR>
Can you provide a small sample with which I could reproduce the issue? Then I can report this to the dcadec developer.

Smithy
27th July 2015, 10:07
Can you provide a small sample with which I could reproduce the issue? Then I can report this to the dcadec developer.

maybe, i will find and check the runtime of aborted position.

the demuxxed dtshd has other file aborted position. ^^

eac3to v3.29

DTS Master Audio, 7.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 1509kbps, 48kHz)
dts, 48000, 7.1
Decoding with libDcaDec DTS Decoder...
Writing WAV...
Creating file "V:\00018.mpls_6ger.dtshd_.wav"...
The libDcaDec DTS Decoder reported the error "Bitstream navigation error" while decoding. <ERROR>
Aborted at file position 1368129536. <ERROR>

Thunderbolt8
27th July 2015, 10:14
I don't really understand your intentions ... FLAC is a lossless compressor for integer PCM samples without changing the attributes as long as they are supported. If it gets 176 kHz PCM as input, why should the FLAC compressed result have any other sampling rate than 176 kHz? There should be no reason that FLAC would support 192 kHz, but not 176 kHz.

If you wanted to resample 176 kHz to 192 kHz, this resampling won't be lossless. There will probably be a conversion using floating point values intermediately.
I want to concert a DSD (.DFF) audio file losslessly to Flac, because Winamp cant play DSD and the wasapi Plugin cannot play flac files with 176 kHz (only 96 and 192; also no 32-bit flac files; and no, i dont want to change my audio player)

madshi
27th July 2015, 10:15
maybe, i will find and check the runtime of aborted position.
If all else fails, you can encrypt and upload the whole DTS file and PM me the download address. I can then cut a sample for the dcadec dev.

nevcairiel
27th July 2015, 10:24
I want to concert a DSD (.DFF) audio file losslessly to Flac, because Winamp cant play DSD and the wasapi Plugin cannot play flac files with 176 kHz (only 96 and 192; also no 32-bit flac files; and no, i dont want to change my audio player)

You cannot convert DSD to FLAC lossless. There is always going to be a loss when converting DSD to PCM, or vice-versa.

Smithy
27th July 2015, 10:24
If all else fails, you can encrypt and upload the whole DTS file and PM me the download address. I can then cut a sample for the dcadec dev.

i found the position and here is 1 min sample.
http://workupload.com/file/5ppYHVxe

sneaker_ger
27th July 2015, 11:17
FLAC may be able to support up to 32 bit integer resolution by specification. But eac3to may limit the internal resolution to a sane amount of 24 bit:
I think the libflac encoder eac3to uses is limited to 24 bit in the first place. Does an alternative encoder to that even exist?
But as you say: it's probably that way because it's sane.

madshi
27th July 2015, 11:23
i found the position and here is 1 min sample.
http://workupload.com/file/5ppYHVxe
Thanks. I've reported it to the dcadec dev.

LigH
27th July 2015, 11:39
I think the libflac encoder eac3to uses is limited to 24 bit in the first place. Does an alternative encoder to that even exist?

Any independent flac.exe or libflac.dll based on official sources:

https://sourceforge.net/projects/flac/
http://www.rarewares.org/lossless.php

sneaker_ger
27th July 2015, 11:41
I meant an alternative encoder that encodes to FLAC format but is not based on libFLAC. (And that supports 32 bit encoding)

LigH
27th July 2015, 11:53
Please excuse the counter-question ... but: Would there be any reason to spend any time on re-programming an OpenSource software with a rather tolerant free license?

I don't know any source adoption as freely available as the reference implementation by Xiph.org (https://xiph.org/flac/index.html) yet.

nevcairiel
27th July 2015, 12:24
Would there be any reason to spend any time on re-programming an OpenSource software with a rather tolerant free license?

Often its a good idea to have independent implementations, as it can drive new ideas and improvements. For FLAC, FFmpeg has an independent decoder and encoder, but it seems limited to 24-bit as well.

hello_hello
27th July 2015, 14:36
FLAC may be able to support up to 32 bit integer resolution by specification. But eac3to may limit the internal resolution to a sane amount of 24 bit....

I doubt you will ever get your hands on PCM samples with true 32 bit integer resolution.

What's the definition of "true 32 bit integer resolution"?
I can make a 32 bit wave file easily enough with Audacity. I think. This is 32 bit integer isn't it?

General
CompleteName : D:\test.wav
Format : Wave
FileSize/String : 12.2 MiB
Duration/String : 9s 59ms
OverallBitRate_Mode/String : Constant
OverallBitRate/String : 11.3 Mbps

Audio
Format : PCM
Format_Settings_Endianness : Little
Format_Settings_Sign : Signed
CodecID : 1
Duration/String : 9s 59ms
BitRate_Mode/String : Constant
BitRate/String : 11.3 Mbps
Channel(s)/String : 2 channels
SamplingRate/String : 176.4 KHz
BitDepth/String : 32 bits
StreamSize/String : 12.2 MiB (100%)

I tried both versions of flac you linked to as well as the version on the flac website, and wherever version foobar2000 is using that doesn't seem to like 32 bit integer either.

http://s28.postimg.org/pbn2c65q5/32_bit.gif

Audacity is the only program I have installed that'll output a 32 bit integer wave file. The other programs such as foobar2000 seem to want to output a 32 bit float wave file.
You're right though, anything over 24 bit for a flac file would definitely be overkill. I was just curious to try it when I read Thunderbolt8's question.

I don't know much about DSD, but according to Wikipedia it's comparable to 20 bit, 96kHz PCM, so a 24 bit flac file should be quite adequate.

LigH
27th July 2015, 15:17
What's the definition of "true 32 bit integer resolution"?
I can make a 32 bit wave file easily enough with Audacity. I think. This is 32 bit integer isn't it?

So you want to convert 24 bit PCM to 32 bit PCM ... You can stuff the 8 lsb with 0-bits. The result still has at most 24 bit precision.

I rather mean: I wonder if there is any hardware recording audio with up to 32 bit precision. But I doubt that there are many 32-bit ADC (analogue-digital convertors) available, as well as I doubt there are many microphones with a sensitivity required to record with 32 bit precision.

IMHO, there are physical and electronical limits which would make audio recording with 32 bit precision very improbable. And even if, the "noise carpet" on any realistic movie set (not in "deaf rooms", not for synthetic sounds) would probably be high enough to return a signal-to-noise ratio even below the 24 bit treshold (don't remember exactly where it was, 120 dB?).

So in most practical cases, 32 bit precision would be an illusion, lying on a big fluffy carpet of noise.

ZMachine95
27th July 2015, 21:03
hello guys and girls, I would like to convert some BDMV's folders. I would like to use eac3to to to get the correct mpls file and send all tracks on ffmpeg stdin and convert.

I have thought about using something like that..

eac3to J:\BDMV\ 1) stdout.mkv | ffmpeg.exe -hwaccel auto -y -i - -map 0:v:0 -c:v libx265 -crf 20.0 -preset veryfast -map 0:a:0 -c:a:0 libvorbis -b:a:0 192k -map 0:a:1 -c:a:1 libvorbis -b:a:1 192k -map 0:s:0 -c:s:0 copy -map 0:s:1 -c:s:1 copy -map 0:s:2 -c:s:2 copy "H:\output.mkv"

but it doesn't work. If I use only stdout.h264 the video track is piped to ffmpeg and converted.

What am I doing wrong? or there is a fast way to do that?... I don't actually have to use only ffmpeg and eac3to..

thanks guys