View Full Version : DolbyE Decoding Guide
FranceBB
6th August 2019, 15:52
One of the reason why I'm opening up this topic is that I wanna describe how to decode one of the most common audio format used in mezzanine files by TV Stations: DolbyE.
Although there are still no free open source DolbyE encoders yet Link (https://forum.doom9.org/showthread.php?t=173949), there are DolbyE decoders, however they are not very documented.
In my first attempt to index an .MXF masterfile that had a DolbyE stream, I tried to use FFAudioSource, LWLibavAudioSource and DGIndex but they all failed.
The reason why they failed is the non-standard configuration of having a DolbyE with 5.1+2.0 within the same track.
Let me explain this.
In general, whenever you have an XDCAM Masterfile, you could have the following configuration:
CH.1-2 DolbyE Dubbed Language 5.1
CH.3-4 DolbyE Original Language 5.1
CH.5-6 Stereo Downmix Dubbed Language 2.0
CH.7-8 Stereo Downmix Original Language 2.0
In this scenario, indexing the DolbyE streams (CH.1-2 and CH.3-4) works perfectly fine along with indexing the normal stereo tracks in CH.5-6 and CH.7-8, however, this configuration is hardly used.
Why? Well, that's because the playout ports generally only look for CH.1-2 and CH.3-4 as they are gonna be the ones that are gonna be re-encoded on the fly and then aired... So... what about the downmix information in the other channels? Well, by DolbyE specifications is actually possible to include 8 channels within a single stream, namely a 5.1 + 2.0 configuration which is gonna be:
- Front Left
- Front Right
- Center
- LFE
- Surround Left
- Surround Right
- Stereo Downmix Left
- Stereo Downmix Right
By doing so, broadcast engineers are generally happy as they can have the following audio configuration:
- CH.1-2 DolbyE Dubbed 5.1+2.0
- CH.3-4 DolbyE Original 5.1+2.0
- CH.5-6 PCM Stereo Downmix Dubbed 2.0
- CH.7-8 PCM Stereo Downmix Original 2.0
So, the streams in CH.1-2 and CH.3-4 are gonna be encoded on the fly and aired correctly, while CH.5-6 and CH.7-8 are just gonna be discarded and they are only gonna be kept for archival purposes in the mezzanine file.
Everything works, so we're good, right? No!
Here comes the first problem: although this way of having a 5.1+2.0 stream works for professional broadcast decoders along with the proprietary Dolby decoders, it really confuses open source indexers like FFAudioSource and LWLibavAudioSource as they think that it's a 7.1 stream and they try to decode it that way, thus getting a horrible, just horrible track full of undetermined noise (https://user-images.githubusercontent.com/18946343/140714716-a851a758-7057-4f45-b553-19d075f97d8c.mov). Using ffmpeg itself without Avisynth has the same result 'cause ffmpeg thinks that it's a 7.1 pcm_s24 stream and fails to decode it properly, however MediaInfo can detect that it's a DolbyE 5.1 + 2.0 stream, so... what's going on here? Something "fishy" is happening.
Well, in order to properly decode a DolbyE 5.1 + 2.0 stream, you need to first remux in a .u8 file with ffmpeg and then decode and encode it with ffmpeg, 'cause this way it's gonna be identified correctly by ffmpeg.
For FFMpeg 6.x or older:
ffmpeg.exe -i "source.mxf" -acodec copy -f u8 -y "out.u8"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.0:0.0.0 -y "out1.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.1:0.0.0 -y "out2.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.2:0.0.0 -y "out3.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.3:0.0.0 -y "out4.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.4:0.0.0 -y "out5.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.5:0.0.0 -y "out6.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.6:0.0.0 -y "out7.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.7:0.0.8 -y "out8.wav"
pause
For FFMpeg 7.x or newer
ffmpeg.exe -i "source.mxf" -acodec copy -f u8 -y "out.u8"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c0" -y "out1.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c1" -y "out2.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c2" -y "out3.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c3" -y "out4.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c4" -y "out5.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c5" -y "out6.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c6" -y "out7.wav"
ffmpeg.exe -i "out.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c7" -y "out8.wav"
pause
That's pretty much it.
I hope it helps you folks trying to decode and re-encode DolbyE 5.1 + 2.0 streams.
As a side note, DolbyE can also be carried as 2 fake mono pairs instead of 1 fake stereo pair as above, therefore you would need to merge the two tracks before using the .u8 trick, like so:
ffmpeg.exe -i "Input1.wav" -i "Input2.wav" -filter_complex "[0:a][1:a]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -f wav "DolbyE.wav"
ffmpeg.exe -i "DolbyE.wav" -map 0:0 -acodec copy -f u8 -y "out.u8"
and then it's business as usual and you can use the code above to decode the u8.
And of course, if you also want to re-encode to PCM 5.1 and PCM 2.0 you can easily do that like this.
For FFMpeg 6.x or older:
#Extract DolbyE track 1
ffmpeg -i "DolbyE.mov" -map 0:1 -acodec copy -f u8 -y "stream1.u8"
#Extract each channel of DolbyE 5.1
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.0:0.0.0 -y "FL.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.1:0.0.0 -y "FR.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.2:0.0.0 -y "CC.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.3:0.0.0 -y "LFE.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.4:0.0.0 -y "SL.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.5:0.0.0 -y "SR.wav"
#Extract each channel of DolbyE 2.0
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.6:0.0.0 -y "Left.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.7:0.0.0 -y "Right.wav"
#Audio 5.1
ffmpeg -i "FL.wav" -i "FR.wav" -i "CC.wav" -i "LFE.wav" -i "SL.wav" -i "SR.wav" -filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-LFE|4.0-BL|5.0-BR[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -f wav -y "Track1_51.wav"
#Audio 2.0
ffmpeg -i "Left.wav" -i "Right.wav" -filter_complex "[0:a][1:a]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -f wav -y "Track2_20.wav"
For FFMpeg 7.x or newer:
#Extract DolbyE track 1
ffmpeg -i "DolbyE.mov" -map 0:1 -acodec copy -f u8 -y "stream1.u8"
#Extract each channel of DolbyE 5.1
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c0" -y "FL.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c1" -y "FR.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c2" -y "CC.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c3" -y "LFE.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c4" -y "SL.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c5" -y "SR.wav"
#Extract each channel of DolbyE 2.0
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c6" -y "Left.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c7" -y "Right.wav"
#Audio 5.1
ffmpeg -i "FL.wav" -i "FR.wav" -i "CC.wav" -i "LFE.wav" -i "SL.wav" -i "SR.wav" -filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-LFE|4.0-BL|5.0-BR[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -f wav -y "Track1_51.wav"
#Audio 2.0
ffmpeg -i "Left.wav" -i "Right.wav" -filter_complex "[0:a][1:a]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -f wav -y "Track2_20.wav"
If you want to try it yourself, you can try it with those sample files:
Sample 1: DolbyE.mov (https://user-images.githubusercontent.com/18946343/140714716-a851a758-7057-4f45-b553-19d075f97d8c.mov)
Sample 2: DolbyE.mxf (https://streams.videolan.org/issues/27218/XDCAM50_DolbyE_51_20.mxf)
Cheers,
Frank.
Emulgator
10th August 2019, 08:55
Many thanks !
kolak
12th August 2019, 10:42
Try adding this before -i:
-guess_layout_max 0
which will cause ffmpeg to stop guessing channel order. I think it simply treats your source as 7.1, which is typical for ffmpeg and 8 channels input (which in case of DolbyE is of course causing massive issues).
You may want after mapping tell it how many ac it actually has, eg -ac 2. No idea if this is needed for DolbyE or not.
If you have not seen it already:
https://trac.ffmpeg.org/wiki/AudioChannelManipulation
very useful.
If DolbyE track is detected properly it should work. If not you may want to map it to be stereo and then decode. All can be done in 1 command I think.
FranceBB
10th March 2023, 11:06
Hi everyone,
I'm bringing this topic back to attention 'cause we've been working on a patch to fix a decoding issue for normal DolbyE streams and one to introduce DolbyED2 Atmos decoding over the last 7 months, however the FFMpeg community has been ignoring us: https://trac.ffmpeg.org/ticket/9864
This patch by Nicolas Gaullier https://patchwork.ffmpeg.org/project/ffmpeg/patch/20220913213127.1756-1-nicolas.gaullier@cji.paris/ should really be merged upstream 'cause it's really really important. That bug affects the 20 bits section of standard DolbyE 5.1 + 2.0 files which raises an error “Read past end of channel XX” while decoding them with FFMpeg. That is a bug 'cause it's not just a "simple warning" but rather a real error as it really truncates the audio, hence throwing away few ms. When I decode the very same file with the official Dolby DP600, however, there are no warnings and the decoding completes correctly. By applying Nicolas' patch, there's gonna be a simple warning, but data will be preserved and we're gonna avoid the few ms of mute audio. This is really important as we use DolbyE 5.1 + 2.0 in production on a daily basis, therefore it should really be merged sooner rather than later.
The last updated version is here: https://patchwork.ffmpeg.org/project/ffmpeg/patch/20230309175125.19691-2-nicolas.gaullier@cji.paris/
in which the required documentation about the decoder and the demuxer has been added.
In particular, the Dolby E audio decoder is a raw decoder without any further processing, which means the output sample rate is different from the 48KHz input sample rate. A dolby E stream is always carried in a s337m muxer, as a raw file or muxed in any format that is able to transport an AES3 or an equivalent uncompressed audio stream (stereo, 48KHz, 16/20/24 bits). Currently, only wav and raw file formats are supported. Other formats require two passes of processing: a first one to extract the s337m stream and another to decode it. In case of AES3, or if the format itself supports it, the non-PCM mode may be signaled, but in a more general manner, a stream has to be probed to be handled as dolby E rather than pcm. By default, stream probing is enabled which forbids pass-through as no s337m muxer is implemented yet. In order to pass-through a dolby E stream, @code{--non_pcm_mode copy} must be specified (see input muxer options).
The other patch we're trying to get merged upstream is the following:
https://trac.ffmpeg.org/attachment/ticket/9864/0001-DolbyED2-support.patch
Such a patch allows DolbyED2 5.1.4 Atmos to be decoded.
Unlike DolbyE which is carried as 1 AES (i.e 1 fake stereo pair - so 1 .wav - or 2 fake mono pairs - so 2 .wav), DolbyED2 is carried as 2 AES (i.e 2 fake stereo pairs) so either 2 separate fake stereo .wav files that need to be merged together to be decoded or 1 fake quad .wav file. If we use the same logic as DolbyE, however, without the patch the decoder doesn't recognize the file as a valid file and therefore doesn't decode it.
We contacted the FFMpeg community 7 months ago at ffmpeg-devel@ffmpeg.org and heard nothing back from them.
We also tried to contact the current maintainer, foobaz86@gmail.com, via email on 29/09/2022 and heard nothing back from him.
We tried to contact the FFMpeg community again at ffmpeg-devel@ffmpeg.org on 14/10/2022 with the following email:
To ffmpeg-devel@ffmpeg.org
On 14/10/2022 09:30 AM
Hi everyone,
this is Frank, one of the FFAStrans maintainers.
May I bring you to attention once again the following ticket in the bug tracker https://trac.ffmpeg.org/ticket/9864 and the patch proposed by Nicolas here https://patchwork.ffmpeg.org/project/ffmpeg/patch/20220913213127.1756-1-nicolas.gaullier@cji.paris/ as it should really be merged upstream 'cause it's really important for proper DolbyE decoding. The bug he worked on to fix affects the 20 bits section of standard DolbyE 5.1 + 2.0 files which raises an error “Read past end of channel XX” while decoding them with FFMpeg. That is indeed a bug 'cause it's not just a "simple warning" but rather a real error as it really truncates the audio, hence throwing away few ms. When I decode the very same file with the official Dolby DP600, however, there are no warnings, and the decoding completes correctly. By applying Nicola's patch, there's gonna be a simple warning, but data will be preserved and we're gonna avoid the few ms of mute audio. This is really important as we (where "we" stands for the company I'm working for) use DolbyE 5.1 + 2.0 in production on a daily basis through our supply chain, therefore it should really be merged sooner rather than later 'cause as things stand, decoding is affected and in a bad way.
I'd like to ask you all guys once again if any of you could kindly review the patch and eventually merge it so that at least we're gonna have proper DolbyE decoding support in FFMpeg and we can actively use it for distribution.
The other thing that I'd like you to take a look at is indeed the other patch which allows DolbyED2 decoding, in the same thread.
Given that we're receiving an increasingly higher number of live feeds from the Champions League carrying DolbyED2 5.1.4, it would be great to at least be able to decode the beds, regardless of the metadata, and Nicolas' patch allows us to do it.
I'm sure there are plenty of other broadcasters across the globe that have the same needs, so the sooner it's merged, the better.
Besides, one of the point of contributing to open source projects is having the changes merged upstream as there no point in us compiling and maintaining our own version of FFMpeg without having everyone benefiting from the changes.
So, in a nutshell, I know it's something big to ask, but please review those patches.
p.s Richard D, if you're reading, it's me, FranceBB from Doom9, one of the Avisynth guys.
I really look forward to hearing back from you guys.
Thank you in advance,
Frank
and I've been ignored again.
I tried again to contact the ffmpeg-devel@ffmpeg.org on 16/02/2023:
To ffmpeg-devel@ffmpeg.org
On 16/02/2023 02:42 PM
Hi there, everyone, it's me again.
It's been 6 months already since we submitted the patches that we asked you to merge and that you can find here https://trac.ffmpeg.org/attachment/ticket/9864/0001-DolbyED2-support.patch and here https://patchwork.ffmpeg.org/project/ffmpeg/patch/20220913213127.1756-1-nicolas.gaullier@cji.paris/ and at the following ticket: https://trac.ffmpeg.org/ticket/9864
Unfortunately, I haven't heard anything back from you over the last 6 months.
Given the very strict time constraints and given that we needed proper DolbyE and ED2 decoding in production, we're currently using our fork with the patches applied in production, however we would really like to avoid doing this and have them merged into master.
Keep in mind that I come from the Avisynth community and over there we manage everything through GitHub pull requests, so going through this process via email for FFMpeg is a bit "new" for me, which is why after opening the pull request and sending the email, I left the thing sit there for the last 6 months.
Anyway, after talking to a member of your community called Balling, he said that I should ping you and write to this email every week until the patch is applied 'cause "this is how it works" and I didn't know this, so from now on this is what I'm gonna do.
Long story short, the patches Nicolas Gaullier worked on do essentially two things: the first is fixing a bug that affects the 20 bits section of standard DolbyE 5.1 + 2.0 files which would otherwise raise an error “Read past end of channel XX” while decoding them with FFMpeg. Without the patch the decoded stream (and therefore the final file) would be shorter/truncated, which of course is a big problem. The second patch, instead, introduces DolbyED2 decoding support.
It's been 6 months. We've been ignored so far.
Please give us some feedback as I'd like to avoid following Balling's suggestion of sending an email as a reminder every week.
Kind regards,
Frank
Needless to say, I've been ignored once again.
Days passed and today, 10/03/2023 I wrote again to the FFMpeg community:
To ffmpeg-devel@ffmpeg.org
On 10/03/2023 09:27AM
Morning, everyone,
I'm Frank from Sky, again, and I'm joined today by my other fellow Sky colleagues, by Nicolas from CJI Paris, by Benjamin from Centreville TV and by Steinar from NRK. We're all professional working in different broadcasting companies all over Europe.
The reason why I'm contacting you is about the DolbyE patch again to let you know that the very last bit has been completed, namely the documentation.
So much so that Nicolas added the required documentation about the decoder and the Demuxer.
The patch can now be considered fully completed by all means and you can find the last updated version here: https://patchwork.ffmpeg.org/project/ffmpeg/patch/20230309175125.19691-2-nicolas.gaullier@cji.paris/
We also kept track of the whole process in the following ticket: https://trac.ffmpeg.org/ticket/9864 over the last 7 months.
Please may I ask you, once again, as one of the FFAStrans maintainers, to review the patch and eventually merge the pull request to the mainline ffmpeg master?
We haven't got any feedback over the last 7 months, so please let us know as this is very important for us going forward.
I'm sure you'll understand the amount of effort and dedication we all spent in getting this done, in particular Nicolas for providing the official implementation and Steinar and the others for integrating it within FFAStrans.
We would love to have it merged upstream in your master so that we can stop compiling our own fork every single time.
The code is there, the comments are there, the documentation is there, now everything is ready, please give us some kind of feedback.
I'm confident you'll find some time to review it and merge it after 7 months.
I look forward to hearing back from you.
Kind regards,
Frank
Let's see if they'll keep ignoring us...
Needless to say such a thing would never happen in the Avisynth community where everyone is always available and kind and actually bothers to reply.
I wish there were people like Ferenc, DTL, qyot, jpsdr etc in the ffmpeg community too... :(
nevcairiel
11th March 2023, 00:18
Are you aware that none of your mails ever even arrived on the mailing list? Should've probably checked that, its easy to ignore mails that noone sees.
Additionally, the patchset you are referring to in your latest "mail" (dolby e in s337m in wav, or something) was just re-submitted yesterday. Before that, it was on the mailing list three weeks ago and was actually being reviewed by Tomas Härdin. Nothing about that indicates in any way that the patches are being "ignored". They got reviewed, and only a day ago, a revised version was posted, presumably with fixes from said review. So... everything is working as designed so far?
FranceBB
11th March 2023, 10:28
the patchset you are referring to in your latest "mail" (dolby e in s337m in wav, or something) was just re-submitted yesterday.
Yes, an updated version was resubmitted yesterday (version 7/7) only because we added the documentation but nothing else was changed.
Before that, it was on the mailing list three weeks ago and was actually being reviewed by Tomas Härdin.
Why didn't he reply to the ticket, though?
Last time around, the argument was that it was the responsibility of the "current" maintainer so we contacted the current maintainer directly to his email, namely foobaz86@gmail.com but heard nothing back.
only a day ago, a revised version was posted, presumably with fixes from said review.
Nope, Nicolas did it on his own. We only got someone to reply once at the very beginning months ago, then silence. All the new updated version were posted with no feedback whatsoever and were made independently by Nicolas as we were trying to see whether it would finally be accepted or not.
I even tried to ask for an explanation on LinkedIn in the official ffmpeg page and got ignored, while on the bug tracker the only one who is still replying is Balling who unfortunately is not a maintainer and cannot merge it anyway.
So... everything is working as designed so far?
I still find this whole email thing much harder to follow and work with than the simple GitHub pull requests we have here on Doom9 for Avisynth.
I'm gonna add one last thing which I didn't post before but for the sake of transparency I will.
In one of my attempts while sending an email, this was what one of the Devs commented in their own chat:
There are many codecs and container formats that are annoying to support: "industrial" formats like MXF have their own Internet of documentation. Previously it was enthusiasts fixing their own problem (usually with transcoding or playing back an anime rip). Nowadays it's mostly people sending work-related stuff from their corporate mails. I've had enough of them.
Not cool, man. Not cool... And it's a bit personal too.
The reason is that back in the days those people were kids, I was young myself when I started watching anime in 2006. Then I eventually joined crunchyroll and then viewster and then Sky in 2016. The same happened for other people who were enthusiast first and then got a professional position across different broadcasting companies and streaming platforms. They should be proud that open source software is currently being used by companies across the world and certainly from the support I constantly get from the Avisynth community I feel like they are, but apparently it's not quite the same for ffmpeg...
FranceBB
11th March 2023, 10:40
Are you aware that none of your mails ever even arrived on the mailing list? Should've probably checked that, its easy to ignore mails that noone sees.
I'm much more concerned about this, though.
Why? I mean how?
I'm subscribed to the mailing list so I should be allowed to send.
Does it mean that everyone I put in cc has to be registered too for the email to go through?
nevcairiel
11th March 2023, 18:43
Why didn't he reply to the ticket, though?
Last time around, the argument was that it was the responsibility of the "current" maintainer so we contacted the current maintainer directly to his email, namely foobaz86@gmail.com but heard nothing back.
---
Nope, Nicolas did it on his own. We only got someone to reply once at the very beginning months ago, then silence. All the new updated version were posted with no feedback whatsoever and were made independently by Nicolas as we were trying to see whether it would finally be accepted or not.
Trac is not a primary part of our development/review process. That all happens on the ML.
Refer to the ML archive from February (which you can also use to see that I could not find any mails from you):
http://ffmpeg.org/pipermail/ffmpeg-devel/2023-February/thread.html
There is numerous back and forth on the patchset between Nicolas and Tomas Härdin, reviewing the patchset.
https://i.imgur.com/jLQpFfe.jpg
I'm not sure what you are stating here? "No feedback whatsoever"?
FranceBB
11th March 2023, 19:33
I'm not sure what you are stating here? "No feedback whatsoever"?
I was supposed to be in cc, but neither I nor my colleagues got anything either and it's not in spam (I checked).
Uhmmm something is broken, it looks like something is filtering our mails in and out when we use our office 365 emails...
I think I got the culprit and they should be ok now, I'll try once again to ping on Monday and see whether this time it goes through.
Thanks for helping me out, by the way.
No one else ever bothered before.
If I knew I would have asked you 7 months ago instead of wasting all this time.
Fingers crossed.
p.s this is why I said that we didn't get a reply: http://ffmpeg.org/pipermail/ffmpeg-devel/2023-March/307293.html
To quote Nicolas:
The only modification since this initial patch is a cosmetic line split
to prevent an overly long line and the "Please wrap lines" warning.
I did not get any message, I don't know what to do to get a review ?
If I missed something obvious, tell me.
The fact is the official maintainer disappeared, so it does not make this easy.
The darkness of the official proprietary implementation is certainly an "issue",
but the technology behind the dolby_e codec seems very similar to all other audio codecs,
so it does not seem that critical for simple maintenance.
Balling
2nd April 2023, 16:06
> our office 365 emails
Microsoft 365. :) They renamed it.
FranceBB
3rd April 2023, 08:19
Microsoft 365. :) They renamed it.
Right! They even changed the logo.
Now there's this thing here:
https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQFvfunZ4fz-vYzfNZ6Y-RjYShgEEPwzMOYZ0BiCJDcj0956hreSMAca_zu5VzANRcNwwQ&usqp=CAU
which I don't particularly like, but anyway...
Emulgator
4th April 2023, 23:31
Now how original is that?
That moeboid came before:
https://en.wikipedia.org/wiki/File:Logo_of_Google_Drive_%282012-2014%29.svg
I have a feed recording from BT sport 4K, please guide me how to convert Dolby E
General
ID : 1 (0x1)
Complete name : E:\Video\1.ts
Format : MPEG-TS
File size : 2.06 GiB
Duration : 4 min 40 s
Overall bit rate mode : Variable
Overall bit rate : 63.1 Mb/s
Frame rate : 50.000 FPS
Video
ID : 512 (0x200)
Menu ID : 1 (0x1)
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Format Range@L5.1@High
HDR format : SMPTE ST 2086, HDR10 compatible
Codec ID : 36
Duration : 4 min 40 s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate : 50.000 FPS
Standard : Component
Color space : YUV
Chroma subsampling : 4:2:2
Bit depth : 10 bits
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primar : BT.2020
Mastering display luminance : min: 0.0000 cd/m2, max: 1200 cd/m2
Audio #1
ID : 4112 (0x1010)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Codec ID : 3
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 384 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : -20 ms
Stream size : 12.8 MiB (1%)
Language : English
Audio #2
ID : 4128 (0x1020)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Codec ID : 3
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 384 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : -20 ms
Stream size : 12.8 MiB (1%)
Audio #3
ID : 4144 (0x1030)-1
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 4 min 40 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
Delay relative to video : -20 ms
Stream size : 43.2 MiB (2%)
Title : BT T23 M1
Audio #4
ID : 4144 (0x1030)-2
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 505 kb/s
Channel(s) : 2 channels
Channel layout : X X X L X X X R
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : -20 ms
Stream size : 16.9 MiB (1%)
Title : Rrogram.T23 BT M1
Audio #5
ID : 4160 (0x1040)-1
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 4 min 40 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
Delay relative to video : -20 ms
Stream size : 43.2 MiB (2%)
Title : BT T23 M2
Audio #6
ID : 4160 (0x1040)-2
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 505 kb/s
Channel(s) : 2 channels
Channel layout : X X X L X X X R
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : -20 ms
Stream size : 16.9 MiB (1%)
Title : Program 2
Audio #7
ID : 4176 (0x1050)
Menu ID : 1 (0x1)
Format : PCM
Codec ID : 6
Audio #8
ID : 4192 (0x1060)-1
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : C X X X X X X X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : -20 ms
Stream size : 7.40 MiB (0%)
Title : Program 1
Audio #9
ID : 4192 (0x1060)-2
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X X X X C X X X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : -20 ms
Stream size : 7.40 MiB (0%)
Title : Program 2
Audio #10
ID : 4192 (0x1060)-3
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X C X X X X X X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : -20 ms
Stream size : 7.40 MiB (0%)
Title : Program 3
Audio #11
ID : 4192 (0x1060)-4
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X X X X X C X X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : -20 ms
Stream size : 7.40 MiB (0%)
Title : Program 4
Audio #12
ID : 4192 (0x1060)-5
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X X C X X X X X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : -20 ms
Stream size : 7.40 MiB (0%)
Title : Program 5
Audio #13
ID : 4192 (0x1060)-6
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X X X X X X C X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : -20 ms
Stream size : 7.40 MiB (0%)
Title : Program 6
Audio #14
ID : 4192 (0x1060)-7
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X X X C X X X X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : -20 ms
Stream size : 7.40 MiB (0%)
Title : Program 7
Audio #15
ID : 4192 (0x1060)-8
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X X X X X X X C
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : -20 ms
Stream size : 7.40 MiB (0%)
Title : Program 8
https://www.mediafire.com/file/4rl6s7pyiaq5rvu/1.ts/file
https://mega.nz/file/7VwSUIDS#et61aN7a4HuIVTN3qlUka1SnJidOZmtx8J_qdvRQCFM
FranceBB
23rd June 2023, 12:44
I saw that game. Inter tried its best to contain City but they just couldn't and in the end they went 1 down and never managed to recover.
Anyway, in Italy we aired that game in BT2020 HLG at 1000 nits 50p, I didn't know that the BT Sport master was actually PQ BT2020 1200 nits.
Well, moving on to the DolbyE part, looks like we're dealing with:
CH.1-2 MP2 Stereo English Full Mix
CH.3-4 MP2 Stereo International Full Mix
CH.5-6 DolbyE 5.1 + 2.0 English
CH.7-8 DolbyE 5.1 + 2.0 International
however, DolbyE was NOT muxed as a standard SMPTE ST 337 but rather as SMPTE ST 302.
This makes things a bit more difficult 'cause we need to first remux as SMPTE ST337 and then work with the stream.
Step 1:
Decode the first MP2 stereo audio track and save it as PCM lossless stereo 48000Hz .wav with Avisynth + Virtualdub and save it as "stream1.wav":
video=LWLibavVideoSource("A:\Ingest\MEDIA\temp\1.ts")
audio=LWLibavAudioSource("A:\Ingest\MEDIA\temp\1.ts", stream_index=1)
AudioDub(video, audio)
Decode the second MP2 stereo audio track and save it as PCM lossless stereo 48000Hz .wav with Avisynth + Virtualdub and save it as "stream2.wav":
video=LWLibavVideoSource("A:\Ingest\MEDIA\temp\1.ts")
audio=LWLibavAudioSource("A:\Ingest\MEDIA\temp\1.ts", stream_index=2)
AudioDub(video, audio)
Index the first DolbyE 5.1 + 2.0 SMPTE ST 302 track and remux it as DolbyE 5.1 + 2.0 SMPTE ST 337.wav (it's carried as a fake PCM 48000Hz 32bit stereo track) and save it as "stream3.wav":
video=LWLibavVideoSource("A:\Ingest\MEDIA\temp\1.ts")
audio=LWLibavAudioSource("A:\Ingest\MEDIA\temp\1.ts", stream_index=3)
AudioDub(video, audio)
Index the second DolbyE 5.1 + 2.0 SMPTE ST 302 track and remux it as DolbyE 5.1 + 2.0 SMPTE ST 337.wav (it's carried as a fake PCM 48000Hz 32bit stereo track) and save it as "stream4.wav":
video=LWLibavVideoSource("A:\Ingest\MEDIA\temp\1.ts")
audio=LWLibavAudioSource("A:\Ingest\MEDIA\temp\1.ts", stream_index=4)
AudioDub(video, audio)
This will therefore give us the following files:
CH.1-2 Stereo PCM 48'000Hz 16bit
Stream1.wav
General
Complete name : A:\Ingest\MEDIA\temp\stream1.wav
Format : Wave
Format settings : PcmWaveformat
File size : 51.4 MiB
Duration : 4 min 40 s
Overall bit rate mode : Constant
Overall bit rate : 1 536 kb/s
Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 1
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 1 536 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Bit depth : 16 bits
Stream size : 51.4 MiB (100%)
CH.3-4 Stereo PCM 48'000Hz 16bit
Stream2.wav
General
Complete name : A:\Ingest\MEDIA\temp\stream2.wav
Format : Wave
Format settings : PcmWaveformat
File size : 51.4 MiB
Duration : 4 min 40 s
Overall bit rate mode : Constant
Overall bit rate : 1 536 kb/s
Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 1
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 1 536 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Bit depth : 16 bits
Stream size : 51.4 MiB (100%)
CH.5-6 DolbyE 5.1 + 2.0 48000Hz 20bit
Stream3.wav
General
Complete name : A:\Ingest\MEDIA\temp\stream3.wav
Format : Wave
Format settings : PcmWaveformat
File size : 103 MiB
Duration : 4 min 40 s
Overall bit rate mode : Constant
Overall bit rate : 3 072 kb/s
Audio #1
ID : 1
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 337
Codec ID : 1
Duration : 4 min 40 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 : 43.2 MiB (42%)
Title : BT T23 M1
Audio #2
ID : 2
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 337
Codec ID : 1
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 505 kb/s
Channel(s) : 2 channels
Channel layout : X X X L X X X R
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Stream size : 16.9 MiB (16%)
Title : Rrogram.T23 BT M1
CH.7-8 DolbyE 5.1 + 2.0 48000Hz 20bit
Stream4.wav
General
Complete name : A:\Ingest\MEDIA\temp\stream4.wav
Format : Wave
Format settings : PcmWaveformat
File size : 103 MiB
Duration : 4 min 40 s
Overall bit rate mode : Constant
Overall bit rate : 3 072 kb/s
Audio #1
ID : 1
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 337
Codec ID : 1
Duration : 4 min 40 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 : 43.2 MiB (42%)
Title : BT T23 M2
Audio #2
ID : 2
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 337
Codec ID : 1
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 505 kb/s
Channel(s) : 2 channels
Channel layout : X X X L X X X R
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Stream size : 16.9 MiB (16%)
Title : Program 2
Step 2:
Get rid of the zero padding in stream3.wav and stream4.wav.
Given that the DolbyE decoder inside FFMpeg is very picky about the input, it will NOT like zero filled streams and, when we remuxed from SMPTE ST 302 to SMPTE ST 337 with VirtualDub after going through LWLibavAudioSource() as indexer, we zero filled a 24bit stream into 32bit, so we gotta get rid of those zeroes.
To do that, we remux from 32bit wav to 24bit wav like so:
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3.wav" -acodec pcm_s24le -y "A:\MEDIA\temp\stream3_v2.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream4.wav" -acodec pcm_s24le -y "A:\MEDIA\temp\stream4_v2.wav"
Step 3:
create the u8 that will be used to feed the decoder from the newly created 24bit stream3_v2.wav and stream4_v2.wav
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3_v2.wav" -acodec copy -f u8 -y "A:\MEDIA\temp\stream3_v2.u8"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream4_v2.wav" -acodec copy -f u8 -y "A:\MEDIA\temp\stream4_v2.u8"
Step 4:
Decode DolbyE to get the relative 16 channels (5.1 + 2.0 downmix of stream 3 and 5.1 + 2.0 downmix of stream 4):
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.0:0.0.0 -y "A:\MEDIA\temp\out1.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.1:0.0.0 -y "A:\MEDIA\temp\out2.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.2:0.0.0 -y "A:\MEDIA\temp\out3.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.3:0.0.0 -y "A:\MEDIA\temp\out4.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.4:0.0.0 -y "A:\MEDIA\temp\out5.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.5:0.0.0 -y "A:\MEDIA\temp\out6.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.6:0.0.0 -y "A:\MEDIA\temp\out7.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.7:0.0.8 -y "A:\MEDIA\temp\out8.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream4_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.0:0.0.0 -y "A:\MEDIA\temp\out9.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream4_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.1:0.0.0 -y "A:\MEDIA\temp\out10.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream4_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.2:0.0.0 -y "A:\MEDIA\temp\out11.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream4_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.3:0.0.0 -y "A:\MEDIA\temp\out12.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream4_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.4:0.0.0 -y "A:\MEDIA\temp\out13.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream4_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.5:0.0.0 -y "A:\MEDIA\temp\out14.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream4_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.6:0.0.0 -y "A:\MEDIA\temp\out15.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream4_v2.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.7:0.0.8 -y "A:\MEDIA\temp\out16.wav"
Step 5:
Put the 16 PCM decoded discrete separate channels together to create two 5.1 tracks and two stereo tracks
ffmpeg.exe -i "A:\MEDIA\temp\out1.wav" -i "A:\MEDIA\temp\out2.wav" -i "A:\MEDIA\temp\out3.wav" -i "A:\MEDIA\temp\out4.wav" -i "A:\MEDIA\temp\out5.wav" -i "A:\MEDIA\temp\out6.wav" -filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-LFE|4.0-BL|5.0-BR[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -y "A:\MEDIA\temp\stream3_51_PCM.wav"
ffmpeg.exe -i "A:\MEDIA\temp\out9.wav" -i "A:\MEDIA\temp\out10.wav" -i "A:\MEDIA\temp\out11.wav" -i "A:\MEDIA\temp\out12.wav" -i "A:\MEDIA\temp\out13.wav" -i "A:\MEDIA\temp\out14.wav" -filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-LFE|4.0-BL|5.0-BR[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -y "A:\MEDIA\temp\stream4_51_PCM.wav"
ffmpeg.exe -i "A:\MEDIA\temp\out7.wav" -i "A:\MEDIA\temp\out8.wav" -filter_complex "[0:a][1:a]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -y "A:\MEDIA\temp\stream3_20_PCM.wav"
ffmpeg.exe -i "A:\MEDIA\temp\out15.wav" -i "A:\MEDIA\temp\out16.wav" -filter_complex "[0:a][1:a]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -y "A:\MEDIA\temp\stream4_20_PCM.wav"
Step 6:
Remux everything to .mkv with MKVToolnix so that we're gonna have the following file:
Video: UHD H.265 50 Mbit/s High Profile Level 5.1 4:2:2 10bit BT2020 HDR PQ 1200 nit
Audio Track 1: PCM Stereo 48000Hz 16bit English
Audio Track 2: PCM Stereo 48000Hz 16bit International
Audio Track 3: PCM 5.1 48000Hz 24bit English
Audio Track 4: PCM Stereo downmix 48000Hz 24bit English
Audio Track 5: PCM 5.1 48000Hz 24bit International
Audio Track 6: PCM Stereo downmix 48000Hz 24bit International
General
Unique ID : 30475736573489579965539438304253785370 (0x16ED69D2400FD1C8B4323D25E81D351A)
Complete name : A:\Ingest\MEDIA\temp\Man_City_vs_Inter_UHD_Remux.mkv
Format : Matroska
Format version : Version 4
File size : 2.39 GiB
Duration : 4 min 40 s
Overall bit rate : 73.0 Mb/s
Frame rate : 50.000 FPS
Encoded date : 2023-06-23 11:33:56 UTC
Writing application : mkvmerge v73.0.0 ('25 or 6 to 4') 64-bit
Writing library : libebml v1.4.4 + libmatroska v1.7.1
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Format Range@L5.1@High
HDR format : SMPTE ST 2086, HDR10 compatible
Codec ID : V_MPEGH/ISO/HEVC
Duration : 4 min 40 s
Bit rate : 51.5 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 50.000 FPS
Standard : Component
Color space : YUV
Chroma subsampling : 4:2:2
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.124
Stream size : 1.68 GiB (71%)
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primaries : BT.2020
Mastering display luminance : min: 0.0000 cd/m2, max: 1200 cd/m2
Audio #1
ID : 2
Format : PCM
Format settings : Little / Signed
Codec ID : A_PCM/INT/LIT
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 1 536 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 25.002 FPS (1920 SPF)
Bit depth : 16 bits
Stream size : 51.4 MiB (2%)
Language : English
Default : Yes
Forced : No
Audio #2
ID : 3
Format : PCM
Format settings : Little / Signed
Codec ID : A_PCM/INT/LIT
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 1 536 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 25.002 FPS (1920 SPF)
Bit depth : 16 bits
Stream size : 51.4 MiB (2%)
Language : zxx
Default : Yes
Forced : No
Audio #3
ID : 4
Format : PCM
Format settings : Little / Signed
Codec ID : A_PCM/INT/LIT
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 6 912 kb/s
Channel(s) : 6 channels
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 24 bits
Stream size : 231 MiB (9%)
Language : English
Default : Yes
Forced : No
Audio #4
ID : 5
Format : PCM
Format settings : Little / Signed
Codec ID : A_PCM/INT/LIT
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 2 304 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 24 bits
Stream size : 77.1 MiB (3%)
Language : English
Default : Yes
Forced : No
Audio #5
ID : 6
Format : PCM
Format settings : Little / Signed
Codec ID : A_PCM/INT/LIT
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 6 912 kb/s
Channel(s) : 6 channels
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 24 bits
Stream size : 231 MiB (9%)
Language : zxx
Default : Yes
Forced : No
Audio #6
ID : 7
Format : PCM
Format settings : Little / Signed
Codec ID : A_PCM/INT/LIT
Duration : 4 min 40 s
Bit rate mode : Constant
Bit rate : 2 304 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 24 bits
Stream size : 77.1 MiB (3%)
Language : zxx
Default : Yes
Forced : No
Here are the individual PCM.wav decoded audio tracks, namely stream1.wav stream2.wav stream3_51.wav stream3_20.wav stream4_51.wav stream4_20.wav:
https://we.tl/t-9LFKrwYIlo
(link valid for 7 days)
Here's is out1, out2.wav, out3.wav, out4.wav, out5.wav, out6.wav, out7.wav, out8.wav, out9.wav, out10.wav, out11.wav, out12.wav, out13.wav, out14.wav, out15.wav, out16.wav in case you wanted them as mono channels straight from the DolbyE decoding:
https://we.tl/t-FTJoy8iI1q
(link valid for 7 days)
Here's the remuxed mkv with video and all the PCM audio:
https://www.transfernow.net/dl/2023062347isW8vn
(link valid for 7 days)
Open source rocks ;)
thanks for the guide , i will try it tomorrow . I have a 4K feed version from UEFA . it also has multiple Dolby E audio tracks. Can you write a tutorial, if possible. In addition, I want to convert to EAC3 (DD+) because PCM audio can't be decoded on some TV devices.
General
ID : 160 (0xA0)
Complete name : E:\mc_int_hdr.ts
Format : MPEG-TS
File size : 3.41 GiB
Duration : 8 min 14 s
Overall bit rate mode : Variable
Overall bit rate : 59.2 Mb/s
Frame rate : 50.000 FPS
Video
ID : 512 (0x200)
Menu ID : 1 (0x1)
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Format Range@L5.1@Main
Codec ID : 36
Duration : 8 min 14 s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate : 50.000 FPS
Standard : Component
Color space : YUV
Chroma subsampling : 4:2:2 (Type 2)
Bit depth : 10 bits
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : HLG
Matrix coefficients : BT.2020 non-constant
Audio #1
ID : 4112 (0x1010)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Format settings : Dual mono
Codec ID : 3
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 384 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : 14 ms
Stream size : 22.6 MiB (1%)
Language : English
Language, more info : Clean effects
Audio #2
ID : 4128 (0x1020)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Format settings : Dual mono
Codec ID : 3
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 384 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : 14 ms
Stream size : 22.6 MiB (1%)
Language : English
Language, more info : Clean effects
Audio #3
ID : 4144 (0x1030)-1
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 8 min 14 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
Delay relative to video : 20 ms
Stream size : 76.1 MiB (2%)
Language : English
Language, more info : Clean effects
Audio #4
ID : 4144 (0x1030)-2
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 505 kb/s
Channel(s) : 2 channels
Channel layout : X X X L X X X R
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : 20 ms
Stream size : 29.8 MiB (1%)
Language : English
Language, more info : Clean effects
Audio #5
ID : 4160 (0x1040)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Format settings : Dual mono
Codec ID : 3
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 384 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : 14 ms
Stream size : 22.6 MiB (1%)
Language : English
Language, more info : Clean effects
Audio #6
ID : 4176 (0x1050)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Format settings : Dual mono
Codec ID : 3
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 384 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : 14 ms
Stream size : 22.6 MiB (1%)
Language : English
Language, more info : Clean effects
Audio #7
ID : 4192 (0x1060)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Format settings : Dual mono
Codec ID : 3
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 384 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : 14 ms
Stream size : 22.6 MiB (1%)
Language : English
Language, more info : Clean effects
Audio #8
ID : 4208 (0x1070)
Menu ID : 1 (0x1)
Format : PCM
Codec ID : 6
Language : English
Language, more info : Clean effects
Audio #9
ID : 4224 (0x1080)-1
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : C X X X X X X X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : 20 ms
Stream size : 13.0 MiB (0%)
Title : Program 1
Language : English
Language, more info : Clean effects
Audio #10
ID : 4224 (0x1080)-2
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X X X X C X X X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : 20 ms
Stream size : 13.0 MiB (0%)
Title : Program 2
Language : English
Language, more info : Clean effects
Audio #11
ID : 4224 (0x1080)-3
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X C X X X X X X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : 20 ms
Stream size : 13.0 MiB (0%)
Title : Program 3
Language : English
Language, more info : Clean effects
Audio #12
ID : 4224 (0x1080)-4
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X X X X X C X X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : 20 ms
Stream size : 13.0 MiB (0%)
Title : Program 4
Language : English
Language, more info : Clean effects
Audio #13
ID : 4224 (0x1080)-5
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X X C X X X X X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : 20 ms
Stream size : 13.0 MiB (0%)
Title : Program 5
Language : English
Language, more info : Clean effects
Audio #14
ID : 4224 (0x1080)-6
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X X X X X X C X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : 20 ms
Stream size : 13.0 MiB (0%)
Title : Program 6
Language : English
Language, more info : Clean effects
Audio #15
ID : 4224 (0x1080)-7
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X X X C X X X X
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : 20 ms
Stream size : 13.0 MiB (0%)
Title : Program 7
Language : English
Language, more info : Clean effects
Audio #16
ID : 4224 (0x1080)-8
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 8 min 14 s
Bit rate mode : Constant
Bit rate : 221 kb/s
Channel(s) : 1 channel
Channel layout : X X X X X X X C
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : 20 ms
Stream size : 13.0 MiB (0%)
Title : Program 8
Language : English
Language, more info : Clean effects
https://mega.nz/file/LI5TlCbR#zqy3nfVdVwMIOLKNfoRn0NkwWi3H1_7Uco-7z3OKS80
https://www.mediafire.com/file/6q0cprtc4d6rjwd/mc_int_hdr.ts/file
https://i.postimg.cc/MKFPhpVb/Screenshot-20.png
https://i.imgur.com/LoSXQbv.png
I get this error when using VirtualDub
tebasuna51
24th June 2023, 18:35
Use VirtualDub2:
https://www.videohelp.com/software/VirtualDub2
tebasuna51
24th June 2023, 18:48
Steps 1 to 3 are a workaround to obtain a DolbyE stream than can be decoded by ffmpeg, until a better support of DolbyE muxed in containers.
If you want recode the DolbyE stream to eac3 the steps 4 and 5 can be replaced by:
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3_v2.u8" -filter_complex "asplit [s][d]; [s] pan=5.1|c0=c0|c1=c1|c2=c2|c3=c3|c4=c4|c5=c5 [ss]; [d] pan=stereo|c0=c6|c1=c7 [dd]" -map "[ss]" -ar 48000 -acodec eac3 -ab 640k 1_51.eac3 -map "[dd]" -ar 48000 -acodec eac3 -ab 256k 1_20.eac3
The same for stream4_v2.u8, of course you can change the bitrates.
Steps 1 to 3 are a workaround to obtain a DolbyE stream than can be decoded by ffmpeg, until a better support of DolbyE muxed in containers.
If you want recode the DolbyE stream to eac3 the steps 4 and 5 can be replaced by:
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3_v2.u8" -filter_complex "asplit [s][d]; [s] pan=5.1|c0=c0|c1=c1|c2=c2|c3=c3|c4=c4|c5=c5 [ss]; [d] pan=stereo|c0=c6|c1=c7 [dd]" -map "[ss]" -ar 48000 -acodec eac3 -ab 640k 1_51.eac3 -map "[dd]" -ar 48000 -acodec eac3 -ab 256k 1_20.eac3
The same for stream4_v2.u8, of course you can change the bitrates.
I get this error : Filesize 5191465062 invalid for wav, output file will be broken
https://i.postimg.cc/65b1rdKt/Screenshot-22.png
tebasuna51
25th June 2023, 10:12
I get this error : Filesize 5191465062 invalid for wav, output file will be broken
Maybe in step 2?, after:
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3.wav" -acodec pcm_s24le -y "A:\MEDIA\temp\stream3_v2.wav"
Of course wav files greater 4 GB can be broken.
I haven't big files to test it, and I don't know if output can be used in step 3, but continue with it ignoring the warning.
If the output .u8 is recognized by ffmpeg like DolbyE can work fine. Something like:
ffmpeg.exe -hide_banner -i "C:\tmp\1_3.u8" -filter_complex "asplit [s][d]; [s] pan=5.1|c0=c0|c1=c1|c2=c2|c3=c3|c4=c4|c5=c5 [ss]; [d] pan=stereo|c0=c6|c1=c7 [dd]" -map "[ss]" -ar 48000 -acodec eac3 -ab 640k 1_3_51.eac3 -map "[dd]" -ar 48000 -acodec eac3 -ab 256k 1_3_20.eac3
[dolby_e @ 000001685a6724c0] Stream has 2 programs (configuration 0), channels will be output in native order.
Input #0, s337m, from 'C:\tmp\1_3.u8':
Stream #0:0: Audio: dolby_e, 44800 Hz, 7.1, fltp
Stream mapping:
Stream #0:0 (dolby_e) -> asplit:default
pan:default -> Stream #0:0 (eac3)
pan:default -> Stream #1:0 (eac3)
[dolby_e @ 000001685a6b71c0] Stream has 2 programs (configuration 0), channels will be output in native order.
[Parsed_pan_1 @ 000001685a8f7280] Pure channel mapping detected: 0 1 2 3 4 5
[Parsed_pan_2 @ 000001685a9008c0] Pure channel mapping detected: 6 7
Output #0, eac3, to '1_3_51.eac3':
Stream #0:0: Audio: eac3, 48000 Hz, 5.1, fltp, 640 kb/s
Output #1, eac3, to '1_3_20.eac3':
Stream #1:0: Audio: eac3, 48000 Hz, stereo, fltp, 256 kb/s
size= 21920kB time=00:04:40.53 bitrate= 640.1kbits/s speed=78.1x...
Maybe in step 2?, after:
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\stream3.wav" -acodec pcm_s24le -y "A:\MEDIA\temp\stream3_v2.wav"
Of course wav files greater 4 GB can be broken.
I haven't big files to test it, and I don't know if output can be used in step 3, but continue with it ignoring the warning.
If the output .u8 is recognized by ffmpeg like DolbyE can work fine. Something like:
here are the wav files created after step 1 , i did the next steps and i noticed the sound file in the last step is not perfect
https://drive.google.com/drive/folders/1hGBTuEG-wjBLujc6PxSEndpxU4t9a-sD
tebasuna51
25th June 2023, 12:11
here are the wav files created after step 1 , i did the next steps and i noticed the sound file in the last step is not perfect
What is the problem?
For me the sound is ok, without errors in encode:
2
C:\tmp>"C:\Portable\0\ffmpeg.exe" -i "C:\tmp\2.wav" -acodec pcm_s24le -y "C:\tmp\2_24.wav"
[w64 @ 000001a257e79540] Estimating duration from bitrate, this may be inaccurate
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, w64, from 'C:\tmp\2.wav':
Duration: 05:00:25.92, bitrate: 3072 kb/s
Stream #0:0: Audio: pcm_s32le ([1][0][0][0] / 0x0001), 48000 Hz, 2 channels, s32, 3072 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (pcm_s32le (native) -> pcm_s24le (native))
Output #0, wav, to 'C:\tmp\2_24.wav':
ISFT : Lavf60.3.100
Stream #0:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s32, 2304 kb/s
encoder : Lavc60.3.100 pcm_s24le
[wav @ 000001a257e7bf00] Filesize 5191465062 invalid for wav, output file will be broken
size= 5069790kB time=05:00:25.90 bitrate=2304.0kbits/s speed= 289x
video:0kB audio:5069790kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000002%
3
C:\tmp>"C:\Portable\0\ffmpeg.exe" -i "C:\tmp\2_24.wav" -acodec copy -f u8 -y "C:\tmp\2.u8"
[wav @ 0000019ffde295c0] Ignoring maximum wav data size, file may be invalid
[wav @ 0000019ffde295c0] Estimating duration from bitrate, this may be inaccurate
Input #0, wav, from 'C:\tmp\2_24.wav':
Duration: 05:00:25.92, bitrate: 2304 kb/s
Stream #0:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
Output #0, u8, to 'C:\tmp\2.u8':
Stream #0:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
[wav @ 0000019ffde295c0] Packet corrupt (stream = 0, dts = NOPTS).
C:\tmp\2_24.wav: corrupt input packet in stream 0
size= 5069790kB time=05:00:25.91 bitrate=2304.0kbits/s speed= 366x
video:0kB audio:5069790kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
4
C:\tmp>ffmpeg.exe -hide_banner -i "C:\tmp\2.u8" -filter_complex "asplit [s][d]; [s] pan=5.1|c0=c0|c1=c1|c2=c2|c3=c3|c4=c4|c5=c5 [ss]; [d] pan=stereo|c0=c6|c1=c7 [dd]" -map "[ss]" -ar 48000 -acodec eac3 -ab 640k 2_51.eac3 -map "[dd]" -ar 48000 -acodec eac3 -ab 256k 2_20.eac3
[dolby_e @ 00000237afdc24c0] Stream has 2 programs (configuration 0), channels will be output in native order.
Input #0, s337m, from 'C:\tmp\2.u8':
Duration: N/A, bitrate: N/A
Stream #0:0: Audio: dolby_e, 44800 Hz, 7.1, fltp
Stream mapping:
Stream #0:0 (dolby_e) -> asplit:default
pan:default -> Stream #0:0 (eac3)
pan:default -> Stream #1:0 (eac3)
Press [q] to stop, [?] for help
[dolby_e @ 00000237afdc3c40] Stream has 2 programs (configuration 0), channels will be output in native order.
[Parsed_pan_1 @ 00000237b0477700] Pure channel mapping detected: 0 1 2 3 4 5
[Parsed_pan_2 @ 00000237b047fd40] Pure channel mapping detected: 6 7
Output #0, eac3, to '2_51.eac3':
Stream #0:0: Audio: eac3, 48000 Hz, 5.1, fltp, 640 kb/s
Output #1, eac3, to '2_20.eac3':
Stream #1:0: Audio: eac3, 48000 Hz, stereo, fltp, 256 kb/s
size= 1408272kB time=05:00:25.85 bitrate= 640.0kbits/s speed= 80x
video:0kB audio:1971582kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
tebasuna51
25th June 2023, 12:36
Like VirtualDub2 seems output correctly w64 for files greater 4GB (Input #0, w64, from 'C:\tmp\2.wav')
This work better without warnings
ffmpeg.exe -hide_banner -i "C:\tmp\2.wav" -acodec pcm_s24le -y "C:\tmp\2_24.w64"
ffmpeg.exe -hide_banner -i "C:\tmp\2_24.w64" -acodec copy -f u8 -y "C:\tmp\2.u8"
ffmpeg.exe -hide_banner -i "C:\tmp\2.u8" -filter_complex "asplit [s][d]; [s] pan=5.1|c0=c0|c1=c1|c2=c2|c3=c3|c4=c4|c5=c5 [ss]; [d] pan=stereo|c0=c6|c1=c7 [dd]" -map "[ss]" -ar 48000 -acodec eac3 -ab 640k 2_51.eac3 -map "[dd]" -ar 48000 -acodec eac3 -ab 256k 2_20.eac3
Balling
25th June 2023, 21:13
I get this error : Filesize 5191465062 invalid for wav, output file will be broken
https://i.postimg.cc/65b1rdKt/Screenshot-22.png
Just use .w64 instead of .wav. Or just flac. Are you like serious right now?
FranceBB
26th June 2023, 13:53
Just use .w64 instead of .wav
I didn't want to comment 'cause I thought the wav thing was known to everyone, but clearly it isn't, so I'm gonna write it here so that hopefully it will stay here forever.
When you mux a PCM stream into .wav container without specifying anything in FFMpeg, it will write the header as the old standard RIFF WAV.
This means that the header will have a RIFF and WAV identifier with the file length and data chunk length being set to 0xFFFF.
The reason why it says "the output might be broken" is that any program reading the info from the container will read 0xFFFF as the actual data size, which means that if the file is larger than 4GB, a decoder might truncate it.
This is easy to reproduce: let's take a movie audio track lasting 1h 48min (5.26 GB) from Chaos Walking which is PCM 24bit 48000Hz 5.1 and mux it into a standard RIFF WAV container:
General
Complete name : A:\MEDIA\temp\Chaos Walking.wav
Format : Wave
File size : 5.26 GiB
Duration : 1 h 48 min
Overall bit rate mode : Constant
Overall bit rate : 6 912 kb/s
Writing application : Lavf
Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 1
Duration : 1 h 48 min
Bit rate mode : Constant
Bit rate : 6 912 kb/s
Channel(s) : 6 channels
Sampling rate : 48.0 kHz
Bit depth : 24 bits
Stream size : 5.26 GiB (100%)
As you can see, this goes ABOVE the 4.00 GB limit of the old standard RIFF WAV container whose header says 0xFFFF, so 4GB and indeed, if you try to open it with any decoder (like the Dolby DP600) who honors the header, it will be truncated to 4.00 GB (in this case, it won't be the full 1h 48m movie, but rather 1h 22min):
General
Complete name : A:\Chaos Walking_PCM 5.1 24bit Decoded DP600.wav
Format : Wave
Format profile : Wave
File size : 4.00 GiB
Duration : 1 h 22 min
Overall bit rate mode : Constant
Overall bit rate : 6 912 kb/s
Encoded date :
Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 1
Duration : 1 h 22 min
Bit rate mode : Constant
Bit rate : 6 912 kb/s
Channel(s) : 6 channels
Sampling rate : 48.0 kHz
Bit depth : 24 bits
Stream size : 4.00 GiB (100%)
if you were to mux a file in a .wav container bigger than 4GB, then you need to mux it as RF64 WAV so that in the header of the container you'll have a ds64 chunk and the actual length of the file can be read as 64-bit size.
Now, the wav muxer in FFMpeg writes the normal RIFF and begins dumping the pcm_s24le stream and goes 'till the end without stopping at the 4GB limit, as I showed above, but the header is, of course, wrong.
In other words, it doesn't switch automatically from standard RIFF WAV to RF64 WAV (even though it was supposed to) unless you tell it to do so beforehand (so before the encode starts). To do so, you need to specify -rf64 always.
For instance:
ffmpeg.exe -i "Test.wav" -acodec pcm_s24le -ar 48000 -rf64 always "A:\MEDIA\temp\Remuxed.wav"
This way, the FFMpeg wav muxer will write the right header and will use the "new" RF64 WAV container:
000000000 WAVE (12 bytes)
000000000 Header (12 bytes)
000000000 Name: RF64
000000004 Size: 4294967295 (0xFFFFFFFF) - 5644975234 (0x150777C82)
000000008 Real Name: WAVE
00000000C --------------------------
00000000C --- Wave, accepted ---
00000000C --------------------------
00000000C --------------------------
00000000C --- Wave, accepted ---
00000000C --------------------------
000000000 Wave (1048714 bytes)
00000000C DataSize64 (36 bytes)
00000000C Header (8 bytes)
00000000C Name: ds64
000000010 Size: 28 (0x0000001C)
000000014 riffSize: 5644975234 (0x0000000150777C82)
00000001C dataSize: 5644975104 (0x0000000150777C00)
000000024 sampleCount: 313609728 (0x0000000012B14E00)
00000002C tableLength: 0 (0x00000000)
000000030 Stream format - Audio (48 bytes)
000000030 Header (8 bytes)
000000030 Name: fmt
000000034 Size: 40 (0x00000028)
000000038 FormatTag: 65534 (0xFFFE)
00000003A Channels: 6 (0x0006)
00000003C SamplesPerSec: 48000 (0x0000BB80)
000000040 AvgBytesPerSec: 864000 (0x000D2F00)
000000044 BlockAlign: 18 (0x0012)
000000046 BitsPerSample: 24 (0x0018)
000000048 cbSize: 22 (0x0016)
00000004A ValidBitsPerSample / SamplesPerBlock: 24 (0x0018)
00000004C ChannelMask: 63 (0x0000003F)
000000050 SubFormat: 00000001-0000-0010-8000-00AA00389B71
000000060 Tags (34 bytes)
000000060 Header (12 bytes)
000000060 Name: LIST
000000064 Size: 26 (0x0000001A)
000000068 Real Name: INFO
00000006C Encoded_Application - Lavf
00000006C Header (8 bytes)
00000006C Name: ISFT
000000070 Size: 14 (0x0000000E)
000000074 Value: Lavf
000000082 Raw datas (8 bytes)
000000082 Header (8 bytes)
000000082 Name: data
000000086 Size: 4294967295 (0xFFFFFFFF) - 5644975104 (0x150777C00)
00000008A ...Continued - Unknown - 1 (0x1) (65536 bytes)
00000008A ...Continued (0 bytes)
00000008A Block (65536 bytes)
00000008A Data: (65536 bytes)
00001008A ...Continued - Unknown - 2 (0x2) (65536 bytes)
00001008A ...Continued (0 bytes)
00001008A Block (65536 bytes)
00001008A Data: (65536 bytes)
00002008A ...Continued - Unknown - 3 (0x3) (65536 bytes)
00002008A ...Continued (0 bytes)
00002008A Block (65536 bytes)
00002008A Data: (65536 bytes)
00003008A ...Continued - Unknown - 4 (0x4) (65536 bytes)
00003008A ...Continued (0 bytes)
00003008A Block (65536 bytes)
00003008A Data: (65536 bytes)
00004008A ...Continued - Unknown - 5 (0x5) (65536 bytes)
00004008A ...Continued (0 bytes)
00004008A Block (65536 bytes)
00004008A Data: (65536 bytes)
00005008A ...Continued - Unknown - 6 (0x6) (65536 bytes)
00005008A ...Continued (0 bytes)
00005008A Block (65536 bytes)
00005008A Data: (65536 bytes)
00006008A ...Continued - Unknown - 7 (0x7) (65536 bytes)
00006008A ...Continued (0 bytes)
00006008A Block (65536 bytes)
00006008A Data: (65536 bytes)
00007008A ...Continued - Unknown - 8 (0x8) (65536 bytes)
00007008A ...Continued (0 bytes)
00007008A Block (65536 bytes)
00007008A Data: (65536 bytes)
00008008A ...Continued - Unknown - 9 (0x9) (65536 bytes)
00008008A ...Continued (0 bytes)
00008008A Block (65536 bytes)
00008008A Data: (65536 bytes)
00009008A ...Continued - Unknown - 10 (0xA) (65536 bytes)
00009008A ...Continued (0 bytes)
00009008A Block (65536 bytes)
00009008A Data: (65536 bytes)
0000A008A ...Continued - Unknown - 11 (0xB) (65536 bytes)
0000A008A ...Continued (0 bytes)
0000A008A Block (65536 bytes)
0000A008A Data: (65536 bytes)
0000B008A ...Continued - Unknown - 12 (0xC) (65536 bytes)
0000B008A ...Continued (0 bytes)
0000B008A Block (65536 bytes)
0000B008A Data: (65536 bytes)
0000C008A ...Continued - Unknown - 13 (0xD) (65536 bytes)
0000C008A ...Continued (0 bytes)
0000C008A Block (65536 bytes)
0000C008A Data: (65536 bytes)
0000D008A ...Continued - Unknown - 14 (0xE) (65536 bytes)
0000D008A ...Continued (0 bytes)
0000D008A Block (65536 bytes)
0000D008A Data: (65536 bytes)
0000E008A ...Continued - Unknown - 15 (0xF) (65536 bytes)
0000E008A ...Continued (0 bytes)
0000E008A Block (65536 bytes)
0000E008A Data: (65536 bytes)
0000F008A ...Continued - Unknown - 16 (0x10) (65536 bytes)
0000F008A ...Continued (0 bytes)
0000F008A Block (65536 bytes)
0000F008A Data: (65536 bytes)
00010008A -------------------------
00010008A --- PCM, accepted ---
00010008A -------------------------
00010008A ------------------------
00010008A --- PCM, filling ---
00010008A ------------------------
00010008A -------------------------
00010008A --- Wave, filling ---
00010008A -------------------------
00010008A --------------------------
00010008A --- Wave, finished ---
00010008A --------------------------
and indeed Mediainfo agrees:
General
Complete name : A:\MEDIA\temp\Chaos Walking RF64.wav
Format : Wave
Format profile : RF64
File size : 5.26 GiB
Duration : 1 h 48 min
Overall bit rate mode : Constant
Overall bit rate : 6 912 kb/s
Writing application : Lavf
Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 00000001-0000-0010-8000-00AA00389B71
Duration : 1 h 48 min
Bit rate mode : Constant
Bit rate : 6 912 kb/s
Channel(s) : 6 channels
Channel layout : L R C LFE Lb Rb
Sampling rate : 48.0 kHz
Bit depth : 24 bits
Stream size : 5.26 GiB (100%)
Now you know why that warning is in place when you mux an old fashioned RIFF WAV.
It basically tells you: "hey, I'm gonna fill the stream past the 4GB hard limit, so the whole stream will be there, but the header is wrong, so some decoders might misbehave".
Of course, FFMpeg will still be able to read it, so will Avisynth indexers like LWLibavAudioSource() and FFAudioSource(). But again, if you actually deliver it to a very strict decoder like the Dolby DP600, it will fail, which is why it's 2023 and everyone should always specify -rf64 always when muxing to wav.
Now, the reason why I didn't specify it in the command line is that those files will be temporary anyway, so there was really no reason to create a compliant file 'cause they were gonna be created by FFMpeg and read by FFMpeg.
Last but not least, this is RF64 WAV, it has nothing to do with the .w64 container that VirtualDub creates as it's a completely different container (but it still works).
I got this error with 1 TS . file
https://i.postimg.cc/GtnXT8zP/Screenshot-26.png
General
ID : 1 (0x1)
Complete name : E:\1.ts
Format : MPEG-TS
File size : 1.47 GiB
Duration : 3 min 32 s
Overall bit rate mode : Variable
Overall bit rate : 59.4 Mb/s
Frame rate : 50.000 FPS
Video
ID : 4011 (0xFAB)
Menu ID : 1 (0x1)
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Format Range@L5.1@High
Codec ID : 36
Duration : 3 min 32 s
Bit rate : 53.4 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate : 50.000 FPS
Standard : Component
Color space : YUV
Chroma subsampling : 4:2:2 (Type 0)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.129
Stream size : 1.32 GiB (90%)
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : HLG
Matrix coefficients : BT.2020 non-constant
Audio #1
ID : 4012 (0xFAC)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Codec ID : 3
Duration : 3 min 32 s
Bit rate mode : Constant
Bit rate : 256 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : 114 ms
Stream size : 6.47 MiB (0%)
Language : German
Language, more info : Clean effects
Audio #2
ID : 4013 (0xFAD)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Codec ID : 3
Duration : 3 min 32 s
Bit rate mode : Constant
Bit rate : 256 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : 114 ms
Stream size : 6.47 MiB (0%)
Language : English
Language, more info : Clean effects
Audio #3
ID : 4014 (0xFAE)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Codec ID : 3
Duration : 3 min 32 s
Bit rate mode : Constant
Bit rate : 256 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : 114 ms
Stream size : 6.47 MiB (0%)
Language : German
Language, more info : Clean effects
Audio #4
ID : 4015 (0xFAF)-1
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 131
Duration : 3 min 32 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
Delay relative to video : 20 ms
Stream size : 32.6 MiB (2%)
Title : Program 1
Language : English
Language, more info : Clean effects
Audio #5
ID : 4015 (0xFAF)-2
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 131
Duration : 3 min 32 s
Bit rate mode : Constant
Bit rate : 505 kb/s
Channel(s) : 2 channels
Channel layout : X X X L X X X R
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : 20 ms
Stream size : 12.8 MiB (1%)
Title : Program 2
Language : English
Language, more info : Clean effects
Menu
ID : 32 (0x20)
Menu ID : 1 (0x1)
Format : HEVC / MPEG Audio / MPEG Audio / MPEG Audio / Dolby E
Duration : 3 min 32 s
List : 4011 (0xFAB) (HEVC) / 4012 (0xFAC) (MPEG Audio, German) / 4013 (0xFAD) (MPEG Audio, English) / 4014 (0xFAE) (MPEG Audio, German) / 4015 (0xFAF) (Dolby E, English)
Language : / German / English / German / English
Maximum bit rate : 216000000
https://drive.google.com/uc?id=1lef3KsBLYoOMOc9WqdsdBI9GdjnmYl0f&export=download
FranceBB
26th June 2023, 14:33
Please install Avisynth+ 3.7.2 x64 from here: https://github.com/AviSynth/AviSynthPlus/releases
Pick the AviSynthPlus_3.7.2_20220317_vcredist.exe (https://github.com/AviSynth/AviSynthPlus/releases/download/v3.7.2/AviSynthPlus_3.7.2_20220317_vcredist.exe) if you're running a modern version of Windows.
Then, go here: https://forum.doom9.org/showthread.php?t=183158 download the file I shared on Mega and extract all the plugins in the relative Avisynth plugins folders.
Last but not least, you can test the scripts using AVSPmod mod from here (please, pick the 64bit version): https://github.com/gispos/AvsPmod/releases
While VirtualDub 64 should be downloaded from here: https://www.videohelp.com/download/VirtualDub2_44282.zip
Please install Avisynth+ 3.7.2 x64 from here: https://github.com/AviSynth/AviSynthPlus/releases
Pick the AviSynthPlus_3.7.2_20220317_vcredist.exe (https://github.com/AviSynth/AviSynthPlus/releases/download/v3.7.2/AviSynthPlus_3.7.2_20220317_vcredist.exe) if you're running a modern version of Windows.
Then, go here: https://forum.doom9.org/showthread.php?t=183158 download the file I shared on Mega and extract all the plugins in the relative Avisynth plugins folders.
Last but not least, you can test the scripts using AVSPmod mod from here (please, pick the 64bit version): https://github.com/gispos/AvsPmod/releases
While VirtualDub 64 should be downloaded from here: https://www.videohelp.com/download/VirtualDub2_44282.zip
I still get the same error as above
https://i.postimg.cc/52GK4PHT/Screenshot-27.png
FranceBB
26th June 2023, 16:27
And again, you're loading the 32bit version.
And again, you're loading the 32bit version.
i used the 64bit version , and still the same .
https://i.postimg.cc/L4C7Zmhg/Screenshot-28.png
FranceBB
26th June 2023, 18:03
It's a bit weird...
Can you try using LSMASH.dll from here: https://github.com/HomeOfAviSynthPlusEvolution/L-SMASH-Works/releases
If it doesn't work, can you try with FFAudioSource() instead?
By the way, you don't need to use loadplugin if they're already in the right folder. ;)
Is it just stream_index=4 that is not working?
What about the other tracks?
It's a bit weird...
Can you try using LSMASH.dll from here: https://github.com/HomeOfAviSynthPlusEvolution/L-SMASH-Works/releases
If it doesn't work, can you try with FFAudioSource() instead?
By the way, you don't need to use loadplugin if they're already in the right folder. ;)
Is it just stream_index=4 that is not working?
What about the other tracks?
Can you try using LSMASH.dll from here: https://github.com/HomeOfAviSynthPlusEvolution/L-SMASH-Works/releases >> yes
If it doesn't work, can you try with FFAudioSource() instead? >> I haven't tried it yet because I don't know how to use it
By the way, you don't need to use loadplugin if they're already in the right folder. ;) >>
LoadPlugin("C:\Program Files (x86)\AviSynth\plugins64+\LSMASHSource.dll") ,
if i remove this command line. There will be an error message
https://i.postimg.cc/9M3bFVTq/Screenshot-31.png
Is it just stream_index=4 that is not working?
What about the other tracks?
>> all track
https://i.postimg.cc/cLbT2fLh/Screenshot-30.png
FranceBB
26th June 2023, 18:24
Uhmmm this is particularly weird.
Looks like Avisynth wasn't really installed correctly.
Download AVSMeter from here https://forum.doom9.org/showthread.php?t=174797
and run it via a bat with the following command:
AVSMeter64.exe -avsinfo
pause
And copy paste the result here.
I'm trying to go back to the root cause.
Also, if you haven't already done this, please install the Microsoft C++ redistributable: https://github.com/abbodi1406/vcredist/releases/
Uhmmm this is particularly weird.
Looks like Avisynth wasn't really installed correctly.
Download AVSMeter from here https://forum.doom9.org/showthread.php?t=174797
and run it via a bat with the following command:
AVSMeter64.exe -avsinfo
pause
And copy paste the result here.
I'm trying to go back to the root cause.
Also, if you haven't already done this, please install the Microsoft C++ redistributable: https://github.com/abbodi1406/vcredist/releases/
...................
AVSMeter 3.0.9.0 (x64), (c) Groucho2004, 2012-2021
VersionString: AviSynth+ 3.7.2 (r3661, 3.7, x86_64)
VersionNumber: 2.60
File / Product version: 3.7.2.0 / 3.7.2.0
Interface Version: 9
Multi-threading support: Yes
Avisynth.dll location: C:\Windows\SYSTEM32\avisynth.dll
Avisynth.dll time stamp: 2022-03-17, 15:24:52 (UTC)
PluginDir2_5 (HKLM, x64): C:\Program Files (x86)\AviSynth+\plugins64
PluginDir+ (HKLM, x64): C:\Program Files (x86)\AviSynth+\plugins64+
[C 2.5 Plugins (64 Bit)] [Version, Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\assrender.dll [0.35.0.0, 2021-03-04]
[C++ 2.5 Plugins (64 Bit)] [Version, Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\HDRCore-x64.dll [n/a, 2018-01-09]
C:\Program Files (x86)\AviSynth+\plugins64+\HDRMatrix-x64.dll [n/a, 2018-01-09]
C:\Program Files (x86)\AviSynth+\plugins64+\HDRNoise-x64.dll [n/a, 2018-01-09]
C:\Program Files (x86)\AviSynth+\plugins64+\HDRSharp-x64.dll [n/a, 2018-01-09]
C:\Program Files (x86)\AviSynth+\plugins64+\LeakKernelDeint.dll [1.5.4.0, 2010-03-14]
C:\Program Files (x86)\AviSynth+\plugins64+\VSFilter.dll [3.0.0.306, 2014-12-07]
C:\Program Files (x86)\AviSynth+\plugins64\avstp.dll [n/a, 2020-10-07]
C:\Program Files (x86)\AviSynth+\plugins64\dither.dll [n/a, 2020-10-07]
[C++ 2.6 Plugins (64 Bit)] [Version, Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\AddGrainC.dll [1.8.3.0, 2021-03-09]
C:\Program Files (x86)\AviSynth+\plugins64+\Average.dll [0.94.0.0, 2017-01-27]
C:\Program Files (x86)\AviSynth+\plugins64+\avsresize.dll [0.0.0.0, 2021-08-12]
C:\Program Files (x86)\AviSynth+\plugins64+\BestAudioSource.dll [n/a, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\BWDIF.dll [1.1.1.0, 2020-08-22]
C:\Program Files (x86)\AviSynth+\plugins64+\colormatrix.dll [2.6.0.0, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\ConvertStacked.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\DePan.dll [2.13.1.6, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\DePanEstimate.dll [2.10.0.4, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\dfttest.dll [1.9.6.0, 2020-03-24]
C:\Program Files (x86)\AviSynth+\plugins64+\DirectShowSource.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\EEDI2.dll [1.0.0.0, 2020-06-19]
C:\Program Files (x86)\AviSynth+\plugins64+\eedi3.dll [0.9.2.3, 2018-03-23]
C:\Program Files (x86)\AviSynth+\plugins64+\FastBlur.dll [n/a, 2021-03-15]
C:\Program Files (x86)\AviSynth+\plugins64+\ffms2.dll [n/a, 2020-09-21]
C:\Program Files (x86)\AviSynth+\plugins64+\fft3dfilter.dll [2.6.0.0, 2019-01-31]
C:\Program Files (x86)\AviSynth+\plugins64+\GamMac.dll [1.10.0.0, 2018-06-15]
C:\Program Files (x86)\AviSynth+\plugins64+\ImageSeq.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\KNLMeansCL.dll [n/a, 2020-11-12]
C:\Program Files (x86)\AviSynth+\plugins64+\LSMASHSource.dll [n/a, 2021-08-09]
C:\Program Files (x86)\AviSynth+\plugins64+\masktools2.dll [2.2.25.0, 2020-08-31]
C:\Program Files (x86)\AviSynth+\plugins64+\MedianBlur2.dll [1.1.0.0, 2021-01-30]
C:\Program Files (x86)\AviSynth+\plugins64+\mvtools2.dll [2.7.43.0, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\neo-fft3d.dll [1.0.0.0, 2020-06-22]
C:\Program Files (x86)\AviSynth+\plugins64+\plugins_JPSDR.dll [3.2.7.0, 2021-07-19]
C:\Program Files (x86)\AviSynth+\plugins64+\RemoveDirt.dll [0.9.3.0, 2021-02-23]
C:\Program Files (x86)\AviSynth+\plugins64+\RemoveGrainHD.dll [0.7.0.0, 2021-02-25]
C:\Program Files (x86)\AviSynth+\plugins64+\RgTools.dll [1.0.0.0, 2020-04-27]
C:\Program Files (x86)\AviSynth+\plugins64+\RoboCrop_x64.dll [1.13.0.0, 2020-02-07]
C:\Program Files (x86)\AviSynth+\plugins64+\Rotate_x64.dll [1.6.0.0, 2020-06-27]
C:\Program Files (x86)\AviSynth+\plugins64+\SangNom2.dll [0.5.0.0, 2020-05-29]
C:\Program Files (x86)\AviSynth+\plugins64+\Shibatch.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\TDeint.dll [1.8.0.0, 2020-12-14]
C:\Program Files (x86)\AviSynth+\plugins64+\TimeStretch.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\TIVTC.dll [1.0.26.0, 2021-02-22]
C:\Program Files (x86)\AviSynth+\plugins64+\VDubFilter.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\vscube.dll [n/a, 2020-11-27]
C:\Program Files (x86)\AviSynth+\plugins64+\yadifmod2.dll [0.2.6.0, 2020-06-29]
C:\Program Files (x86)\AviSynth+\plugins64\CNR2_x64.dll [n/a, 2016-06-26]
C:\Program Files (x86)\AviSynth+\plugins64\Convolution3D.dll [1.1.0.0, 2021-03-11]
[Scripts (AVSI)] [Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\colors_rgb.avsi [2021-01-11]
C:\Program Files (x86)\AviSynth+\plugins64+\FFMS2.avsi [2017-10-05]
C:\Program Files (x86)\AviSynth+\plugins64+\FrostyBorders.avsi [2020-03-26]
C:\Program Files (x86)\AviSynth+\plugins64+\Hysteria.avsi [2021-07-22]
C:\Program Files (x86)\AviSynth+\plugins64+\KillerSpots.avsi [2020-08-18]
C:\Program Files (x86)\AviSynth+\plugins64+\maa2.avsi [2020-05-29]
C:\Program Files (x86)\AviSynth+\plugins64+\mixdown.avsi [2011-09-24]
C:\Program Files (x86)\AviSynth+\plugins64+\QTGMC.avsi [2020-08-18]
C:\Program Files (x86)\AviSynth+\plugins64+\ResizeKAR.avsi [2018-11-21]
C:\Program Files (x86)\AviSynth+\plugins64+\RKS.avsi [2015-08-30]
C:\Program Files (x86)\AviSynth+\plugins64+\SeeSaw.avsi [2020-05-28]
C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi [2019-07-21]
C:\Program Files (x86)\AviSynth+\plugins64+\SpotLess.avsi [2021-01-31]
C:\Program Files (x86)\AviSynth+\plugins64+\VideoTek.avsi [2021-02-24]
C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi [2020-08-18]
C:\Program Files (x86)\AviSynth+\plugins64\deVCR.avsi [2021-08-06]
C:\Program Files (x86)\AviSynth+\plugins64\Srestore.avsi [2015-10-21]
[Uncategorized files] [Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\colors_rgb.txt [2021-01-11]
C:\Program Files (x86)\AviSynth+\plugins64+\ffmsindex.exe [2020-09-21]
[Plugin errors/warnings]
_____________________________________________________________________________________________________________
Function duplicates:
"AvsPlusVersionNumber" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"AvsPlusVersionNumber" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"ContraSharpeningHD" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"ContraSharpeningHD" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_Luma_Rebuild" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_Luma_Rebuild" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_YUY2toInterleaved16" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_YUY2toInterleaved16" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_YUY2toInterleaved" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_YUY2toInterleaved" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_YUY2toPlanar16" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_YUY2toPlanar16" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_YUY2toPlanar" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_YUY2toPlanar" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"IsAvsNeo" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"IsAvsNeo" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"IsAvsPlus" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"IsAvsPlus" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"MinBlur" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"MinBlur" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"sbr" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"sbr" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"undefined" : "[InternalFunction]"
"Undefined" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\DePanEstimate.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\dfttest.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\fft3dfilter.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\mvtools2.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\neo-fft3d.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
.
tebasuna51
27th June 2023, 11:34
Can you try using LSMASH.dll from here: https://github.com/HomeOfAviSynthPlusEvolution/L-SMASH-Works/releases >> yes ???
...
C:\Program Files (x86)\AviSynth+\plugins64+\LSMASHSource.dll [n/a, 2021-08-09]
The last LSMASHSource.dll is from 2023-06-11, replace it and do not use a LoadPlugin in your avs.
C:\Portable\Avs\AVSPLUS370_x64\plugins\LSMASHSource.dll [1127.0.0.0, 2023-06-11]
I make some test with the 1.ts sample and with:
video=LWLibavVideoSource("1.ts")
audio=LWLibavAudioSource("1.ts", stream_index=3).ConvertAudioTo24bit()
AudioDub(video, audio)
the step 2
ffmpeg.exe -hide_banner -i "1.wav" -acodec pcm_s24le -y "1_24.w64"
is not needed and you can do directly the step 3:
ffmpeg.exe -hide_banner -i "1.wav" -acodec copy -f u8 -y "1.u8"
1 step less and the 1.wav with 3/4 size.
The last LSMASHSource.dll is from 2023-06-11, replace it and do not use a LoadPlugin in your avs.
I make some test with the 1.ts sample and with:
video=LWLibavVideoSource("1.ts")
audio=LWLibavAudioSource("1.ts", stream_index=3).ConvertAudioTo24bit()
AudioDub(video, audio)
the step 2
ffmpeg.exe -hide_banner -i "1.wav" -acodec pcm_s24le -y "1_24.w64"
is not needed and you can do directly the step 3:
ffmpeg.exe -hide_banner -i "1.wav" -acodec copy -f u8 -y "1.u8"
1 step less and the 1.wav with 3/4 size.
AVSMeter 3.0.9.0 (x64), (c) Groucho2004, 2012-2021
VersionString: AviSynth+ 3.7.2 (r3661, 3.7, x86_64)
VersionNumber: 2.60
File / Product version: 3.7.2.0 / 3.7.2.0
Interface Version: 9
Multi-threading support: Yes
Avisynth.dll location: C:\Windows\SYSTEM32\avisynth.dll
Avisynth.dll time stamp: 2022-03-17, 15:24:52 (UTC)
PluginDir2_5 (HKLM, x64): C:\Program Files (x86)\AviSynth+\plugins64
PluginDir+ (HKLM, x64): C:\Program Files (x86)\AviSynth+\plugins64+
[C 2.5 Plugins (64 Bit)] [Version, Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\assrender.dll [0.35.0.0, 2021-03-04]
[C++ 2.5 Plugins (64 Bit)] [Version, Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\HDRCore-x64.dll [n/a, 2018-01-09]
C:\Program Files (x86)\AviSynth+\plugins64+\HDRMatrix-x64.dll [n/a, 2018-01-09]
C:\Program Files (x86)\AviSynth+\plugins64+\HDRNoise-x64.dll [n/a, 2018-01-09]
C:\Program Files (x86)\AviSynth+\plugins64+\HDRSharp-x64.dll [n/a, 2018-01-09]
C:\Program Files (x86)\AviSynth+\plugins64+\LeakKernelDeint.dll [1.5.4.0, 2010-03-14]
C:\Program Files (x86)\AviSynth+\plugins64+\VSFilter.dll [3.0.0.306, 2014-12-07]
C:\Program Files (x86)\AviSynth+\plugins64\avstp.dll [n/a, 2020-10-07]
C:\Program Files (x86)\AviSynth+\plugins64\dither.dll [n/a, 2020-10-07]
[C++ 2.6 Plugins (64 Bit)] [Version, Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\AddGrainC.dll [1.8.3.0, 2021-03-09]
C:\Program Files (x86)\AviSynth+\plugins64+\Average.dll [0.94.0.0, 2017-01-27]
C:\Program Files (x86)\AviSynth+\plugins64+\avsresize.dll [0.0.0.0, 2021-08-12]
C:\Program Files (x86)\AviSynth+\plugins64+\BestAudioSource.dll [n/a, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\BWDIF.dll [1.1.1.0, 2020-08-22]
C:\Program Files (x86)\AviSynth+\plugins64+\colormatrix.dll [2.6.0.0, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\ConvertStacked.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\DePan.dll [2.13.1.6, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\DePanEstimate.dll [2.10.0.4, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\dfttest.dll [1.9.6.0, 2020-03-24]
C:\Program Files (x86)\AviSynth+\plugins64+\DirectShowSource.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\EEDI2.dll [1.0.0.0, 2020-06-19]
C:\Program Files (x86)\AviSynth+\plugins64+\eedi3.dll [0.9.2.3, 2018-03-23]
C:\Program Files (x86)\AviSynth+\plugins64+\FastBlur.dll [n/a, 2021-03-15]
C:\Program Files (x86)\AviSynth+\plugins64+\ffms2.dll [n/a, 2020-09-21]
C:\Program Files (x86)\AviSynth+\plugins64+\fft3dfilter.dll [2.6.0.0, 2019-01-31]
C:\Program Files (x86)\AviSynth+\plugins64+\GamMac.dll [1.10.0.0, 2018-06-15]
C:\Program Files (x86)\AviSynth+\plugins64+\ImageSeq.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\KNLMeansCL.dll [n/a, 2020-11-12]
C:\Program Files (x86)\AviSynth+\plugins64+\LSMASHSource.dll [1127.0.0.0, 2023-06-11]
C:\Program Files (x86)\AviSynth+\plugins64+\masktools2.dll [2.2.25.0, 2020-08-31]
C:\Program Files (x86)\AviSynth+\plugins64+\MedianBlur2.dll [1.1.0.0, 2021-01-30]
C:\Program Files (x86)\AviSynth+\plugins64+\mvtools2.dll [2.7.43.0, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\neo-fft3d.dll [1.0.0.0, 2020-06-22]
C:\Program Files (x86)\AviSynth+\plugins64+\plugins_JPSDR.dll [3.2.7.0, 2021-07-19]
C:\Program Files (x86)\AviSynth+\plugins64+\RemoveDirt.dll [0.9.3.0, 2021-02-23]
C:\Program Files (x86)\AviSynth+\plugins64+\RemoveGrainHD.dll [0.7.0.0, 2021-02-25]
C:\Program Files (x86)\AviSynth+\plugins64+\RgTools.dll [1.0.0.0, 2020-04-27]
C:\Program Files (x86)\AviSynth+\plugins64+\RoboCrop_x64.dll [1.13.0.0, 2020-02-07]
C:\Program Files (x86)\AviSynth+\plugins64+\Rotate_x64.dll [1.6.0.0, 2020-06-27]
C:\Program Files (x86)\AviSynth+\plugins64+\SangNom2.dll [0.5.0.0, 2020-05-29]
C:\Program Files (x86)\AviSynth+\plugins64+\Shibatch.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\TDeint.dll [1.8.0.0, 2020-12-14]
C:\Program Files (x86)\AviSynth+\plugins64+\TimeStretch.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\TIVTC.dll [1.0.26.0, 2021-02-22]
C:\Program Files (x86)\AviSynth+\plugins64+\VDubFilter.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\vscube.dll [n/a, 2020-11-27]
C:\Program Files (x86)\AviSynth+\plugins64+\yadifmod2.dll [0.2.6.0, 2020-06-29]
C:\Program Files (x86)\AviSynth+\plugins64\CNR2_x64.dll [n/a, 2016-06-26]
C:\Program Files (x86)\AviSynth+\plugins64\Convolution3D.dll [1.1.0.0, 2021-03-11]
[Scripts (AVSI)] [Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\colors_rgb.avsi [2021-01-11]
C:\Program Files (x86)\AviSynth+\plugins64+\FFMS2.avsi [2017-10-05]
C:\Program Files (x86)\AviSynth+\plugins64+\FrostyBorders.avsi [2020-03-26]
C:\Program Files (x86)\AviSynth+\plugins64+\Hysteria.avsi [2021-07-22]
C:\Program Files (x86)\AviSynth+\plugins64+\KillerSpots.avsi [2020-08-18]
C:\Program Files (x86)\AviSynth+\plugins64+\maa2.avsi [2020-05-29]
C:\Program Files (x86)\AviSynth+\plugins64+\mixdown.avsi [2011-09-24]
C:\Program Files (x86)\AviSynth+\plugins64+\QTGMC.avsi [2020-08-18]
C:\Program Files (x86)\AviSynth+\plugins64+\ResizeKAR.avsi [2018-11-21]
C:\Program Files (x86)\AviSynth+\plugins64+\RKS.avsi [2015-08-30]
C:\Program Files (x86)\AviSynth+\plugins64+\SeeSaw.avsi [2020-05-28]
C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi [2019-07-21]
C:\Program Files (x86)\AviSynth+\plugins64+\SpotLess.avsi [2021-01-31]
C:\Program Files (x86)\AviSynth+\plugins64+\VideoTek.avsi [2021-02-24]
C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi [2020-08-18]
C:\Program Files (x86)\AviSynth+\plugins64\deVCR.avsi [2021-08-06]
C:\Program Files (x86)\AviSynth+\plugins64\Srestore.avsi [2015-10-21]
[Uncategorized files] [Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\colors_rgb.txt [2021-01-11]
C:\Program Files (x86)\AviSynth+\plugins64+\ffmsindex.exe [2020-09-21]
[Plugin errors/warnings]
_____________________________________________________________________________________________________________
Function duplicates:
"AvsPlusVersionNumber" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"AvsPlusVersionNumber" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"ContraSharpeningHD" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"ContraSharpeningHD" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_Luma_Rebuild" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_Luma_Rebuild" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_YUY2toInterleaved16" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_YUY2toInterleaved16" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_YUY2toInterleaved" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_YUY2toInterleaved" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_YUY2toPlanar16" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_YUY2toPlanar16" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_YUY2toPlanar" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_YUY2toPlanar" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"IsAvsNeo" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"IsAvsNeo" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"IsAvsPlus" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"IsAvsPlus" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"MinBlur" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"MinBlur" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"sbr" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"sbr" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"undefined" : "[InternalFunction]"
"Undefined" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\DePanEstimate.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\dfttest.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\fft3dfilter.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\mvtools2.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\neo-fft3d.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
I did and it's still the same
https://i.postimg.cc/4xw1SyFv/Screenshot-33.png
tebasuna51
27th June 2023, 15:02
No problem here.
BTW I don't know how export audio with avsPmod, use VirtualDub2 instead.
I succeed . Thanks FranceBB
Emulgator
28th June 2023, 23:06
Usually "Failed to open resampler" hits while indexing is still in progress AND a preview is forced.
r3sistant
2nd July 2024, 14:03
Hi! Tried a lot of times to decode dolby e but have no success. Could anyone please cut this video from 06:07:10 to 06:54:20 with no compression with saving 2 audio channels and decoding dolby e?
General
ID : 0 (0x0)
Complete name : D:\feed.ts
Format : MPEG-TS
File size : 75.6 GiB
Duration : 7 h 43 min
Overall bit rate mode : Variable
Overall bit rate : 23.4 Mb/s
Video
ID : 512 (0x200)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4
Format settings : CABAC / 3 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference fra : 3 frames
Codec ID : 27
Duration : 7 h 43 min
Bit rate mode : Constant
Bit rate : 19.1 Mb/s
Nominal bit rate : 20.1 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : MBAFF
Scan type, store method : Interleaved fields
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.369
Stream size : 61.8 GiB (82%)
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Audio #1
ID : 4112 (0x1010)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Codec ID : 3
Duration : 7 h 43 min
Bit rate mode : Constant
Bit rate : 384 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : -424 ms
Stream size : 1.24 GiB (2%)
Audio #2
ID : 4128 (0x1020)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Codec ID : 3
Duration : 7 h 43 min
Bit rate mode : Constant
Bit rate : 384 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : -424 ms
Stream size : 1.24 GiB (2%)
Audio #3
ID : 4144 (0x1030)-1
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 7 h 42 min
Bit rate mode : Constant
Encoded bit rate : 2 304 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
Delay relative to video : -400 ms
Title : CTV OB9 3
Audio #4
ID : 4144 (0x1030)-2
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 7 h 42 min
Bit rate mode : Constant
Encoded bit rate : 0 b/s
Channel(s) : 2 channels
Channel layout : X X X L X X X R
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : -400 ms
Title : Program 2
Menu
ID : 2048 (0x800)
Menu ID : 1 (0x1)
List : 512 (0x200) (AVC) / 4112 (0x1010) (MPEG Audio) / 4128 (0x1020) (MPEG Audio) / 4144 (0x1030) (Dolby E)
https://gofile.io/d/dGfiBO
ffmpeg.exe -i "feed.ts" -acodec copy -f u8 -y "out.u8"
copies audio stream 1, latest version of ffmpeg does not support mapping
if i use the previous version and put -map 0:3ffmpeg.exe -i "feed.ts" -map 0:3 -acodec copy -f u8 -y "out.u8" i have this
https://i.ibb.co/C2tvRvD/2024-07-02-164510.png (https://ibb.co/VmNDfD5)
if i try to use this line ffmpeg -non_pcm_mode copy -i feed.ts -map 0:3 -c:a pcm_s24le -f s24le out.wav i only get the duration of audio 06:30:01
using video=LWLibavVideoSource("D:\1.ts")
audio=LWLibavAudioSource("D:\1.ts", stream_index=3)
AudioDub(video, audio)
i get "Failed to open resampler" error
AVSMeter info:
AVSMeter 3.0.9.0 (x64), (c) Groucho2004, 2012-2021
VersionString: AviSynth+ 3.7.3 (r4003, 3.7, x86_64)
VersionNumber: 2.60
File / Product version: 3.7.3.0 / 3.7.3.0
Interface Version: 10
Multi-threading support: Yes
Avisynth.dll location: C:\Windows\SYSTEM32\avisynth.dll
Avisynth.dll time stamp: 2023-07-15, 20:48:08 (UTC)
PluginDir2_5 (HKLM, x64): C:\Program Files (x86)\AviSynth+\plugins64
PluginDir+ (HKLM, x64): C:\Program Files (x86)\AviSynth+\plugins64+
[C 2.5 Plugins (64 Bit)] [Version, Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\assrender.dll [0.35.0.0, 2021-03-04]
[C++ 2.5 Plugins (64 Bit)] [Version, Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\HDRCore-x64.dll [n/a, 2018-01-09]
C:\Program Files (x86)\AviSynth+\plugins64+\HDRMatrix-x64.dll [n/a, 2018-01-09]
C:\Program Files (x86)\AviSynth+\plugins64+\HDRNoise-x64.dll [n/a, 2018-01-09]
C:\Program Files (x86)\AviSynth+\plugins64+\HDRSharp-x64.dll [n/a, 2018-01-09]
C:\Program Files (x86)\AviSynth+\plugins64+\LeakKernelDeint.dll [1.5.4.0, 2010-03-14]
C:\Program Files (x86)\AviSynth+\plugins64+\VSFilter.dll [3.0.0.306, 2014-12-07]
C:\Program Files (x86)\AviSynth+\plugins64\avstp.dll [n/a, 2020-10-07]
C:\Program Files (x86)\AviSynth+\plugins64\dither.dll [n/a, 2020-10-07]
[C++ 2.6 Plugins (64 Bit)] [Version, Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\AddGrainC.dll [1.8.3.0, 2021-03-09]
C:\Program Files (x86)\AviSynth+\plugins64+\Average.dll [0.94.0.0, 2017-01-27]
C:\Program Files (x86)\AviSynth+\plugins64+\avsresize.dll [0.0.0.0, 2021-08-12]
C:\Program Files (x86)\AviSynth+\plugins64+\BestAudioSource.dll [n/a, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\BWDIF.dll [1.1.1.0, 2020-08-22]
C:\Program Files (x86)\AviSynth+\plugins64+\colormatrix.dll [2.6.0.0, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\ConvertStacked.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\DePan.dll [2.13.1.6, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\DePanEstimate.dll [2.10.0.4, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\dfttest.dll [1.9.6.0, 2020-03-24]
C:\Program Files (x86)\AviSynth+\plugins64+\DirectShowSource.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\EEDI2.dll [1.0.0.0, 2020-06-19]
C:\Program Files (x86)\AviSynth+\plugins64+\eedi3.dll [0.9.2.3, 2018-03-23]
C:\Program Files (x86)\AviSynth+\plugins64+\FastBlur.dll [n/a, 2021-03-15]
C:\Program Files (x86)\AviSynth+\plugins64+\ffms2.dll [n/a, 2020-09-21]
C:\Program Files (x86)\AviSynth+\plugins64+\fft3dfilter.dll [2.6.0.0, 2019-01-31]
C:\Program Files (x86)\AviSynth+\plugins64+\GamMac.dll [1.10.0.0, 2018-06-15]
C:\Program Files (x86)\AviSynth+\plugins64+\ImageSeq.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\KNLMeansCL.dll [n/a, 2020-11-12]
C:\Program Files (x86)\AviSynth+\plugins64+\LSMASHSource.dll [1194.0.0.0, 2024-04-08]
C:\Program Files (x86)\AviSynth+\plugins64+\masktools2.dll [2.2.25.0, 2020-08-31]
C:\Program Files (x86)\AviSynth+\plugins64+\MedianBlur2.dll [1.1.0.0, 2021-01-30]
C:\Program Files (x86)\AviSynth+\plugins64+\mvtools2.dll [2.7.43.0, 2020-08-02]
C:\Program Files (x86)\AviSynth+\plugins64+\neo-fft3d.dll [1.0.0.0, 2020-06-22]
C:\Program Files (x86)\AviSynth+\plugins64+\plugins_JPSDR.dll [3.2.7.0, 2021-07-19]
C:\Program Files (x86)\AviSynth+\plugins64+\RemoveDirt.dll [0.9.3.0, 2021-02-23]
C:\Program Files (x86)\AviSynth+\plugins64+\RemoveGrainHD.dll [0.7.0.0, 2021-02-25]
C:\Program Files (x86)\AviSynth+\plugins64+\RgTools.dll [1.0.0.0, 2020-04-27]
C:\Program Files (x86)\AviSynth+\plugins64+\RoboCrop_x64.dll [1.13.0.0, 2020-02-07]
C:\Program Files (x86)\AviSynth+\plugins64+\Rotate_x64.dll [1.6.0.0, 2020-06-27]
C:\Program Files (x86)\AviSynth+\plugins64+\SangNom2.dll [0.5.0.0, 2020-05-29]
C:\Program Files (x86)\AviSynth+\plugins64+\Shibatch.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\TDeint.dll [1.8.0.0, 2020-12-14]
C:\Program Files (x86)\AviSynth+\plugins64+\TimeStretch.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\TIVTC.dll [1.0.26.0, 2021-02-22]
C:\Program Files (x86)\AviSynth+\plugins64+\VDubFilter.dll [n/a, 2021-07-06]
C:\Program Files (x86)\AviSynth+\plugins64+\vscube.dll [n/a, 2020-11-27]
C:\Program Files (x86)\AviSynth+\plugins64+\yadifmod2.dll [0.2.6.0, 2020-06-29]
C:\Program Files (x86)\AviSynth+\plugins64\CNR2_x64.dll [n/a, 2016-06-26]
C:\Program Files (x86)\AviSynth+\plugins64\Convolution3D.dll [1.1.0.0, 2021-03-11]
[Scripts (AVSI)] [Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\colors_rgb.avsi [2021-01-11]
C:\Program Files (x86)\AviSynth+\plugins64+\FFMS2.avsi [2017-10-05]
C:\Program Files (x86)\AviSynth+\plugins64+\FrostyBorders.avsi [2020-03-26]
C:\Program Files (x86)\AviSynth+\plugins64+\Hysteria.avsi [2021-07-22]
C:\Program Files (x86)\AviSynth+\plugins64+\KillerSpots.avsi [2020-08-18]
C:\Program Files (x86)\AviSynth+\plugins64+\maa2.avsi [2020-05-29]
C:\Program Files (x86)\AviSynth+\plugins64+\mixdown.avsi [2011-09-24]
C:\Program Files (x86)\AviSynth+\plugins64+\QTGMC.avsi [2020-08-18]
C:\Program Files (x86)\AviSynth+\plugins64+\ResizeKAR.avsi [2018-11-21]
C:\Program Files (x86)\AviSynth+\plugins64+\RKS.avsi [2015-08-30]
C:\Program Files (x86)\AviSynth+\plugins64+\SeeSaw.avsi [2020-05-28]
C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi [2019-07-21]
C:\Program Files (x86)\AviSynth+\plugins64+\SpotLess.avsi [2021-01-31]
C:\Program Files (x86)\AviSynth+\plugins64+\VideoTek.avsi [2021-02-24]
C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi [2020-08-18]
C:\Program Files (x86)\AviSynth+\plugins64\deVCR.avsi [2021-08-06]
C:\Program Files (x86)\AviSynth+\plugins64\Srestore.avsi [2015-10-21]
[Uncategorized files] [Time stamp]
C:\Program Files (x86)\AviSynth+\plugins64+\colors_rgb.txt [2021-01-11]
C:\Program Files (x86)\AviSynth+\plugins64+\ffmsindex.exe [2020-09-21]
[Plugin errors/warnings]
_____________________________________________________________________________________________________________
Function duplicates:
"AvsPlusVersionNumber" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"AvsPlusVersionNumber" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"ContraSharpeningHD" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"ContraSharpeningHD" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_Luma_Rebuild" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_Luma_Rebuild" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_YUY2toInterleaved16" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_YUY2toInterleaved16" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_YUY2toInterleaved" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_YUY2toInterleaved" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_YUY2toPlanar16" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_YUY2toPlanar16" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"Dither_YUY2toPlanar" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"Dither_YUY2toPlanar" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"IsAvsNeo" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"IsAvsNeo" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"IsAvsPlus" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"IsAvsPlus" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"MinBlur" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"MinBlur" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"sbr" : "C:\Program Files (x86)\AviSynth+\plugins64+\SMDegrain.avsi"
"sbr" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
"undefined" : "[InternalFunction]"
"Undefined" : "C:\Program Files (x86)\AviSynth+\plugins64+\Zs_RF_Shared.avsi"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\DePanEstimate.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\dfttest.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\fft3dfilter.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\mvtools2.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
_____________________________________________________________________________________________________________
"C:\Program Files (x86)\AviSynth+\plugins64+\neo-fft3d.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
FranceBB
3rd July 2024, 19:18
Oh wow, that's a very long feed... I mean, you're gambling a lot when you leave the recording go for such a long time, it's pretty insane and risky.
On EVS Ingest Scheduler (xtaccess hardware encoder), we generally record at blocks of 1h to be safe (max 2h) to avoid corruption and we definitely never exceed the 4h mark.
Recording an 8h feed in one single part is a pretty bold move.
Anyway, welcome to Doom9! :)
By the way, you should update your Mediainfo installation 'cause Jerome has now introduced all the proprietary DolbyE metadata detection, including the dialnorm etc. ;)
In an official Dolby decoder, the dialnorm is interpreted to output the audio to the level described there. In other words, the audio inside could be at any level (let's say -18 LUFS), but if the dialnorm says -23 LUFS the decoder would output it to -23. This is the same kind of logic that is used in AC3, in fact AC3 and DolbyE share the same kind of metadata.
Anyway, I always ignore the dialnorm value and decode the audio as-is, then I decide myself whether I wanna do something with it or not.
This is the mediainfo of the source using Mediainfo 24.06 which includes the DolbyE metadata detection patch:
General
ID : 0 (0x0)
Complete name : A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts
Format : MPEG-TS
File size : 75.6 GiB
Duration : 7 h 43 min
Overall bit rate mode : Variable
Overall bit rate : 23.4 Mb/s
Frame rate : 25.000 FPS
Video
ID : 512 (0x200)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4
Format settings : CABAC / 3 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 3 frames
Format settings, Slice count : 2 slices per frame
Codec ID : 27
Duration : 7 h 43 min
Bit rate mode : Constant
Bit rate : 19.1 Mb/s
Nominal bit rate : 20.1 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : MBAFF
Scan type, store method : Interleaved fields
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.369
Stream size : 61.8 GiB (82%)
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Audio #1
ID : 4112 (0x1010)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Codec ID : 3
Duration : 7 h 43 min
Bit rate mode : Constant
Bit rate : 384 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : -424 ms
Stream size : 1.24 GiB (2%)
Conformance errors : 1 / 1
MPEG-Audio : Yes
General compliance : Bitstream synchronisation is lost (time 07:42:55.976, offset 0x12E4BCC1F0)
MPEG-PS : Yes
General compliance : Bitstream synchronisation is lost (time 07:42:53.064+07:42:53.400+07:42:53.472+07:42:53.544+
07:42:53.640+07:42:53.808+07:42:53.904+07:42:53.976+
07:42:54.072+07:42:54.456+07:42:57.168+07:42:57.240+
07:42:57.312+07:42:57.408+07:42:55.976+07:42:57.504+
07:42:57.552+07:42:57.672+07:42:57.720+07:42:57.816+
07:43:06.264+07:43:06.336+07:43:06.432+07:43:06.504+
07:43:06.600+07:43:06.672+07:43:06.744+07:43:06.840+
07:43:06.912+07:43:07.248+07:43:07.344+07:43:07.416+
..., offset
0x12E46557F4+0x12E4682BC8+0x12E46AF714+0x12E46D8
B48+0x12E470F08C+0x12E476DB7A+0x12E47A762A+0x12E
47D7884+0x12E4812254+0x12E48408C6+0x12E4B2A94E+0
x12E4B58AA0+0x12E4B8E984+0x12E4BC1734+0x12E4BDAA
36+0x12E4BF73A4+0x12E4C14FC4+0x12E4C55D6E+0x12E4
C711A8+0x12E4CA7DC4+0x12E531E334+0x12E5348F48+0x
12E5381DE8+0x12E53AFD2C+0x12E53E3628+0x12E540AA1
A+0x12E5434C80+0x12E546BF58+0x12E5490EE0+0x12E54
BFFDA+0x12E54F9981+0x12E5528074+...)
Audio #2
ID : 4128 (0x1020)
Menu ID : 1 (0x1)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Codec ID : 3
Duration : 7 h 43 min
Bit rate mode : Constant
Bit rate : 384 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Frame rate : 41.667 FPS (1152 SPF)
Compression mode : Lossy
Delay relative to video : -424 ms
Stream size : 1.24 GiB (2%)
Conformance errors : 1 / 1
MPEG-Audio : Yes
General compliance : Bitstream synchronisation is lost (time
07:43:06.816+07:43:01.783, offset
0x12E545DF49+0x12E559FC26)
MPEG-PS : Yes
General compliance : Bitstream synchronisation is lost (time
07:42:53.064+07:42:53.400+07:42:53.472+07:42:53.544+
07:42:53.640+07:42:53.712+07:42:53.808+07:42:53.904+
07:42:53.976+07:42:54.048+07:42:54.456+07:42:54.528+
07:42:57.168+07:42:57.216+07:42:57.312+07:42:57.384+
07:42:57.480+07:42:57.552+07:42:57.648+07:42:57.720+
07:42:57.816+07:42:57.888+07:43:06.264+07:43:06.336+
07:43:06.408+07:43:06.504+07:43:06.576+07:43:06.648+
07:43:06.672+07:43:06.744+07:43:06.816+07:43:06.912+..., offset
0x12E4653F74+0x12E4683B34+0x12E46AD608+0x12E46DC
E1C+0x12E4711870+0x12E4739178+0x12E476FD94+0x12E
47AD5A0+0x12E47D4984+0x12E4803620+0x12E48460E4+0
x12E4868E48+0x12E4B2B64A+0x12E4B4B084+0x12E4B861
A6+0x12E4BB3214+0x12E4BEC16C+0x12E4C15B2C+0x12E
4C4BBE0+0x12E4C7A3C8+0x12E4CAAC84+0x12E4CC4387+
0x12E531F00C+0x12E534B864+0x12E5372F41+0x12E53B1
0D8+0x12E53D8F82+0x12E53F9A60+0x12E540C1E4+0x12E
54449EC+0x12E546C8C0+0x12E54986D0+...)
Audio #3
ID : 4144 (0x1030)-1
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Dolby Surround / Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 7 h 42 min
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
Delay relative to video : -400 ms
Stream size : 4.17 GiB (6%)
Title : CTV OB9 3
AC-3 metadata : Yes
Service kind : Complete Main
Channel layout : L R C LFE Ls Rs
Dialog Normalization : -23 dB
RF (compr) profile : Film Standard
Line (dynrng) profile : Film Standard
cmixlev : -3.0 dB
surmixlev : -3 dB
dmixmod : Lo/Ro
ltrtcmixlev : -3.0 dB
ltrtsurmixlev : -6.0 dB
lorocmixlev : -3.0 dB
lorosurmixlev : -6.0 dB
hpfon : Yes
bwlpfon : Yes
lfelpfon : Yes
sur90on : No
suratton : No
rfpremphon : No
GuardBand_Before : 688
GuardBand_After : 1271
Conformance errors : 1
MPEG-PS : Yes
General compliance : Bitstream synchronisation is lost (time
07:42:53.360+07:42:53.440+07:42:53.600+07:42:53.680+
07:42:53.920+07:42:54.000+07:42:54.440+07:42:54.680+
07:42:54.920+07:42:56.208+07:42:56.280+07:42:56.440+
07:42:56.520+07:42:56.720+07:42:56.800+07:42:57.200+
07:42:57.280+07:42:57.440+07:42:57.520+07:42:57.760+
07:43:00.720+07:43:00.920+07:43:01.200+07:43:01.440+
07:43:02.520+07:43:02.800+07:43:03.080+07:43:03.600+
07:43:03.880+07:43:05.240+07:43:05.480+07:43:06.280+
..., offset
0x12E4674EF0+0x12E46A6576+0x12E4704BD1+0x12E4731
3BA+0x12E47BC44C+0x12E47EE246+0x12E483F562+0x12E
48C6071+0x12E494197B+0x12E49A8412+0x12E49D17AB+0
x12E4A237DC+0x12E4A50FF7+0x12E4AC080B+0x12E4AF33
E1+0x12E4B4CB32+0x12E4B7E4CC+0x12E4BDE81B+0x12E
4C12F74+0x12E4C9865C+0x12E4CE98A6+0x12E4D53E2E+0
x12E4DDB262+0x12E4E54302+0x12E4E83B04+0x12E4F181
26+0x12E4FABCAE+0x12E50170B6+0x12E509DB83+0x12E5
1CDB06+0x12E524EF3A+0x12E5339FF6+...)
Audio #4
ID : 4144 (0x1030)-2
Menu ID : 1 (0x1)
Format : Dolby E
Format settings : Little
Muxing mode : SMPTE ST 302 / SMPTE ST 337
Codec ID : 6
Duration : 7 h 42 min
Bit rate mode : Constant
Bit rate : 505 kb/s
Channel(s) : 2 channels
Channel layout : X X X L X X X R
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Delay relative to video : -400 ms
Stream size : 1.63 GiB (2%)
Title : Program 2
AC-3 metadata : Yes
Service kind : Complete Main
Channel layout : L R
Dialog Normalization : -27 dB
RF (compr) profile : Film Standard
Line (dynrng) profile : Film Standard
cmixlev : -3.0 dB
surmixlev : -3 dB
dmixmod : Lt/Rt
ltrtcmixlev : -3.0 dB
ltrtsurmixlev : -3.0 dB
lorocmixlev : -3.0 dB
lorosurmixlev : -3.0 dB
hpfon : Yes
bwlpfon : Yes
lfelpfon : No
sur90on : No
suratton : No
rfpremphon : No
GuardBand_Before : 688
GuardBand_After : 1271
Menu
ID : 2048 (0x800)
Menu ID : 1 (0x1)
Format : AVC / MPEG Audio / MPEG Audio / Dolby E
List : 512 (0x200) (AVC) / 4112 (0x1010) (MPEG Audio) / 4128 (0x1020) (MPEG Audio) / 4144 (0x1030) (Dolby E)
Now, as we can see, we have a pretty standard file with:
Video:
FULL HD H.264 20 Mbit/s 4:2:0 25i Limited TV Range 8bit planar BT709 SDR
Audio:
CH.1-2 MP2 384 kbit/s 2ch 48000Hz English Full Mix
CH.3-4 MP2 384 kbit/s 2ch 48000Hz Mute
CH.5-6 DolbyE 5.1 + 2.0 (1300 kbit/s + 505 kbit/s)
I started indexing with LWLibavVideoSource() and LWLibavAudioSource() and I've got 781375 frames, namely 08:40:55.00
This is when I indexed the video and CH.1-2:
video=LWLibavVideoSource("A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts")
audio=LWLibavAudioSource("A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts", stream_index=1)
AudioDub(video, audio)
while this is CH.3-4:
video=LWLibavVideoSource("A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts")
audio=LWLibavAudioSource("A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts", stream_index=2)
AudioDub(video, audio)
The audio tracks seem to be having some problem, though.
This is expected given how lengthy the recording was.
When I try to index CH.1-2, I get 07:26:48.28 before it crashes, while when I try to index CH.3-4 I get 07:26:48.68 before it crashes. A part of those also seems to be corrupted.
Anyway, I decoded and re-encoded them both to PCM 24 bit 48000Hz muxed as RF64 wav:
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts_CH12.avs" -c:a pcm_s24le -ar 48000 -rf64 always -f wav "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed)_CH12.wav"
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts_CH34.avs" -c:a pcm_s24le -ar 48000 -rf64 always -f wav "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed)_CH34.wav"
pause
This resulted in the following two stereo files:
General
Complete name : A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed)_CH12.wav
Format : Wave
Format profile : RF64
Format settings : WaveFormatExtensible
File size : 7.19 GiB
Duration : 7 h 26 min
Overall bit rate mode : Constant
Overall bit rate : 2 304 kb/s
Writing application : Lavf60.16.100
Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 00000001-0000-0010-8000-00AA00389B71
Duration : 7 h 26 min
Bit rate mode : Constant
Bit rate : 2 304 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Bit depth : 24 bits
Stream size : 7.19 GiB (100%)
General
Complete name : A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed)_CH34.wav
Format : Wave
Format profile : RF64
Format settings : WaveFormatExtensible
File size : 7.19 GiB
Duration : 7 h 26 min
Overall bit rate mode : Constant
Overall bit rate : 2 304 kb/s
Writing application : Lavf60.16.100
Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 00000001-0000-0010-8000-00AA00389B71
Duration : 7 h 26 min
Bit rate mode : Constant
Bit rate : 2 304 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Bit depth : 24 bits
Stream size : 7.19 GiB (100%)
At this point I had to deal with CH.5-6, which is the DolbyE 5.1 + 2.0 track.
I noticed that you tried to decode it with the u8 procedure yourself, however keep in mind that we're talking about a .ts container, not about an .mxf container.
This means that the DolbyE track wasn't muxed as a standard SMPTE ST 337 but rather as SMPTE ST 302. This means that we have to index the DolbyE 5.1 + 2.0 SMPTE ST 302 track and remux it as DolbyE 5.1 + 2.0 SMPTE ST 337.wav before we can decode it 'cause FFMpeg only expects SMPTE ST337.
To do this, we need to index CH.5-6 (i.e stream 3) and save it, however, since it's corrupted/truncated, when I do this:
video=LWLibavVideoSource("A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts")
audio=LWLibavAudioSource("A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts", stream_index=3)
AudioDub(video, audio)
and save with:
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts.avs" -c:a pcm_s24le -ar 48000 -f wav "A:\MEDIA\temp\stream1_CH56.wav"
pause
it gets stuck without outputting anything.
It just... stalls.
I tried to use
BestAudioSource("A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts", track=3)
but then FFMpeg complained with the following error:
S302 non PCM mode with data type 28 not supported
This is because BestAudioSource() doesn't seem to be supporting s302m streams.
As to FFAudioSource(), I tried with
FFAudioSource("A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts", track=3)
but unfortunately it also failed with:
FFAudioSource: Audio track contains no audio frames
Error opening input: Unknown error occurred
Remuxing it with FFMpeg initially didn't work either as this:
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts" -map 0:3 -vn -c:a copy -f wav -y "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E)_Stream1_CH56.wav"
pause
failed with:
Could not find codec parameters for stream 3 (Audio: s302m (BSSD / 0x44535342), stereo, s32 (20 bit), 2304 kb/s)
So I had to change to
ffmpeg.exe -hide_banner -non_pcm_mode copy -i "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts" -map 0:3 -c:a pcm_s24le -f s24le -y "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E)_stream1_CH56.wav"
pause
and although it started copying the stream, FFMpeg started outputting a lot of errors complaining about invalid headers in the s302m frames, PES packet size mismatch and packet corruption. This all points to the fact that there have been issues while receiving the stream on such a lengthy recording and unfortunately this COULD result in CRC errors with DolbyE.
FranceBB
3rd July 2024, 19:19
Anyway, we got closer to the end result as we've now got a 7h 20m DolbyE 5.1 + 2.0 file muxed in wav as SMPTE ST337.
General
Complete name : A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E)_stream1_CH56.wav
Format : SMPTE ST 337
File size : 7.09 GiB
Duration : 7 h 20 min
Overall bit rate mode : Constant
Overall bit rate : 2 304 kb/s
Audio #1
ID : 1
Format : Dolby E
Format settings : Dolby Surround / Little
Duration : 7 h 20 min
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 : 3.97 GiB (56%)
Title : CTV OB9 3
AC-3 metadata : Yes
Service kind : Complete Main
Channel layout : L R C LFE Ls Rs
Dialog Normalization : -23 dB
RF (compr) profile : Film Standard
Line (dynrng) profile : Film Standard
cmixlev : -3.0 dB
surmixlev : -3 dB
dmixmod : Lo/Ro
ltrtcmixlev : -3.0 dB
ltrtsurmixlev : -6.0 dB
lorocmixlev : -3.0 dB
lorosurmixlev : -6.0 dB
hpfon : Yes
bwlpfon : Yes
lfelpfon : Yes
sur90on : No
suratton : No
rfpremphon : No
GuardBand_Before : 688
GuardBand_After : 1271
Audio #2
ID : 2
Format : Dolby E
Format settings : Little
Duration : 7 h 20 min
Bit rate mode : Constant
Bit rate : 505 kb/s
Channel(s) : 2 channels
Channel layout : X X X L X X X R
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Stream size : 1.55 GiB (22%)
Title : Program 2
AC-3 metadata : Yes
Service kind : Complete Main
Channel layout : L R
Dialog Normalization : -27 dB
RF (compr) profile : Film Standard
Line (dynrng) profile : Film Standard
cmixlev : -3.0 dB
surmixlev : -3 dB
dmixmod : Lt/Rt
ltrtcmixlev : -3.0 dB
ltrtsurmixlev : -3.0 dB
lorocmixlev : -3.0 dB
lorosurmixlev : -3.0 dB
hpfon : Yes
bwlpfon : Yes
lfelpfon : No
sur90on : No
suratton : No
rfpremphon : No
GuardBand_Before : 688
GuardBand_After : 1271
Now this is what we can decode 'cause it's muxed as SMPTE ST 337. :)
Even just playing it with MPV works:
https://i.imgur.com/MZrM3CP.png
Now, before we go on with this, I know what you meant when you said that you couldn't get past 6h 30m.
This is because if we apply the u8 trick on that file like this:
ffmpeg.exe -hide_banner -i "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E)_stream1_CH56.wav" -c:a copy -f u8 -y "A:\MEDIA\temp\stream1.u8"
we end up with the following issue:
Dolby E data size 1037087 in SMPTE 337M is not implemented.
so, effectively, it stops after 06:30:31.48.
https://i.imgur.com/arjGwBB.png
What we can however do is use Avisynth to decode it and the GetChannels() function to get the 5.1 first and the + 2.0 then.
In other words:
video=LWLibavVideoSource("A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts")
audio=LWLibavAudioSource("A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E)_stream1_CH56.wav")
AudioDub(video, audio)
GetChannels(1,2,3,4,5,6)
ResampleAudio(48000)
By looking at this with VideoTek() we can see that the channels are correctly presented as FL FR CC LFE LS RS:
https://i.imgur.com/xGomvNu.png
https://i.imgur.com/tiR9iw2.png
https://i.imgur.com/zU5KXzF.png
I thought "nice, so at this point it's just a matter of saving the decoded output", but no.
Unfortunately LWLibavAudioSource() also suffers from the same limitation affecting FFMpeg 'cause they're both based on libav.
In other words, after 6h 30m, everything is silent.
As for WAVSource(), it just fails to decode it, while BestAudioSource() decodes it completely silently, so does DirectShowSource() using the LAV Decoder.
PotPlayer does play it, though, so at this point I wonder whether it can go past the 6h 30m mark.
When I seek forward on MPV, it does allow me to decode past the 6h 30m mark, here I am at 6h 50m and I can guarantee you that there's sound:
https://i.imgur.com/zHZB0qP.png
I'll try to do something more about this tomorrow, but right now I'm uploading the following files:
- Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E)_stream1_CH56.wav
This is the full DolbyE 5.1 + 2.0 stream extracted from the .ts file.
- Isle of Wight Festival (21-6-24) (1080i) (Feed)_CH12.wav
This is the decoded MP2 Stereo of CH.1-2.
- Isle of Wight Festival (21-6-24) (1080i) (Feed)_CH34.wav
This is the decoded MP2 Stereo of CH.3-4.
- Isle of Wight Festival (21-6-24) (1080i) (Feed)_CH56_51_Truncated.wav
This is the decoded DolbyE 5.1 of CH.5-6 but truncated to 6h 30m when the decoder chokes and gives up.
In theory it should be possible to trim it and then decode it in two parts, but I have to think about a way to do this.
Link: https://gofile.io/d/b8JYyA
FranceBB
4th July 2024, 09:18
I'm a bit at a loss, 'cause I thought: "well, I could simply trim this".
You see, one of the properties of DolbyE is that - as long as the guardband (i.e the frame loc / line positioning) is in a valid position - any application can trim it without compromising its integrity, regardless on whether it understands DolbyE or not. This is because DolbyE is carried in chunks and basically the guardband value tells you the position of the chunks in the stream and whether you can trim them or not. Different framerate and resolution files need different guardband and so on. For instance, FULL HD 25i files generally desire a guardband at around line 22, while UHD 50p ones desire one at around line 42.
https://i.imgur.com/j8ieK0q.png
In the case of this recording, the guardband is at line 33, which is not ideal, but still in a valid position, so we can trim.
What I've done then is split the file in two and essentially create a second part starting from 6h 30m 31s like so:
ffmpeg.exe -hide_banner -non_pcm_mode copy -ss 06:30:31 -i "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts" -map 0:3 -c:a pcm_s24le -f s24le -y "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E)_stream1_CH56_part2.wav"
which led to the following 50 min 45 seconds DolbyE file containing the last part of the concert:
General
Complete name : A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E)_stream1_CH56_part2.wav
Format : SMPTE ST 337
File size : 837 MiB
Duration : 50 min 45 s
Overall bit rate mode : Constant
Overall bit rate : 2 304 kb/s
Audio #1
ID : 1
Format : Dolby E
Format settings : Dolby Surround / Little
Duration : 50 min 45 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 : 469 MiB (56%)
Title : CTV OB9 3
AC-3 metadata : Yes
Service kind : Complete Main
Channel layout : L R C LFE Ls Rs
Dialog Normalization : -23 dB
RF (compr) profile : Film Standard
Line (dynrng) profile : Film Standard
cmixlev : -3.0 dB
surmixlev : -3 dB
dmixmod : Lo/Ro
ltrtcmixlev : -3.0 dB
ltrtsurmixlev : -6.0 dB
lorocmixlev : -3.0 dB
lorosurmixlev : -6.0 dB
hpfon : Yes
bwlpfon : Yes
lfelpfon : Yes
sur90on : No
suratton : No
rfpremphon : No
GuardBand_Before : 688
GuardBand_After : 1271
Audio #2
ID : 2
Format : Dolby E
Format settings : Little
Duration : 50 min 45 s
Bit rate mode : Constant
Bit rate : 505 kb/s
Channel(s) : 2 channels
Channel layout : X X X L X X X R
Sampling rate : 48.0 kHz
Frame rate : 25.000 FPS (1920 SPF)
Bit depth : 20 bits
Stream size : 183 MiB (22%)
Title : Program 2
AC-3 metadata : Yes
Service kind : Complete Main
Channel layout : L R
Dialog Normalization : -27 dB
RF (compr) profile : Film Standard
Line (dynrng) profile : Film Standard
cmixlev : -3.0 dB
surmixlev : -3 dB
dmixmod : Lt/Rt
ltrtcmixlev : -3.0 dB
ltrtsurmixlev : -3.0 dB
lorocmixlev : -3.0 dB
lorosurmixlev : -3.0 dB
hpfon : Yes
bwlpfon : Yes
lfelpfon : No
sur90on : No
suratton : No
rfpremphon : No
GuardBand_Before : 688
GuardBand_After : 1271
At this point I tried to decode it like so:
bogus_video=BlankClip(length=900000, fps=25)
audio=LWLibavAudioSource("A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E)_stream1_CH56_part2.wav")
AudioDub(bogus_video, audio)
GetChannels(1,2,3,4,5,6)
When I saw it working I said "job done"
https://i.imgur.com/i9RgUhb.png
but no, the decoder chokes quickly after and crashes after as little as 1 minute. At this point I'm at a bit of a loss.
I mean, with MPV I can play it all the way through, so there MUST be a way to do this, but I'm still thinking... :(
Still, armed with a lot of good will, I decided to use the official Dolby DP600 to decode the stream and see where it would get me.
I therefore remuxed the audio in a proper RF64 wav container like so:
ffmpeg.exe -hide_banner -non_pcm_mode copy -i "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E).ts" -map 0:3 -c:a pcm_s24le -rf64 always -f wav -y "A:\MEDIA\temp\Isle of Wight Festival (21-6-24) (1080i) (Feed) (Dolby-E)_stream1_CH56_DolbyE.wav"
pause
And then I submitted the file to the DP600 which detected the following info:
Program Configuration: 5.1 + 2
Frame Rate: 25 fps
Bit Depth: 20-bit
Guard Band: line 33
Program 1 Description: CTV OB9 3
Program 2 Description: Program 2
Unfortunately, however, when I started the decoding process it immediately failed with:
Audio Extract Started
Audio Extract Ended
Dolby E Decoding Started
Error: Unable to read Dolby-E Metadata
So... looks like not even an official Dolby product can properly decode this file (although it could be the fact that I remuxed it with FFMpeg as I can't feed .ts directly to the DP600)... :(
Anyway, I've opened a ticket in the FFMpeg bug tracker https://trac.ffmpeg.org/ticket/11084
Hopefully someone will take a look at that.
richardpl
4th July 2024, 12:09
Sure, right on it!
FranceBB
4th July 2024, 14:33
Well... well... well... I've got very good news for you, @r3sistant, I got it. I managed to decode it. :D
https://media.makeameme.org/created/victory-is-ovksli.jpg
So... first thing first: what happened was that you had a signal issue while you were recording the file. This led to a CRC error in the DolbyE bitstream.
Now, when DolbyE is recorded, it's generally played back via hardware playback ports that create a stream that is transmitted via SDI, then it goes into a Dolby hardware decoder which decodes it as PCM discrete mono and last but not least the signal goes into an hardware encoder that creates the final AC3 before everything is multiplexed and beamed for consumers.
When you have an issue with the bitstream, you have a CRC error, namely an "absence of coding". Given that the decoding is done via hardware, this simply leads to a moment in time in which there's silence (i.e mute) in the decoded PCM and therefore silence (i.e mute) in the re-encoded AC3 that it's sent to consumers. When the bitstream comes back and the DolbyE coding is restored at the next chunk, the decoder goes on decoding it and everything is back to normal. This "silence" would be just as long as the CRC error is, ranging from a few frames up to several seconds. Now, here we're not playing anything, we're decoding it via software using the decoder inside FFMpeg, which means that we're doing a software decoding instead. This in turn means that once we get to the point in which there's a CRC error, the decoder simply crashes. What I said in the previous post, however, still holds true, namely that - as long as the guardband / frame loc / line position is within a legal value - we can trim a DolbyE bitstream wherever we want without having to care about screwing it up and this is exactly what I've done as the file had a line positioning of 33 which is valid (albeit not recommended for FULL HD 25i).
I found the affected parts in which you had a CRC error in the recording, trimmed them out until the next chunk was there, and then I fed it to the decoder, then, I appended all trimmed parts together and I've got the final file.
Out of 7h and 20 minutes, the final file was 07:12:09.88, which means that overall 480 seconds (i.e 8 minutes) were lost due to CRC errors.
Here's the final link: https://gofile.io/d/yCQf7L
- Isle of Wight Festival (21-6-24) (1080i) (Feed)_CH12.wav
- Isle of Wight Festival (21-6-24) (1080i) (Feed)_CH34.wav
- Isle of Wight Festival (21-6-24) (1080i) (Feed)_CH56.wav
There you can find CH.1-2 2.0, CH.3-4 2.0, CH.5-6 5.1, all nicely decoded as PCM 24 bit little endian 48000Hz muxed as RF64 wav.
Another day, another mystery solved, another DolbyE file decoded.
Open source rocks. ;)
FranceBB
15th August 2024, 21:14
I updated the guide in the main page to include the commands for FFMpeg 7.x given that -map_channel was deprecated in favor of the pan audio filter.
It will still be valid for FFMpeg 6.x and older, though, but it won't work with FFMpeg 7.x and newer as it requires the use of the pan audio filter.
For FFMpeg 6.x or older:
#Extract DolbyE track 1
ffmpeg -i "DolbyE.mov" -map 0:1 -acodec copy -f u8 -y "stream1.u8"
#Extract each channel of DolbyE 5.1
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.0:0.0.0 -y "FL.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.1:0.0.0 -y "FR.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.2:0.0.0 -y "CC.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.3:0.0.0 -y "LFE.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.4:0.0.0 -y "SL.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.5:0.0.0 -y "SR.wav"
#Extract each channel of DolbyE 2.0
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.6:0.0.0 -y "Left.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -map_channel 0.0.7:0.0.0 -y "Right.wav"
#Audio 5.1
ffmpeg -i "FL.wav" -i "FR.wav" -i "CC.wav" -i "LFE.wav" -i "SL.wav" -i "SR.wav" -filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-LFE|4.0-BL|5.0-BR[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -f wav -y "Track1_51.wav"
#Audio 2.0
ffmpeg -i "Left.wav" -i "Right.wav" -filter_complex "[0:a][1:a]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -f wav -y "Track2_20.wav"
For FFMpeg 7.x or newer:
#Extract DolbyE track 1
ffmpeg -i "DolbyE.mov" -map 0:1 -acodec copy -f u8 -y "stream1.u8"
#Extract each channel of DolbyE 5.1
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c0" -y "FL.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c1" -y "FR.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c2" -y "CC.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c3" -y "LFE.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c4" -y "SL.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c5" -y "SR.wav"
#Extract each channel of DolbyE 2.0
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c6" -y "Left.wav"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c7" -y "Right.wav"
#Audio 5.1
ffmpeg -i "FL.wav" -i "FR.wav" -i "CC.wav" -i "LFE.wav" -i "SL.wav" -i "SR.wav" -filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-LFE|4.0-BL|5.0-BR[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -f wav -y "Track1_51.wav"
#Audio 2.0
ffmpeg -i "Left.wav" -i "Right.wav" -filter_complex "[0:a][1:a]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -f wav -y "Track2_20.wav"
bbc
4th September 2024, 04:39
https://images2.imgbox.com/16/a5/SZS5XpRT_o.jpg (https://imgbox.com/SZS5XpRT)
leoenc
10th October 2025, 17:03
@FranceBB,
This doesn't seem to work with ffmpeg 8.x.
I've tried these steps:
ffmpeg -i "XDCAM50_DolbyE_51_20.mxf" -map 0:1 -acodec pcm_u8 -f u8 -y "stream1.u8"
ffmpeg -i "stream1.u8" -acodec pcm_s24le -ar 48000 -ac 1 -af "pan=mono|c0=c0" -y "FL.wav"
but getting the error: Invalid data found when processing input.
Tried with both your MXF and MOV sample files.
Note that when using -acodec copy as you wrote, it produces the error: "u8 muxer supports only codec pcm_u8 for type audio", therefore I used acodec pcm_u8.
emcodem
29th January 2026, 17:01
@FranceBB,
This doesn't seem to work with ffmpeg 8.x.
Yeah frankie should never have used pcm_u8, it worked until now but it was always wrong (there is no 8 bit stuff whatsoever involved).
therefore I used acodec pcm_u8.
What this does is to actively downconvert the input audio to 8 bit which destroys the encoded dolby bitstream thats hiding in the original PCM audio.
Correct is to use -c:a pcm_s16le -f s16le if your dolbyE stream is 16bit and -c:a pcm_s24le -f s24le if your dolbyE stream is 20 bit.
The following batch should decode dolbyE from any input file in one go and write the decoded channels into a multichannel mkv output.
After saving this to a .bat file on windows, just drag/drop a file on the batch. Make sure ffmpeg is in the PATH (or write the path to ffmpeg in the batch)
REM This batch attempts all possible Channel/Track configurations that are possible to carry DolbyE up to 8 Tracks
REM If the DBE decoder was able to do something, you will find a mkv file with the decoded channels in a single track next to the source file.
REM Note that we have to try everything with 16 and 24bit PCM Codec because the ffmpeg DBE decoder cannot decode 16bit dolbyE in 24bit PCM
REM DolbyE is in Mono PCM Tracks, e.g. XDCAMHD, XAVC...
ffmpeg -i %1 -filter_complex "[0:a:0][0:a:1]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s16le -ar 48000 -f s16le - |ffmpeg -y -i - -codec pcm_s16le "%~dpn1_12.mkv"
ffmpeg -i %1 -filter_complex "[0:a:2][0:a:3]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s16le -ar 48000 -f s16le - |ffmpeg -y -i - -codec pcm_s16le "%~dpn1_34.mkv"
ffmpeg -i %1 -filter_complex "[0:a:4][0:a:5]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s16le -ar 48000 -f s16le - |ffmpeg -y -i - -codec pcm_s16le "%~dpn1_56.mkv"
ffmpeg -i %1 -filter_complex "[0:a:6][0:a:7]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s16le -ar 48000 -f s16le - |ffmpeg -y -i - -codec pcm_s16le "%~dpn1_78.mkv"
REM same with 24bit
ffmpeg -i %1 -filter_complex "[0:a:0][0:a:1]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -f s24le - |ffmpeg -y -i - -codec pcm_s24le "%~dpn1_12.mkv"
ffmpeg -i %1 -filter_complex "[0:a:2][0:a:3]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -f s24le - |ffmpeg -y -i - -codec pcm_s24le "%~dpn1_34.mkv"
ffmpeg -i %1 -filter_complex "[0:a:4][0:a:5]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -f s24le - |ffmpeg -y -i - -codec pcm_s24le "%~dpn1_56.mkv"
ffmpeg -i %1 -filter_complex "[0:a:6][0:a:7]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s24le -ar 48000 -f s24le - |ffmpeg -y -i - -codec pcm_s24le "%~dpn1_78.mkv"
REM DolbyE is in a multichannel Track (e.g. IMX-D10 SD Files with 4 channels, 1 track)
ffmpeg -i %1 -filter_complex "channelmap=map=0|1" -c:a pcm_s16le -ar 48000 -f s16le - | ffmpeg -y -i - -c:a pcm_s16le "%~dpn1_12.mkv"
ffmpeg -i %1 -filter_complex "channelmap=map=2|3" -c:a pcm_s16le -ar 48000 -f s16le - | ffmpeg -y -i - -c:a pcm_s16le "%~dpn1_34.mkv"
ffmpeg -i %1 -filter_complex "channelmap=map=4|5" -c:a pcm_s16le -ar 48000 -f s16le - | ffmpeg -y -i - -c:a pcm_s16le "%~dpn1_56.mkv"
ffmpeg -i %1 -filter_complex "channelmap=map=6|7" -c:a pcm_s16le -ar 48000 -f s16le - | ffmpeg -y -i - -c:a pcm_s16le "%~dpn1_78.mkv"
REM same with 24 bit
ffmpeg -i %1 -filter_complex "channelmap=map=0|1" -c:a pcm_s24le -ar 48000 -f s24le - | ffmpeg -y -i - -c:a pcm_s24le "%~dpn1_12.mkv"
ffmpeg -i %1 -filter_complex "channelmap=map=2|3" -c:a pcm_s24le -ar 48000 -f s24le - | ffmpeg -y -i - -c:a pcm_s24le "%~dpn1_34.mkv"
ffmpeg -i %1 -filter_complex "channelmap=map=4|5" -c:a pcm_s24le -ar 48000 -f s24le - | ffmpeg -y -i - -c:a pcm_s24le "%~dpn1_56.mkv"
ffmpeg -i %1 -filter_complex "channelmap=map=6|7" -c:a pcm_s24le -ar 48000 -f s24le - | ffmpeg -y -i - -c:a pcm_s24le "%~dpn1_78.mkv"
REM DolbyE is in a separate "stereo" track
ffmpeg -i %1 -map 0:1 -c:a pcm_s16le -ar 48000 -f s16le - | ffmpeg -y -i - -codec pcm_s16le "%~dpn1_12.mkv"
ffmpeg -i %1 -map 0:2 -c:a pcm_s16le -ar 48000 -f s16le - | ffmpeg -y -i - -codec pcm_s16le "%~dpn1_34.mkv"
ffmpeg -i %1 -map 0:3 -c:a pcm_s16le -ar 48000 -f s16le - | ffmpeg -y -i - -codec pcm_s16le "%~dpn1_56.mkv"
ffmpeg -i %1 -map 0:4 -c:a pcm_s16le -ar 48000 -f s16le - | ffmpeg -y -i - -codec pcm_s16le "%~dpn1_78.mkv"
REM same with 24bit
ffmpeg -i %1 -map 0:1 -c:a pcm_s24le -ar 48000 -f s24le - | ffmpeg -y -i - -codec pcm_s24le "%~dpn1_12.mkv"
ffmpeg -i %1 -map 0:2 -c:a pcm_s24le -ar 48000 -f s24le - | ffmpeg -y -i - -codec pcm_s24le "%~dpn1_34.mkv"
ffmpeg -i %1 -map 0:3 -c:a pcm_s24le -ar 48000 -f s24le - | ffmpeg -y -i - -codec pcm_s24le "%~dpn1_56.mkv"
ffmpeg -i %1 -map 0:4 -c:a pcm_s24le -ar 48000 -f s24le - | ffmpeg -y -i - -codec pcm_s24le "%~dpn1_78.mkv"
pause
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.