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

MrVideo
4th July 2017, 08:40
You asked, you shall receive (and I know how to use code blocks :D )
eac3to v3.31
command line: C:\cygwin\home\Vidiot\bin\eac3to\eac3to.exe input_eac3_video.mkv output.ac3 -core
------------------------------------------------------------------------------
MKV, 1 video track, 1 audio track, 1 subtitle track, 0:43:13, 24p /1.001
1: h264/AVC, English, 1080p24 /1.001 (16:9)
2: EAC3, English, 5.1 channels, 48kHz
3: Subtitle (SRT), English
Bitstream parsing for track 2 failed. <WARNING>
Demuxing this track may still produce correct results - or not. <WARNING>
Track 2 is used for destination file "output.ac3".
This audio conversion is not supported. <ERROR>
General
Complete name : F:\input_eac3_video.mkv
Format : Matroska
File size : 4.05 GiB
Duration : 43mn 13s
Overall bit rate : 13.4 Mbps
Encoded date : UTC 2016-08-29 13:09:36
Writing application : mkvmerge v7.9.0 ('Birds') 32bit
Writing library : libebml v1.3.1 + libmatroska v1.4.2

Video
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Muxing mode : Container profile=Unknown@4.0
Codec ID : V_MPEG4/ISO/AVC
Duration : 43mn 10s
Bit rate : 12.2 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16/9
Frame rate : 23.976 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.246
Writing library : x264 core 148 r2623 d5b2374
Encoding settings : cabac=1 / ref=4 / deblock=1:-1:-1 /
analyse=0x3:0x133 / me=umh / subme=9 / psy=1 /
psy_rd=1.00:0.15 / mixed_ref=1 / me_range=24 / chroma_me=1 /
trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 /
chroma_qp_offset=-3 / threads=34 / lookahead_threads=5 /
sliced_threads=0 / nr=150 / decimate=1 / interlaced=0 /
bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 /
b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 /
weightp=2 / keyint=120 / keyint_min=61 / scenecut=0 /
intra_refresh=0 / rc_lookahead=120 / rc=crf / mbtree=1 / crf=18.0 /
qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 /
vbv_maxrate=15000 / vbv_bufsize=31250 / crf_max=0.0 /
nal_hrd=vbr / filler=0 / ip_ratio=1.40 / aq=3:1.00

Audio
Format : E-AC-3
Format/Info : Audio Coding 3
Codec ID : A_EAC3
Duration : 43mn 13s
Bit rate mode : Constant
Bit rate : 640 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48.0 KHz

Text
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text

LigH
4th July 2017, 09:05
This appears like legacy AC3 to me, with 640 kbps and typical 5.1 channel layout. I would recommend a dedicated MKV demultiplexer here (MKVToolnixGUI / mkvextract + optional UI). Extracting from MKV may not be the primary feature of eac3to, in relation to other source media formats.

But I may be wrong. Other users may have more experience here.

BTW, is there the same error without the "-core" parameter? Reading the help output again, it only mentions DTS...

MrVideo
4th July 2017, 09:10
Oops, I think you have misunderstood what I am trying to do. I have no problem extracting the video or audio streams from the MKV file. What I am trying to do is extract the AC3 core from the EAC3 audio stream. I'm trying to keep from having to recode the EAC3 to AC3. Recoding is not good.

Q-the-STORM
4th July 2017, 09:12
There is no ac3 core in this eac3...

MrVideo
4th July 2017, 09:25
There is no ac3 core in this eac3...
Then by definition, it can't be EAC3. I read the paper that Dolby Labs released as a PDF and EAC3 is supposed to be for adding 2 surround channels, making it 7.1. For compatibility, there is supposed to be a core of the 5.1. When played back, if the amp doesn't know EAC3, the packets for the added 2 channels are ignored and only the core 5.1 is played. If the amp knows EAC3, then the 2 surround channels of the core are thrown out and the 4 channels of the EAC3 packets are added to the L/C/R of the core and played.

The paper that I read makes it sound like EAC3 with only 5.1 is not supposed to be possible, yet here it is. Streaming services like Amazon and Netflix are expanding EAC3 use, but only seem to have 5.1. Advantage unknown.

The paper says nothing about having the L/C/R also in the EAC3 added packets.

Color me totally confused.

