Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > General > Audio encoding

Reply
 
Thread Tools Search this Thread Display Modes
Old 3rd October 2021, 23:35   #61  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,597
Other problem with the EAC3 generated by EasyEncoder.

If you load the sample.mkv in MKVToolNix the EAC3 7.1 is not recognized.
By eac3to:

Quote:
sample.mkv:
------------------------------------------------------------------------------
MKV, 1 video track, 3 audio tracks, 0:00:10, 24p /1.001
1: h265/HEVC, English, 3840x1600 24p /1.001 (12:5), 10 bits
2: TrueHD (Atmos), English, 7.1 channels, 48kHz, 5ms "TrueHD 7.1"
3: EAC3, English, 7.1 channels, 32 bits, 48kHz, 5ms "EAC3 7.1 from TrueHD"
4: EAC3, English, 5.1 channels, 16 bits, 48kHz "EAC3 640kbps"
But the mkvmerge -i (info) show:

Quote:
File 'C:\Temp\audacity_temp\sample.mkv': container: Matroska
Track ID 0: video (HEVC/H.265/MPEG-H)
Track ID 1: audio (TrueHD Atmos)
Track ID 3: audio (E-AC-3)
The track ID 2 is not recognized.

Maybe is because all the frames have the header field 'bsid' with the value 12. The well know values are: 8 for Standard Syntax, 6 for Alternate Syntax and 16 for Enhanced Syntax.

But is a valid value:
Quote:
Annex E: Enhanced AC-3

bsid – Bit Stream Identification – 5 Bits

The bsid field has a value of ‘10000’ (=16) for bitstreams compliant with this Annex. Values of bsid smaller than 16 and greater than 10 are used for versions of E-AC-3 which are backwards compatible with version 16 decoders. Decoders which can decode version 16 will thus be able to decode version numbers less than 16 and greater than 10. Additionally, E-AC-3 decoders shall also be able to decode AC-3 bitstreams with bsid values 0 through 8. Decoders compliant with this Annex are not able to decode bit streams with bsid=9 or 10.
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline   Reply With Quote
Old 4th October 2021, 16:01   #62  |  Link
ymgenesis
Registered User
 
Join Date: Jul 2021
Posts: 7
Great research! I definitely don't have the knowledge to do that kind of digging.

I know Plex has issue with compatibility when it comes to these EAC3 7.1 tracks. Also, It uses an older build of ffmpeg/ffprobe which only recognizes these 7.1 tracks as 5.1 in their GUI. During playback they do playback Dolby Digital 7.1. The current versions of ffmpeg/ffprobe recognize the tracks as 8 channel (7.1).

Interesting about the DRC. Thanks for that info. I do use "night mode" sometimes in my setup, but it squashes the dynamic range. No more lows as they're basically mixed in to ensure less of an offending output. But, that's what it's supposed to do, so I can't complain.

Also interesting about bsid 12. I noticed eac3to does a good job of recognizing and handling these EasyAudioEncoder-encoded tracks. mkvnix and tsmuxer seem to have some issues handling the tracks. Mediainfo usually shows the right information.
ymgenesis is offline   Reply With Quote
Old 5th October 2021, 11:59   #63  |  Link
Balling
Registered User
 
Join Date: Feb 2020
Posts: 469
Quote:
Originally Posted by ymgenesis View Post
Great research! I definitely don't have the knowledge to do that kind of digging.
EAC3 and Atmos specs are publically available from ETSI in pdf.
I can paste the docx files which are only available to members though. Atmos metadata in EAC3 is decoded using Hafmann tables which are also available.

https://portal.etsi.org/webapp/workp...p?WKI_ID=52775 here top right corner, pdf, docx, and zip with tables.

