Hidden Stream Support (STN_table)

eac3to forked from madshi eac3to 3.36
Post Reply
User avatar
Curly
Posts: 768
Joined: Sun Mar 15, 2020 11:05 am

Hidden Stream Support (STN_table)

Post by Curly »

I've started to implement this. The first thing I noticed by chance is missing playlists. Here is 3.36 listing RATATOUILLE:

Code: Select all

C:\Standalone\eac3to 3.36>eac3to g:\rips\RATATOUILLE
1) 00001.mpls (angle 1), 1:50:33
   [27+28+0+1+2+5+8+9+12+13+16+18+21+17+33+34+49+37+50+40+51+43+52+46+53+56+54+59+55+62+65].m2ts
   - Chapters, 31 chapters
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz

2) 00001.mpls (angle 2), 1:50:33
   [27+29+0+3+2+6+8+10+12+14+16+19+21+31+33+35+49+38+50+41+51+44+52+47+53+57+54+60+55+63+65].m2ts
   - Chapters, 31 chapters
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz

3) 00001.mpls (angle 3), 1:50:33
   [27+30+0+4+2+7+8+11+12+15+16+20+21+32+33+36+49+39+50+42+51+45+52+48+53+58+54+61+55+64+65].m2ts
   - Chapters, 31 chapters
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz

4) 00012.mpls, 00021.m2ts, 0:28:00
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz

5) 00017.mpls, 00033.m2ts, 0:26:23
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz

6) 00137.mpls, 0:50:58
   [143+144+83+145+146+147+148+149+150+151].m2ts
   - Chapters, 18 chapters
   - MPEG2, 480i60 /1.001 (16:9)
   - AC3, English, stereo, 48kHz

7) 00056.mpls, 00081.m2ts+00082.m2ts+00080.m2ts, 0:15:06
   - Chapters, 10 chapters
   - MPEG2, 480i60 /1.001 (16:9)
   - AC3, English, stereo, 48kHz
It's wrong! There is another playlist 143 that is not shown, while DGDemux shows it. Here is 3.45 fixed to show it:

Code: Select all

D:\Don\Programming\Delphi\EAC3TO>eac3to G:\Rips\RATATOUILLE
1) 00001.mpls (angle 1), 1:50:33
   [27+28+0+1+2+5+8+9+12+13+16+18+21+17+33+34+49+37+50+40+51+43+52+46+53+56+54+59+55+62+65].m2ts
   - Chapters, 32 chapters
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz

2) 00001.mpls (angle 2), 1:50:33
   [27+29+0+3+2+6+8+10+12+14+16+19+21+31+33+35+49+38+50+41+51+44+52+47+53+57+54+60+55+63+65].m2ts
   - Chapters, 32 chapters
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz

3) 00001.mpls (angle 3), 1:50:33
   [27+30+0+4+2+7+8+11+12+15+16+20+21+32+33+36+49+39+50+42+51+45+52+48+53+58+54+61+55+64+65].m2ts
   - Chapters, 32 chapters
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz

4) 00143.mpls (angle 1), 1:50:33
   [27+28+0+1+2+5+8+9+12+13+16+18+21+17+33+34+49+37+50+40+51+43+52+46+53+56+54+59+55+62+65].m2ts
   - Chapters, 32 chapters
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz

5) 00143.mpls (angle 2), 1:50:33
   [27+29+0+3+2+6+8+10+12+14+16+19+21+31+33+35+49+38+50+41+51+44+52+47+53+57+54+60+55+63+65].m2ts
   - Chapters, 32 chapters
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz

6) 00143.mpls (angle 3), 1:50:33
   [27+30+0+4+2+7+8+11+12+15+16+20+21+32+33+36+49+39+50+42+51+45+52+48+53+58+54+61+55+64+65].m2ts
   - Chapters, 32 chapters
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz

7) 00137.mpls, 0:50:58
   [143+144+83+145+146+147+148+149+150+151].m2ts
   - Chapters, 19 chapters
   - MPEG2, 480i60 /1.001 (16:9)
   - AC3, English, stereo, 48kHz

8) 00012.mpls, 00021.m2ts, 0:28:00
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz

9) 00017.mpls, 00033.m2ts, 0:26:23
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz

10) 00056.mpls, 00081.m2ts+00082.m2ts+00080.m2ts, 0:15:06
    - Chapters, 11 chapters
    - MPEG2, 480i60 /1.001 (16:9)
    - AC3, English, stereo, 48kHz
The reason 3.36 misses it is because eac3to tries not to show duplicate playlists, but the comparison does not consider the STN_table. MPLS 1 and 143 differ only in the STN_table, i.e., different streams are hidden.

OK, with that out of the way, here is 3.45 with hidden stream marking:

Code: Select all

D:\Don\Programming\Delphi\EAC3TO>eac3to G:\Rips\RATATOUILLE 1)
Running in fast mode
Keeping dialnorm
analyze: 100%
M2TS, 1 video track, 5 audio tracks, 4 subtitle tracks, 1:50:32, 123.814p
1: Chapters, 32 chapters
2: h264/AVC, 1080p24 /1.001 (16:9)
3: RAW/PCM, English, 5.1 channels, 24 bits, 48kHz, dialnorm: 0dB
4: AC3 EX, English, 5.1 channels, 640kbps, 48kHz, dialnorm: -31dB
5: AC3 EX, French, 5.1 channels, 640kbps, 48kHz, dialnorm: -31dB
6: AC3 EX, Spanish, 5.1 channels, 640kbps, 48kHz, dialnorm: -31dB
7: *AC3, English, 2.0 channels, 192kbps, 48kHz, dialnorm: -27dB
8: Subtitle (PGS), English
9: Subtitle (PGS), French
10: Subtitle (PGS), Spanish
11: *Subtitle (PGS), English
Asterisk denotes hidden. All the angles specify the same MPLS, so you get the same results for 2) and 3).

It would be nice to have the marking when just doing "eac3to RATATOUILLE" but currently that top-level listing does not show subs (already on the bug list). I may just leave it this way, haven't decided. Your thoughts? After deciding that, the next step will be an option to not demux hidden streams.
Curly Howard
Director of EAC3TO Development
User avatar
SomeHumanPerson
Posts: 96
Joined: Fri Mar 24, 2023 10:41 am

Hidden Stream Support (STN_table)

Post by SomeHumanPerson »

:bravo: Great work!


Curly wrote:It would be nice to have the marking when just doing "eac3to RATATOUILLE" but currently that top-level listing does not show subs (already on the bug list). I may just leave it this way, haven't decided. Your thoughts?
That's a tough call. Some discs (often Warner, Universal, Paramount, Sony) have so many subtitle languages that if you include them in the top level display, it becomes horribly cluttered.

On the other hand, if hidden playlists are enabled, and you have duplicate playlists that differ only by certain hidden subtitle tracks, then it's going to be annoying to figure that out (either analyze each one then scroll back and forth between the results, or open two windows side-by-side, or some play on that approach).

My first thought was, maybe show only the hidden subtitle tracks in the top level display. But that doesn't make sense, either in general (just confusing), or in the case of a playlist with mostly hidden tracks (I see this in the "Japanese" playlist quite often -- everything but the Japanese subs are marked as hidden) where you still get the clutter problem.

What about... at least showing a count of hidden and non-hidden subtitle tracks in the top level display? I have no idea how difficult that would be to implement with eac3to's codebase but it seems generally simple in concept.

The output might look something like this (see my addition at the bottom):

Code: Select all

6) 00143.mpls (angle 3), 1:50:33
   [27+30+0+4+2+7+8+11+12+15+16+20+21+32+33+36+49+39+50+42+51+45+52+48+53+58+54+61+55+64+65].m2ts
   - Chapters, 32 chapters
   - h264/AVC, 1080p24 /1.001 (16:9)
   - RAW/PCM, English, multi-channel, 48kHz
   - AC3, English, multi-channel, 48kHz
   - AC3, French, multi-channel, 48kHz
   - AC3, Spanish, multi-channel, 48kHz
   - AC3, English, stereo, 48kHz
   - Subtitle (PGS), 3 language(s) + 1 hidden language(s)
Does that seem like a reasonable compromise and/or a workable feature?

On the cosmetic aspect, maybe "tracks" would be preferred over "languages", maybe the first number should be a "total" that includes the hidden count (e.g. "4 track(s) total, 1 hidden* ")...



Changing the subject, I notice that your playlist analysis of playlist 1 shows 123.814p ... :wow:

Any idea what's going on there?
User avatar
Curly
Posts: 768
Joined: Sun Mar 15, 2020 11:05 am

Hidden Stream Support (STN_table)

Post by Curly »

Thank you. Yeah, I guess the clutter issue is the reason it was done that way. I'm going to leave things as they are for now because TBH I have lots more important things to do. Your suggestion remains on the table for the future.

Good eyes on spotting the 123.814p. I'll fix it.

I also don't like "1080p24 /1001", i.e., the extra space in there. I'll fix that too.
Curly Howard
Director of EAC3TO Development
User avatar
Curly
Posts: 768
Joined: Sun Mar 15, 2020 11:05 am

Hidden Stream Support (STN_table)

Post by Curly »

Hardy har har, the new STN_table support is already paying off. I noticed using the new support that for JFK_DIRECTORS_CUT the DV stream is hidden (confirmed by BDInfo). So I checked with DGDemux and found that we don't have hidden marking for video, only for audio and subs. I'll tell the rock star about it.
Curly Howard
Director of EAC3TO Development
User avatar
SomeHumanPerson
Posts: 96
Joined: Fri Mar 24, 2023 10:41 am

Hidden Stream Support (STN_table)

Post by SomeHumanPerson »

Curly wrote:
Fri Jan 12, 2024 6:51 am
So I checked with DGDemux and found that we don't have hidden marking for video, only for audio and subs. I'll tell the rock star about it.
:popcorn:
User avatar
Rocky
Posts: 3754
Joined: Fri Sep 06, 2019 12:57 pm

Hidden Stream Support (STN_table)

Post by Rocky »

You better have popped that popcorn in lard, tallow, or coconut oil. If you used vegetable (seed) oil, like corn oil, you are poisoning yourself and will die young.

I already fixed DGDemux to show hidden on the video streams. Will make a slipstream after the hubblec4 upload finishes. Don't want to risk interrupting it.
Post Reply