I used tsmuxer to extract the EAC3 stream from the MKV file. I then fed that single stream to eac3to and that worked, sortof. I mean that eac3to no longer complains about it not being supported, but it recoded the audio with libaften, which I did not want to happen.

I want to get the EAC3 5.1 turned into AC3 5.1, without recoding. Seems like an impossible task.

LigH
4th July 2017, 09:30
AFAIR, there are different formats of E-AC3: for Blu-ray, it's used to add extra channels to a legacy AC3 core; but there may also be "native E-AC3" which contains all channels in E-AC3 packets, without any legacy AC3 packets to add to (just E-AC3 packets having a different header than legacy AC3 packets, but probably the same data content?). If this is true, then I guess it could be repacked to legacy AC3 format if there was any designated packet converter.

nevcairiel
4th July 2017, 09:32
Then by definition, it can't be EAC3. I read the paper that Dolby Labs released as a PDF and EAC3 is supposed to be for adding 2 surround channels, making it 7.1. For compatibility, there is supposed to be a core of the 5.1.

This only applies to Blu-ray streams. You can also encode pure EAC3, which is used in broadcast in some countries, and probably various other sources as well (streaming, I guess?).

The specification of EAC3 technically includes a method for converting EAC3 to AC3 (for legacy SPDIF transmission), however I do not know if any software implements that.

Q-the-STORM
4th July 2017, 09:34
It's more complicated than that...
There is no AC3 core in this EAC3, but legacy decoders can decode parts of EAC3...

EAC3 is build in a way that that legacy decoders can decode some of the data to 640kbps AC3, which is what e.g. a old BD player or PS4 does when you are streaming netflix. While audio you get from netflix is 192kbps eac3, what your receiver gets is 640kbps ac3, which is converted by the AC3 decoder...

the way I understood it (from reading the white papers), is that it isn't actually decoding and reencoding eac3 (which obviously it can't), it converts the encoded eac3 stream directly to AC3 and losing some data (like the 2 extra channels maybe some frequencies depending on source bitrate, etc.) I have never come across any other codec that works like that, which is why it's so confusing... But your file doesn't have a core like DTS does...

there is no way to get AC3 from this file without reencoding...

LigH
4th July 2017, 09:44
So there are also differences in the format of the "payload" between an E-AC3 and a legacy AC3 packet? ... Well, then you will probably have to add a parameter like "-640" to convert with recoding.

MrVideo
4th July 2017, 10:08
there is no way to get AC3 from this file without reencoding...
Crap, that sucks.

Thanks to all for posting this morning (for me anyway). I've learned a lot this morning.