Last edited by Balling; 14th October 2021 at 22:36.
Balling is offline   Reply With Quote
Old 5th October 2021, 12:17   #64  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,597
To resume the situation:
Quote:
Originally Posted by ymgenesis View Post
To elaborate, EasyAudioEncoder limits/compresses loud audio (much like a limiter, compressor, or maximizer in audio production does). In some particularly loud instances it can cause some awful volume fluctuation/flutters.
Seems EasyAudioEncoder create DRC metadata in eac3 stream with undesired results.
But the problem can be override instructing the player to don't apply DRC to AC3/EAC3 (the only than have these normally, DTS can have also but don't use it).
I always recommend do so on players, we can use instead AVR functions like 'Night mode' than can be applied to any audio, (not only AC3/EAC3) with a button in the remote control instead changing the player configuration.

Seems also than recode only until 1024 Kb/s. But I think is enough

Quote:
More here.
The samples you create was using '/usr/lib/plexmediaserver/Resources/Plex Transcoder'? Like it was the old ffmpeg compiled with the EasyEncoder lib.
Do you need to be connected to Internet at this moment? To obtain some permission for instance.

Quote:
I guess EasyAudioEncoder is technically free, but it is packaged and licensed to Plex Media Server and its users. It requires a license file that comes with the installation.
Then who need recode to eac3 7.1 in windows must install Plex Media Server and then recode it with:

"C:\Program Files (x86)\Plex\Plex Media Server\PlexTranscoder.exe" -i INPUT7.1 -c:a eac3_eae -b:a 1280k OUTPUT.eac3

Where INPUT7.1 can be a TrueHD (if the ffmpeg version is too old maybe need before the input the parameter -c:a:0 truehd_eae) or a DTS-HD (if the ffmpeg version is too old maybe don't support DTS-HD and need a previous decode to .W64/WAV) or a WAV (or W64 if is greater than 4 GB).

Any volunteer to check if is really free?
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline   Reply With Quote
Old 5th October 2021, 18:35   #65  |  Link
ymgenesis
Registered User
 
Join Date: Jul 2021
Posts: 7
Quote:
Originally Posted by tebasuna51 View Post
The samples you create was using '/usr/lib/plexmediaserver/Resources/Plex Transcoder'? Like it was the old ffmpeg compiled with the EasyEncoder lib.
Do you need to be connected to Internet at this moment? To obtain some permission for instance.
Yes, the sample I created in that post was using the "audiotool" I wrote here. The command would be the same as I quoted in the Plex forum post. I don't believe an internet connection is needed. On Mac, it requires the structure from here. Variables for the Codecs and Encoder folder need to be set properly (folder with dylibs, probably dlls in Windows, and the Plex Transcoder executable). It needs EasyAudioEncoder executable and the license file. This license file is the permission file to be able to use EasyAudioEncoder executable, so I don't think an internet connection is needed. Keep in mind all these resources (including EasyAudioEncoder and its license file) are insalled when installing Plex. They get updated every once and a while when Plex updates. EasyAudioEncoder must be running for the encode to work, as you can see I execute EasyAudioEncoder first in the background here before executing the Plex Transcoder executable here a couple lines later. Of course, this is Unix.

Sorry I can't be more help with Windows. The process isn't exactly clean, as it requires the proper environment variables, and needs a running EasyAudioEncoder instance before executing the Plex Transcoder (ffmpeg) command.

And as I mentioned before, I paid for Plex Pass, which may have allowed me EasyAudioEncoder for 7.1 transcoding when playing on Plex (existence of EasyAudioEncoder and license file). BUT, I don't know that 100%, I actually suspect it is included with the free version. So, if someone wants to try, they can sign up for a free Plex account at plex.tv and download my sample from here (same sample as on the Plex forums), add it to your server once setup, and see if it'll transcode the first audio track (TrueHD) to EAC3 7.1 when playing back on your 7.1-capable TV/box & AV setup. If it does, EasyAudioEncoder exists and can be used in a manner like my "audiotool".

Last edited by ymgenesis; 5th October 2021 at 18:45.
ymgenesis is offline   Reply With Quote
Old 18th October 2021, 19:00   #66  |  Link
Krautmaster
Registered User
 
Join Date: Mar 2017
Posts: 10
tried the same with my plexserver and get this:


C:\Program Files (x86)\Plex\Plex Media Server\Plex Transcoder.exe" -i "C:\tmp\cut.mkv" -map v:0 -map a:0 -c:v copy -c:a:0 eac3_eae -b:a:0 1280k plex_convert.mkv

[truehd_eae @ 02a6f400] No EAE watchfolder set!
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (truehd (truehd_eae) -> eac3 (eac3_eae))
Error while opening decoder for input stream #0:1 : Generic error in an external library

ideas?

Last edited by tebasuna51; 18th October 2021 at 22:28. Reason: image removed, info already in the post
Krautmaster is offline   Reply With Quote
Old 18th October 2021, 22:33   #67  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,597
@Krautmaster
Sorry, seems don't work because:

Quote:
Originally Posted by ymgenesis View Post
...
Sorry I can't be more help with Windows. The process isn't exactly clean, as it requires the proper environment variables, and needs a running EasyAudioEncoder instance before executing the Plex Transcoder (ffmpeg) command...
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline   Reply With Quote
Old 23rd November 2021, 22:55   #68  |  Link
Milka
Registered User
 
Join Date: Oct 2021
Posts: 1
so, Is Dolby software (Dolby suite and Dolby encoding engine) the only apps for encode 7.1 DD+ (in any bitrate) for now?
Milka is offline   Reply With Quote
Old 24th November 2021, 05:51   #69  |  Link
filler56789
SuperVirus
 
filler56789's Avatar
 
Join Date: Jun 2012
Location: Antarctic Japan
Posts: 1,314
Quote:
Originally Posted by Milka View Post
so, Is Dolby software (Dolby suite and Dolby encoding engine) the only apps for encode 7.1 DD+ (in any bitrate) for now?
OR ""any"" Dolby-licensed software, such as Rovi's TotalCode Studio.
filler56789 is offline   Reply With Quote
Old 18th December 2021, 20:16   #70  |  Link
szabi
Registered User
 
Join Date: Nov 2004
Posts: 237
This 7.1ch DD+ encoding does not developing quickly.
My first post near 6 years old asking it.
szabi is offline   Reply With Quote
Old 2nd February 2022, 22:39   #71  |  Link
FuzzyNutz
Registered User
 
Join Date: Jun 2016
Location: Canada
Posts: 131
Adobe Audition 2017 Can Do It!

Quote:
Originally Posted by SquallMX View Post
Adobe Audition 2018 and below includes support for EAC3 encoding up to 7.1 1024 Kbps, but is not Blu-ray compatible.
AC3/EAC3 encoders are not present in the 2018 version of Adobe Audition. They're in the 2017 version. Apparently, getting the 2017 version from Adobe, at present, will yield a version that has had the Dolby encoders removed. Thus, acquiring an existing version of Adobe Audition 2017, or possibly earlier, may be necessary.
The 2017 version can encode 7.1 EAC3 up to 1024. It can also enable the surround EX flag for AC3 and EAC3. Audition's Dolby encoding is accessible via File -> Export -> File, after double-clicking the loaded source file. The plethora of studio-level configuration options suggests Audition's AC3/EAC3 encoders are the no-compromise, professional version(s).
Lossless sources in TrueHD and dts-HD formats won't load into Audition, but .w64 and FLAC versions, created with eac3to or similar, will.
Audition outputs EAC3 files with .ec3 extensions. Though the .ec3 will need to be changed to .eac3 to be recognized by some software, MKVToolNix correctly outputs EAC3 tracks from .ec3 or eac3. Matroska files containing EAC3, including 7.1, created with Audition, are playable with VLC, MPC-HC, KODI, Microsoft Movies & TV and Windows Media Player. -My playback tests were done on various Windows 10 PCs outputting in 2-channel stereo via HDMI and DisplayPort.

Last edited by FuzzyNutz; 5th February 2022 at 21:09.
FuzzyNutz is offline   Reply With Quote
Old 3rd February 2022, 20:00   #72  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,597
I make a test with the EAC3 encoder in Audition 2017.

Like FuzzyNutz say we can access it with the menu: File -> Export -> Export File
And we can configure all settings like I explain here (see the attached image) with some considerations:

3) Change Sample type
By default put 5.1 and we need change to Same as source for 7.1 EAC3 output.
But seems there are a bug and we need remap (swap BL-BR with SL-SR) the input file to obtain a correct channel mapping output.
If we want recode a DTS-MA 7.1 we need obtain a remaped W64 file for instance with eac3to:

eac3to 8v341.dtshd 8v341.dtshd_R.w64 -0,1,2,3,6,7,4,5

5) Codec Mode: only Dolby Digital Plus can output eac3 7.1 and not BluRay compliant. The rest if for AC3 until 5.1

6) Channel Configuration: the standard wav 7.1 order is FL,FR,FC,LFE,BL,BR,SL,SR to output L R C LFE Ls Rs Rls Rls we need the remap mentioned in 3)

7) The max bitrate offered is 1024 like was already mentioned.

8) Pre-Procesing: there are other values by default, but if we are recoding from a source already processed maybe is better uncheck all the options.

9) Dynamic Range Control: by default is Film Standard, but I recommend set to None to avoid volume problems already mentioned in this thread.

Other settings can be let at defaults.
Attached Images
 
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline   Reply With Quote
Old 4th February 2022, 00:28   #73  |  Link
FuzzyNutz
Registered User
 
Join Date: Jun 2016
Location: Canada
Posts: 131
7.1 w64 Channel Remapping?

tebasuna51:

Should all 7.1 w64 files, (to be encoded in EAC3 7.1 with Adobe Audition 2017), be remapped regardless of whether the source was dts-ma, TrueHD, FLAC, LPCM etc.?

Have you confirmed Audition's Dolby encoding is not automatically remapping (map correcting) when creating EAC3 7.1 from w64?

Last edited by FuzzyNutz; 4th February 2022 at 00:49.
FuzzyNutz is offline   Reply With Quote
Old 4th February 2022, 00:39   #74  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,597
Must be remaped always, seems a problem with the Audition included encoder, can't recognize the standard WAV/W64 channel order FL,FR,FC,LFE,BL,BR,SL,SR and asign BL,BR to Ls,Rs instead to Rls,Lls.
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline   Reply With Quote
Old 4th February 2022, 01:04   #75  |  Link
FuzzyNutz
Registered User
 
Join Date: Jun 2016
Location: Canada
Posts: 131
eac3to remapping

Quote:
Originally Posted by tebasuna51 View Post
Must be remaped always, seems a problem with the Audition included encoder, can't recognize the standard WAV/W64 channel order FL,FR,FC,LFE,BL,BR,SL,SR and asign BL,BR to Ls,Rs instead to Rls,Lls.
Off thread topic yet related, I've assumed eac3to remaps as needed. Is this correct?

Last edited by FuzzyNutz; 4th February 2022 at 01:08.
FuzzyNutz is offline   Reply With Quote
Old 4th February 2022, 01:16   #76  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,597
Nope, it is not a eac3to job (maybe only for LPCM) the decoders (libav, arcsoft, ...) must decode to standard WAV/W64 channel order and the encoders (libaften, libflac and externals like ffmpeg) must know that order and convert to internal channel order of the codec.

We only need remap when a decoder or encoder is wrong.
Here Audition show the correct WAV/W64 channel order, but the encoder don't correct the order to the internal order.
__________________
BeHappy, AviSynth audio transcoder.

