Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Decoding Dolby E [SMPTE ST 302 / SMPTE ST 337] possible? (Read 1608 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Decoding Dolby E [SMPTE ST 302 / SMPTE ST 337] possible?

Hi,
I got a sat feed which contains such audio stream:
Quote
Format: Dolby E
Format settings: Dolby Surround / Little
Muxing mode: SMPTE ST 302 / SMPTE ST 337
Codec ID: 6
Duration: 55 min 21 s
Bit rate mode: Constant
Bit rate: 1 291 kb/s
Channel(s): 6 channels
Channel layout: L C Ls X R LFE Rs X
Sampling rate: 48.0 kHz
Frame rate: 25.000 FPS (1920 SPF)
Bit depth: 20 bits
Stream size: 511 MiB
It's recognized by most free tools and players but it's just only noise, and I cannot find a way to convert it.

So, is it any tool than can make it usable / listenable?

Re: Decoding Dolby E [SMPTE ST 302 / SMPTE ST 337] possible?

Reply #1
ffmpeg should be able to decode Dolby E properly.
Music: sounds arranged such that they construct feelings.

Re: Decoding Dolby E [SMPTE ST 302 / SMPTE ST 337] possible?

Reply #2
Yes, but if may need some advanced usage too.
Please remove my account from this forum.

Re: Decoding Dolby E [SMPTE ST 302 / SMPTE ST 337] possible?

Reply #3
Probably, "-drc_scale 0" will be needed to decode without dynamic range compression.

Re: Decoding Dolby E [SMPTE ST 302 / SMPTE ST 337] possible?

Reply #4
Not that trivial:


Decoder dolby_e [Dolby E]:
    General capabilities: dr1 chconf
    Threading capabilities: none
    Supported sample formats: fltp
Dolby E decoder AVOptions:
  -channel_order     <int>        .D..A...... Order in which the channels are to be exported (from 0 to 1) (default default)
     default         0            .D..A...... normal libavcodec channel order
     coded           1            .D..A...... order in which the channels are coded in the bitstream


The bistream might be not properly marked, so it could be just reported as PCM or whatever.... in whatever container it is stored.
Please remove my account from this forum.

Decoding Dolby E [SMPTE ST 302 / SMPTE ST 337] may be possible using FFmpeg

Reply #5
Hello, respected zezem. Hello, everyone.

Please try to do it using FFmpeg.

Complete instruction:
1. Download FFmpeg for Your OS: https://github.com/btbn/ffmpeg-builds/releases/tag/latest (I personally use FFmpeg compiled from 'master' development branch.).
2. Using terminal application in Your OS, You should call FFmpeg and convert Your Dolby E track to audio file with *.dat extension:
ffmpeg -non_pcm_mode copy -i <path_to_sat_feed_file> -map 0:<number_of_dolby_e_stream_in_sat_feed_file> -f s24le <path_to_output_.dat_file>.dat
For example, path to Your sat feed file is d:\recording.mkv; the needed audio track in this file is stream number 3; You want to convert it to file d:\audio.dat. Then You launch the following command:
ffmpeg -non_pcm_mode copy -i d:\recording.mkv -map 0:3 -f s24le d:\audio.dat
3. You should convert Your *.dat file to e. g. Sony Wave64 format file (it's better not to use ordinary waveform format because the size of file can easily exceed 4 GB and You will then have problems with this file):
ffmpeg -i <path_to_.dat_file> -f s24le <path_to_output_.w64_file>
For example, path to Your *.dat file is d:\audio.dat; path to output *.w64 file is d:\audio.w64. Then You launch the following command:
ffmpeg -i d:\audio.dat -f s24le d:\audio.w64
4. Many Dolby E audio files have sampling rate of 44.8 kHz (not 44.1 kHz).
If Your *.w64 file has sampling rate that does not match Your sound card's working sampling rate You should resample Your *.w64 file using preferred resampler. E. g., foobar2000 has good enough (in my opinion) SSRC resampler.
Note: if sampling rate of Your *.w64 file is OK for You, don't do anything.

Now You can encode Your Wave64 file to preferred audio format.

Please note that I can make mistakes so I will be grateful if anyone names them (if I do so).
If this algorithm doesn't help You, I cannot do anything else for You now and apologize for inconvenience.

Best regards.

Re: Decoding Dolby E [SMPTE ST 302 / SMPTE ST 337] possible?

Reply #6
Thank you very much for all replies. With your tips and instructions my stream decodes pretty well but I need to experiment further as 24 bit seems to be overkill for its quality. Spectrum analysis shows audio like to be encoded in mp2, and not full PCM - non linear cut at around 18 kHz. So, maybe s16le will be enough.