tebasuna51
4th July 2017, 10:18
Even eac3to have problems with eac3 in mkv container (not in m2ts).
And default Aften encoder is deprecated (https://forum.doom9.org/showthread.php?p=1794293#post1794293).

The best way I know to recode is:

FFMPEG -drc_scale 0 -i "input.mkv" -vn -acodec ac3 -ac 6 -ab 640k -center_mixlev 0.707 "output.ac3"

or the desired bitrate
or -map 0:2 instead -vn if is the second audio track in mkv, or nothing if input.eac3

Ripman
4th July 2017, 15:24
Is there an option that can be passed on the command line to tell whether a particular constant 24bit input audio file contains only 16bits of audio data - that there are "superfluous zero bytes"?

eac3to will remove these "superfluous zero bytes" using a second pass - a great feature. And I am wondering if there is an option to tell whether there are "superfluous zero bytes", but without taking the action of actually removing the "superfluous zero bytes".

Here is an example log:

eac3to v3.31
command line: eac3to "02_Schumann-Violin-Sonatas-Op-105-and-Op-121.flac" "..\wav\02_Schumann-Violin-Sonatas-Op-105-and-Op-121.wav"
------------------------------------------------------------------------------
FLAC, 2.0 channels, 0:03:26, 24 bits, 2640kbps, 352.8kHz
Decoding FLAC...
Writing WAV...
Creating file "..\wav\02_Schumann-Violin-Sonatas-Op-105-and-Op-121.wav"...
The original audio track has a constant bit depth of 16 bits.
Superfluous zero bytes detected, will be stripped in 2nd pass.
Starting 2nd pass...
Reading WAV...
Stripping zero bytes...
Writing WAV...
Creating file "..\wav\02_Schumann-Violin-Sonatas-Op-105-and-Op-121.wav"...
eac3to processing took 23 seconds.
Done.

Q-the-STORM
4th July 2017, 15:44
-24 should encode with 24 bitdepth, but I don't know if the "superfluous zero bytes" message comes up, you'd need to try it yourself...

Ripman
4th July 2017, 17:28
-24 should encode with 24 bitdepth, but I don't know if the "superfluous zero bytes" message comes up, you'd need to try it yourself...

It'd be more of a "stat" type of function ... the implication being that you need to go through the file anyway to determine that it doesn't have anything over 16its.

I can process something like the log I posted, and then use an re to match the string with the message. -- I was looking for something more precise.

Btw, here is an example of such a file - 24bit/352.8/2ch flac. I did a post maybe a year ago where I had a problem with 352khz files.
https://www.dropbox.com/s/uuhv97hzo25feq1/11_Schumann-Violin-Sonatas-Op-105-and-Op-121_2chDXD.flac?dl=1

Snowknight26
4th July 2017, 18:07
Is there an option that can be passed on the command line to tell whether a particular constant 24bit input audio file contains only 16bits of audio data - that there are "superfluous zero bytes"?
You have to decode the whole audio track, just like you did.

eac3to will remove these "superfluous zero bytes" using a second pass - a great feature. And I am wondering if there is an option to tell whether there are "superfluous zero bytes", but without taking the action of actually removing the "superfluous zero bytes".


-no2ndpass, stops the 2nd pass from occurring, but what's your goal behind all this anyway?


-24 should encode with 24 bitdepth, but I don't know if the "superfluous zero bytes" message comes up, you'd need to try it yourself...

-24 defines a PCM input track as 24-bit in case eac3to can't automatically detect it. You're thinking of -down24, which reduces the output bit-depth to 24.

Q-the-STORM
4th July 2017, 18:52
-24 defines a PCM input track as 24-bit in case eac3to can't automatically detect it. You're thinking of -down24, which reduces the output bit-depth to 24.

yeah, I meant -down24

Music Fan
4th July 2017, 19:14
@ MrVideo : try to keep your eac3 track as is before to recode it, it will perhaps be compliant with your decoder, even if you wanna put it on a dvd-video.
I know one example of commercial dvd with ac3 @ 640 kbps : Pink Floyd, Pulse (at least the european edition). It contains 2 ac3 tracks, one @ 640 kbps, the other @ 448 kbps. And it's decoded by my equipment.
But this is probably a different kind of encoding, a "simple" ac3. Yours was maybe encoded with an eac3 encoder, unless there's a header misinterpretation of your file wich is maybe also a "simple" ac3.

MrVideo
4th July 2017, 20:18
The best way I know to recode is:

FFMPEG -drc_scale 0 -i "input.mkv" -vn -acodec ac3 -ac 6 -ab 640k - 0.707 "output.ac3"
Thanks. I will put that into my scripts.

Why use -drc_scale if it is set to 0? Isn't that the default?

If the audio being recoded is from EAC3, should the -center_mixlev not be used, as it should already be that from the time it was initially encoded?

tebasuna51
4th July 2017, 20:51
eac3to will remove these "superfluous zero bytes" using a second pass - a great feature. And I am wondering if there is an option to tell whether there are "superfluous zero bytes", but without taking the action of actually removing the "superfluous zero bytes".


That is the correct answer:


-no2ndpass, stops the 2nd pass from occurring, but what's your goal behind all this anyway?

And the correct question also.

tebasuna51
4th July 2017, 21:01
Why use -drc_scale if it is set to 0? Isn't that the default?

The default decoding is apply the Dynamic Range Compression (DRC) found in the stream (attenuate volume), set to 0 cancel that action.

If the audio being recoded is from EAC3, should the -center_mixlev not be used, as it should already be that from the time it was initially encoded?

The center-mixlevel is a metadata present in AC3 5.1 header to be used when the 5.1 is downmixed to 2.0.

The ffmpeg default put -4.5 dB instead -3 dB and I recommend use the big value to avoid low dialog volume problem. Other encoders use -3 dB by default, I don't know for what ffmpeg put -4.5.

Ripman
4th July 2017, 21:07
-no2ndpass, stops the 2nd pass from occurring, but what's your goal behind all this anyway?

I didn't know about the -no2ndpass -- it doesn't show on the options screen (or even page 1 of this post). Anyway, using that opt prevents the 2nd pass.

Goal? --- Get my money back from the site that sold the file as 24bit. :devil: (The idea would be to use eac3to to confirm bit-depth before processing any files I purchase online. In the case of the 16bit-352.8khz flac I posted, I imagine that the producing firm had an encoder option set incorrectly.)

Music Fan
4th July 2017, 22:27
Thanks. I will put that into my scripts.
Did you see my post ?

MrVideo
5th July 2017, 00:51
(snip)
Thanks for the info. Mucho appreciated.

MrVideo
5th July 2017, 00:57
@ MrVideo : try to keep your eac3 track as is before to recode it, it will perhaps be compliant with your decoder, even if you wanna put it on a dvd-video.
Sorry, missed this post at first. I don't do DVD-videos. I do Blu-ray. My amp has no issue with the variant EAC3 stream.

The program I use is BDRebuilder and jdobbs is a stickler for files being Blu-ray compliant. His latest release is supposed to now handle EAC3, but he wants the compliant version, so he tried to make it so and it fails. I've asked to use the stream as is, with an option to recode if the user so desires.
Yours was maybe encoded with an eac3 encoder, unless there's a header misinterpretation of your file wich is maybe also a "simple" ac3.
It is EAC3, but not the Blu-ray compliant kind.

Music Fan
5th July 2017, 09:05
Ok. Your player could maybe play it anyway, even on a Blu-ray. You can try with a short extract that you export with TSMuxer in Blu-ray mode (and burn it with ImgBurn for instance), it will keep sound as is.

MrVideo
5th July 2017, 11:32
Ok. Your player could maybe play it anyway, even on a Blu-ray. You can try with a short extract that you export with TSMuxer in Blu-ray mode (and burn it with ImgBurn for instance), it will keep sound as is.
Yes, it will, but it won't be an authored disc with a menu and multiple files in the menu to select for playback, i.e., BDRebuilder.

Q-the-STORM
5th July 2017, 12:36
If I remember correctly, you should be able to simply replace the m2ts file... so use your regular software to create the BD, but then remux the m2ts with tsmuxer....

iSeries
5th July 2017, 14:46
Hi, I'm extracting a DTS-HD MA 7.1 audio track to 7.1 WAVs, but eac3to is getting about 10% of the way in and then saying that clipping is detected and that a second pass will be necessary. Then at the end it does the second pass and applies a gain of -0.31db. I've never seen this before, is this normal?

tebasuna51
5th July 2017, 15:02
Is not normal with a DTS-MA, but I see some DTS-MA bad encoded with this problem.

You can let the -0.31 dB (little atenuation) or use the parameter -no2ndpass to obtain the full volume with a little clip (unnoticeable most the times).

iSeries
5th July 2017, 15:10
Thanks, actually I got it wrong, it's a DTS-X soundtrack (Jason Bourne). Are there any known issues decoding this format?

MrVideo
6th July 2017, 04:16
If I remember correctly, you should be able to simply replace the m2ts file... so use your regular software to create the BD, but then remux the m2ts with tsmuxer....
Nope. Trying to replace a M2TS file with a different one will result in the M2TS file not being played. The reason is that two other supporting files in the Blu-ray structure must also be updated to support the changed M2TS file.

I tried it once and it failed. Recently I found out why.

MrVideo
6th July 2017, 14:38
FFMPEG -drc_scale 0 -i "input.mkv" -vn -acodec ac3 -ac 6 -ab 640k -center_mixlev 0.707 "output.ac3"
Is this the best way to encode ac3 from 6 separate wav files:
ffmpeg -drc_scale 0 -i "${WINPWD}\\${NAME} 00 (Left).wav" \
-i "${WINPWD}\\${NAME} 01 (Right).wav" \
-i "${WINPWD}\\${NAME} 02 (Center).wav" \
-i "${WINPWD}\\${NAME} 03 (LFE).wav" \
-i "${WINPWD}\\${NAME} 04 (Left Surround).wav" \
-i "${WINPWD}\\${NAME} 05 (Right Surround).wav" \
-filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]amerge=inputs=6[aout]" \
-map "[aout]" -acodec ac3 -ab ${BITRATE}k -center_mixlev 0.707 \
${WINPWD}\\${NAME}.ac3
The command is being done within cygwin. Technically it is being done within a Zshell script. Gotta have my Linux, even when running on M$. :D

I found the command line on the net (I've added your two options). If there is a simplier CLI for doing this, I'd appreciate an example.

Thanks.

tebasuna51
6th July 2017, 15:39
Talking about ffmpeg is off topic here BTW...

Seems work fine your command with 5.1, I never try the -map "[aout]" parameter and, to avoid map order problems, I finish using a more complex syntax in my UsEac3to GUI:

ffmpeg -drc_scale 0 -i "x.L.wav" -i "x.R.wav" -i "x.C.wav" -i "x.LFE.wav" -i "x.SL.wav" -i "x.SR.wav" -filter_complex "join=inputs=6:channel_layout=FL+FR+FC+LFE+SL+SR:map=0.0-FL|1.0-FR|2.0-FC|3.0-LFE|4.0-SL|5.0-SR" -acodec ac3 -center_mixlev 0.707 -ab 640k "x.L.wav_.ac3"

I abandoned the filter amerge because can't manage non-standard channel_layout.

MrVideo
6th July 2017, 15:51
Talking about ffmpeg is off topic here BTW...
I went looking for a ffmpeg thread, but didn't find one.
ffmpeg -drc_scale 0 -i "x.L.wav" -i "x.R.wav" -i "x.C.wav" -i "x.LFE.wav" -i "x.SL.wav" -i "x.SR.wav" \
-filter_complex "join=inputs=6:channel_layout=FL+FR+FC+LFE+SL+SR:map=0.0-FL|1.0-FR|2.0-FC|3.0-LFE|4.0-SL|5.0-SR" \
-acodec ac3 -center_mixlev 0.707 -ab 640k "x.L.wav_.ac3"
Thanks, I'll convert to this one.

73ChargerFan
7th July 2017, 06:38
Back to the EAC3 bit, it is a different stream on HD-DVDs than on Blu-Rays. But it's been too long and I don't remember what...

LigH
7th July 2017, 07:27
As already mentioned: 7.1 E-AC3 on Blu-ray consists of 5.1 legacy AC3 + 2 channels E-AC3, to be decoded optionally. On HD DVD, decoding E-AC3 is mandatory. See: Wikipedia – Dolby Digital Plus: HD DVD and Blu-ray Disc (https://en.wikipedia.org/wiki/Dolby_Digital_Plus#HD_DVD_and_Blu-ray_Disc)

MrVideo
7th July 2017, 10:17
As already mentioned: 7.1 E-AC3 on Blu-ray consists of 5.1 legacy AC3 + 2 channels E-AC3, to be decoded optionally. On HD DVD, decoding E-AC3 is mandatory. See: Wikipedia – Dolby Digital Plus: HD DVD and Blu-ray Disc (https://en.wikipedia.org/wiki/Dolby_Digital_Plus#HD_DVD_and_Blu-ray_Disc)
As I read somewhere (been doing a lot of reading lately), EAC3 on Blu-ray is 5.1 core plus 4 channels in the subsystem. When played back, the amp takes the L/C/R from the core and mixes it with the four surround channels for correct placement of the surround channels.

73ChargerFan
11th July 2017, 07:11
I think on HD-DVD, DD+ didn't have an AC3 core.

LigH
11th July 2017, 07:18
Yes, we already mentioned that difference several times now. Just above.

mstrong
16th July 2017, 04:06
I've been doing a lot of video editing lately. Most of the tools handle FLAC easily but not DTS HD 7.1. I have been using eac3to to do my conversion but only just noticed that my transcoded files only have FLAC 5.1 (I'm now at this). I would like to have FALC 7.1.

I've been doing some reading but I haven't found my answers yet. I read that I could use the codecs from some external programs to transcode from DTS HD 7.1 to FALC 7.1 but it appears that neither one is available anymore (like ArCSoft). I thought I read somewhere that Libav now supports the conversion of DTS HD 7.1 to FLAC 7.1. I downloaded what I think is the most recent version and I haven't had much success. So I have two questions.

1) Can I convert DTS HD 7.1 to FLAC 7.1?
2) Am I on the right track and can someone help me troubleshoot?

I am using MKV containers.

I have a follow-on question. If I start with DTS HD 7.1 and end with FLAC 5.1, what happened to the other two channels? Do I lose the side channels but keep the back? Do I lose the back but keep the sides? Or are they somehow combined? Using MediaInfo, I've noticed that the DTS HD 7.1 tracks are listed as both 8 and 6 channel. Does this mean I simply get the 6 channel 'core' of the 8 channel track?

Sparktank
16th July 2017, 06:31
1) Can I convert DTS HD 7.1 to FLAC 7.1?

Yes.

If you use the latest verison of eac3to, which, will default to DCAdec library for decoding DTS-HD streams.
It's the most-updated library to use since Sonic and Arcsoft have stopped development are now obslete.

FFMPEG has a few more udpates for the DCAdec library, but it's probably for blurays that don't break the video file into segments (multiple cuts, obfusticated playlists, etc).
I have no idea how differently FFMPEG works compared to eac3to in terms of gaps, clipping, etc or even bit-depths (where there are averages, etc).


I downloaded what I think is the most recent version

The most recent version is linked on the first post of this thread.
And the changelog right underneath the link.
This thread is up to date when new releases come out.


and I haven't had much success

That's because the default uses DCAdec, which is superior to the other codecs.
Only issue seems to be with DTSExpress formats.
To use LAV instead, you have to invoke LAV manually with -lav switch (or something similar; I don't use other codecs for DTS streams).



As for the 7.1 to 5.1, that really depends on what you do.

Since you don't share your commands or process, we can only guess what you do.

If you use -down6 on a 7.1 source, the back channels get mixed into the side channels.
It will show it in the log.

MediaInfo shows 8 channels and 6 channels on a 7.1 DTS-HD stream because it's showing the lossless extension (7.1) and the internal core (5.1).
It has no real bearing on what eac3to will do when you do something. If we know what you are doing (commands/logs).
Relying on MediaInfo is a pitall of many users. It just reports information but it even has its own flaws the developers won't address (giving lossy audio a bit depth,etc).

It sounds like you should start from the ground up (and not use MediaInfo).
simply running eac3to with the filename will give you all the info you need on a file:
eac3to.exe audio.dts
And it will show the file properties.

sneaker_ger
16th July 2017, 08:37
Post the eac3to log. Like Sparktank said eac3to can convert DTS-HD 7.1 to FLAC 7.1 out-of-the-box. No additional software is required. Command is simple:
eac3to "input.dts" "output.flac"

Latest eac3to version is 3.31.

That's because the default uses DCAdec, which is superior to the other codecs.
Only issue seems to be with DTSExpress formats.
To use LAV instead, you have to invoke LAV manually with -lav switch (or something similar; I don't use other codecs for DTS streams).
It would be -libav but DO NOT use that for DTS with extensions. It is outdated. It will neither fully decode DTS-HD MA nor DTS Express.

(Latest ffmpeg can do DTS Express and also DTS-HD MA).

mstrong
17th July 2017, 00:59
Thank you Sparktank and sneaker_ger. This makes sense. I just downloaded version 3.31 (I was using 3.27 before). From time to time I have used HdBrStreamExtractor because it is a very clean and simple interface and then remuxing the streams using MKVToolNix GUI. However, HdBrStreamExtractor appears to be limited in what it can do. But I really likeMKVToolNix GUI for remixing, forcing subtitles, etc. BTW, is HdBrStreamExtractor a GUI for eac3to or is it its own separate program?

Up until now I have been using YR_eac3to_more_GUI. I clearly don't understand how it works because I constantly get errors and only seam to get it to work once in a while (and when it works I only get 5.1 output). Is there some good documentation on how to use it? Is there a better GUI?

I have a movie that is in an MKV container. The video is H264, the audio is DTS - HD 7.1 and AC3, and there are 3 subtitle tracks. I need the output to be an MKV container with H264, with two audio streams FLAC 7.1 and AC3, and the 3 subtitles. I would post a log file but I can't seam to get YR_eac3to_more_GUI to run at the moment. I can't seam to select the right options.

Should I just use the command line?

stax76
17th July 2017, 01:41
Up until now I have been using YR_eac3to_more_GUI. I clearly don't understand how it works because I constantly get errors and only seam to get it to work once in a while (and when it works I only get 5.1 output). Is there some good documentation on how to use it? Is there a better GUI?

I don't know if it fits your requirements, staxrip has GUIs for many tools. I've always recommended to use MakeMKV instead of cracked AnyDVD and eac3to, in the end it might not make a great difference which route you take.

eac3to GUI screenshot:

https://github.com/stax76/staxrip/wiki/Screenshots#eac3to

tebasuna51
17th July 2017, 12:22
From time to time I have used HdBrStreamExtractor because it is a very clean and simple interface ...
BTW, is HdBrStreamExtractor a GUI for eac3to or is it its own separate program?

Is a GUI and you can replace the new eac3to version.
But HdBrStreamExtractor is abandoned and can't use some news of eac3to.
You can find a actualiced version in MeGUI -> Tools -> HD Streams Extractor.
BTW you need know the syntax parameters [+Options] to obtain all eac3to functions.

Up until now I have been using YR_eac3to_more_GUI. I clearly don't understand how it works because I constantly get errors and only seam to get it to work once in a while (and when it works I only get 5.1 output). Is there some good documentation on how to use it?

I never understand this GUI (abandoned also) and I can't recomend it.

Is there a better GUI?

I wrote a GUI than is the better for me: UsEac3to
But I know it is not so easy than HdBrStreamExtractor.
There are a Readme.

stax64 show you other option.

Should I just use the command line?

Why not?

stax76
17th July 2017, 12:37
Should I just use the command line?

CMD.exe fine, just don't forget it's probably as old as me and there is something much younger called PowerShell.exe.

mstrong
17th July 2017, 19:54
Where is the most complete eac3to documentation. I have found this one but it is old enough that it still talks about ArcSoft and Sonic Cinemaster.

https://en.wikibooks.org/wiki/Eac3to/How_to_Use

There has to be something more recent.

mstrong
17th July 2017, 23:41
I think I am beginning to understand things better. So now I have detailed questions. For example, I just did a DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz (core: DTS, 5.1 channels, 1509kbps, 48kHz) to FLAC Demux and conversion. The result was FLAC, 7.1 channels, 2:00:51, 24 bits, 3919kbps, 48kHz.

Questions:

1) When the process started I was warned that "libDcaDec reported the warning "XLL output not lossless"." Why is this not a lossless process and what can I do to make it lossless?
2) Where did the core 5.1 go? Can I preserve the core 5.1? What happens if I try to play this FLAC file with on 5.1 core on a 5.1 home theatre? Can I extract just the core 5.1? If so, how?

Here is the Log Text

eac3to v3.31
command line: eac3to.exe 2: c:\users\mstrong\desktop\mkvs\GOTG.BluRay.mkv c:\users\mstrong\desktop\GOTG.BluRay.FLAC
------------------------------------------------------------------------------
MKV, 1 video track, 3 audio tracks, 2 subtitle tracks, 2:00:51, 24p /1.001
1: h264/AVC, 1080p24 /1.001 (16:9)
2: DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 1509kbps, 48kHz)
3: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
4: AC3, English, 2.0 channels, 192kbps, 48kHz
5: Subtitle (PGS), English
6: Subtitle (PGS), English
[a02] Extracting audio track number 2...
[a02] Decoding with libDcaDec DTS Decoder...
[a02] libDcaDec reported the warning "XLL output not lossless". <WARNING>
[a02] Encoding FLAC with libFlac...
[a02] Creating file "c:\users\mstrong\desktop\GOTG.BluRay.FLAC"...
[a02] The original audio track has a constant bit depth of 24 bits.
Video track 1 contains 347707 frames.
eac3to processing took 15 minutes, 22 seconds.
Done.

sneaker_ger
17th July 2017, 23:54
1) Consensus seems to be that this warning can be safely ignored. It should still be lossless. Truth is: no one really knows. Format is reverse engineered. It was discussed before.
2) FLAC doesn't have any core. If you want DTS core and FLAC you have to create two separate files. (You can encode FLAC to AC3 or DTS anytime, though. But it will not be an exact copy of the core on the original Blu-ray.)
To extract just core use the -core switch, e.g.:
eac3to GOTG.BluRay.mkv 2:output.dts -core

slick1109
18th July 2017, 13:14
This might have already been mentioned by someone, but in case it hasn't I wanted to share some information.

eac3to does not appear to be updated yet to handle UltraHD Blu-ray Discs. The problem seems to be that the .mpls/.bdmv/.clpi/.bdjo files have changed their version number from "0200" to "0300".

I was able to get around this problem by modifying the files in a Hex Editor. I simply changed the header info, for an mpls file, to "mpls0200" and that allowed eac3to to read the file and extract the audio/video/chapters/subtitles as usual.

Hopefully whomever is in charge of updating this program can do so to accept these new 0300 files.