Last edited by tebasuna51; 4th February 2022 at 01:27.
tebasuna51 is offline   Reply With Quote
Old 4th February 2022, 01:24   #77  |  Link
FuzzyNutz
Registered User
 
Join Date: Jun 2016
Location: Canada
Posts: 131
Quote:
Originally Posted by tebasuna51 View Post
Nope, it is not a eac3to job (maybe only for LPCM) the decoders (libav, arcsoft, ...) must decode to standard WAV/W64 channel order and the encoders (libaften, libflac and externals like ffmpeg) must know that order and convert to internal channel order of the codec.
Therefore, effectively, eac3to conversions, (from dts-ma, TrueHD, wav, w64, flac to ac3, aac, flac etc.), are remapped as needed?

Last edited by FuzzyNutz; 4th February 2022 at 01:41.
FuzzyNutz is offline   Reply With Quote
Old 4th February 2022, 02:22   #78  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,597
All eac3to decoders (libav, libdcadec.dll, arcsoft,...) output correct WAV/W64 channel mapping, and all eac3to encoders (libaften, libflac, neroAacEnc.exe) read that channel order and change to internal equivalent channel order.

Also, if you use external decoders (ffmpeg.exe, flac.exe, Lame.exe, NeroAacDec.exe, opusdec.exe, oggdec.exe, wma2wav.exe, and others) always can output WAV/W64 with the correct channel order, no mather the internal channel order of the codec.
And, if you use external encoders (fdkaac.exe, ffdcaenc.exe, ffmpeg.exe, flac.exe, lame.exe, neroAacEnc.exe, oggenc2.exe, opusenc.exe, qaac.exe, and others) always accept WAV/W64 files and know the input channel order, and is a job of the encoder convert to internal order if is different.
__________________
BeHappy, AviSynth audio transcoder.

Last edited by tebasuna51; 4th February 2022 at 02:29.
tebasuna51 is offline   Reply With Quote
Old 4th February 2022, 02:55   #79  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,597
To test the correct channel order you can use a Channel test like the attached.
Obtain a w64 with:

ffmpeg -i "7.1_Channels.aac" -acodec pcm_s24le "7.1_Channels.w64"

And encode the w64 with EAC3 Audition 2017

Now remap and encode:
ffmpeg -i "7.1_Channels.aac" -filter_complex "pan=7.1|c0=c0|c1=c1|c2=c2|c3=c3|c4=c6|c5=c7|c6=c4|c7=c5" -acodec pcm_s24le "7.1_Channels_R.w64"

And listen the two eac3 in a 7.1 audio system.
Attached Files
File Type: 7z 7.1_Channels.aac.7z (112.6 KB, 57 views)
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline   Reply With Quote
Old 4th February 2022, 03:08   #80  |  Link
FuzzyNutz
Registered User
 
Join Date: Jun 2016
Location: Canada
Posts: 131
Quote:
Originally Posted by tebasuna51 View Post
To test the correct channel order you can use a Channel test like the attached.
Obtain a w64 with:

ffmpeg -i "7.1_Channels.aac" -acodec pcm_s24le "7.1_Channels.w64"

And encode the w64 with EAC3 Audition 2017

Now remap and encode:
ffmpeg -i "7.1_Channels.aac" -filter_complex "pan=7.1|c0=c0|c1=c1|c2=c2|c3=c3|c4=c6|c5=c7|c6=c4|c7=c5" -acodec pcm_s24le "7.1_Channels_R.w64"

And listen the two eac3 in a 7.1 audio system.
I got rid of my 5.1/7.1 setups. My rigs are 2.0/2.1. I'll assume you've confirmed the mapping of Audition's 7.1 w64 to EAC3. -Despite my stereo setups, I don't downmix my encodes to stereo.

Thank you for your insight and efforts.

Last edited by FuzzyNutz; 4th February 2022 at 03:38.
FuzzyNutz is offline   Reply With Quote
Reply

Tags
eac3

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 22:44.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.