-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
How can I query for the active codec and bandwidth being played in a mixed-codec, multi-period manifest? #6725
Comments
@theodab Since you did this part, I'll let you answer the question. |
@willdharris Does this answer all your questions? If so, would you please close the issue? |
@willdharris Does this answer all your questions? If so, would you please close the issue? |
There is no built-in way to check this. You could use |
I think the mediaqualitychanged events have the information that you are looking for
|
but the solution in #6825 looks cleaner |
@caridley It seems that mediaqualitychanged has many shortcomings... It only works for MP4 with initialization segments and only for DASH. |
Issue #6725 --------- Co-authored-by: Álvaro Velad Galván <[email protected]>
We've added |
Thanks @avelad! These options resolve my question here. If it's an easy add, it would be nice to also have the video width and height returned on the video object in |
Easy enough to add. ...Though everyone who could give me code review is on vacation until next week at the earliest, so it might be some time before it can be merged. |
Have you read the Tutorials?
Yes
Have you read the FAQ and checked for duplicate open issues?
Yes
If the question is related to FairPlay, have you read the tutorial?
N/A
What version of Shaka Player are you using?
4.9.0 and main
What browser and OS are you using?
Chrome Version 125.0.6422.113 (Official Build) (arm64)
macOS Ventura 13.6
Please ask your question
My question is related to Shaka's period flattening and representation matching. During playback, when a variant has multiple codecs that it could change between, is there a way to query for the true codec and bandwidth being played?
During playback, is there a way to access the obfuscated representations during the periods in which they are being played?
Example
pre-roll-1-ad-1
,pre-roll-1-ad-2
,0
.pre-roll-1-ad-1
andpre-roll-1-ad-2
only havehev
andavc
representations, they do not havedvhe
representations.0
hasdvhe
representations.preferredVideoCodes = ['dvhe']
.dvhe
representations, I seehev
representations from the pre-roll periods have been matched to thedvhe
outputStreams as the alternate representations.player.getVariantTracks().find((track) => track.active)
, I will see that advhe
codec variant is playing. I know that is not accurate because the manifest does not havedvhe
representations in the pre-roll periods. If I inspect the network for the segments being download and buffered, I can confirm that it's thehev
segments being played.In the case of the above screenshot, depending on the presentation time, this variant labeled with a
dvhe
codec could be playing anhev
codec with a bandwidth of4.2mb
or it could be playing the actualdvhe
codec with a bandwidth of5.8mb
. Is there a way to access the true codec and bandwidths being played?The text was updated successfully, but these errors were encountered: