Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing variants in Multi-period DASH VOD with mixed codecs #6820

Open
willdharris opened this issue Jun 13, 2024 · 1 comment · May be fixed by #6835
Open

Missing variants in Multi-period DASH VOD with mixed codecs #6820

willdharris opened this issue Jun 13, 2024 · 1 comment · May be fixed by #6835
Assignees
Labels
component: DASH The issue involves the MPEG DASH manifest format priority: P1 Big impact or workaround impractical; resolve before feature release type: bug Something isn't working correctly
Milestone

Comments

@willdharris
Copy link
Contributor

Have you read the FAQ and checked for duplicate open issues?
yes

If the problem is related to FairPlay, have you read the tutorial?

n/a

What version of Shaka Player are you using?

4.9.4 and main

Can you reproduce the issue with our latest release version?
yes

Can you reproduce the issue with the latest code from main?
yes

Are you using the demo app or your own custom app?
custom

If custom app, can you reproduce the issue using our demo app?
yes

What browser and OS are you using?
LG TV WebOS / Chrome 87 (reproducible with other HEVC supported devices).

For embedded devices (smart TVs, etc.), what model and firmware version are you using?
LG UQ7590PUB 03.34.00

What are the manifest and license server URIs?

Can send via email.

What configuration are you using? What is the output of player.getConfiguration()?

preferredVideoCodecs = ['hvc'];
preferredAudioCodecs = ['mp4a'];

What did you do?

  • Configure the player with preferredVideoCodecs = ['hvc'];.

  • Play a DAI DASH VOD manifest with 2 pre-roll periods and 1 content period.

    • All periods have HEVC representations, but the pre-roll HEVC representations use the hev format and the content period uses the hvc format. For example:
      Pre-roll representation
      <Representation width="1280" height="720" frameRate="24000/1001" mimeType="video/mp4" codecs="hev1.2.4.L93.90" id="6" bandwidth="1998000">
      Content representation
      <Representation width="1280" height="720" sar="1:1" mimeType="video/mp4" codecs="hvc1.2.4.L93.90" id="14" bandwidth="2585563">
  • The content period has total of 8 hvc representations, with resolution heights of 240, 360, 544, 720, 1080, 1440, 2160 @ 10mb, 2160 @ 17mb.

What did you expect to happen?
I would expect the player to create 8 video variants, one for each hvc representation in the manifest.

What actually happened?

The player only creates 3 video variants, which include the 240, 544, and 2160 @ 17mb heights.

shaka-hvc-3

When setting preferredVideoCodecs = ['hev']; (instead of hvc) with the same manifest, 17 video variants are created. 11 for the hev1.2 profile representations and 6 for the hev1.1 representations. Since period combining matches hev and hvc, I would expect preferredVideoCodecs = ['hvc'] to provide something closer to the preferredVideoCodecs = ['hev'] output.

shaka-hev-17

Are you planning send a PR to fix it?
yes

@dsparacio
Copy link
Contributor

Just to note, for DVHE codec, mixed with DAI HEV codec for ads, you must set preferredVideoCodec to "dvhe" to get the proper bitrate ladder and selection of desired codec. As Will has pointed out above, this was not the case for DAI content when we are targeting HVC instead of DVHE.

@avelad avelad added priority: P1 Big impact or workaround impractical; resolve before feature release component: DASH The issue involves the MPEG DASH manifest format labels Jun 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: DASH The issue involves the MPEG DASH manifest format priority: P1 Big impact or workaround impractical; resolve before feature release type: bug Something isn't working correctly
Projects
None yet
4 participants