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

DASH+PlayReady Issue with Media Source Format - 'media.err.src.not.supported' #1488

Open
nicoonee opened this issue Nov 20, 2023 · 1 comment

Comments

@nicoonee
Copy link

nicoonee commented Nov 20, 2023

Hello Kaltura Nginx VOD Module maintainers,

I've encountered an issue with media playback that results in a 'media.err.src.not.supported' error. Here are the details of the error:

code: 208
type: "media.err.src.not.supported"
message: "DEMUXER_ERROR_COULD_NOT_OPEN: MediaFoundationRenderer error: kOnPlaybackError (Error (0x13D) while retrieving error. (0x8004110E))"
renderer: "DASH"
originalEvent: MediaError

This error occurs when trying to play a DASH formatted stream with Playready on the Edge browser on Windows 11 pro. Notably, the same DASH stream works correctly when using Widevine for the very same stream on same machine using Chrome, which suggests that the format itself is not the issue. However, the demuxer is unable to open the media source with Playready.

Here are some additional details that might be helpful:

My nginx.conf:

DASH

    location ~ ^/video/vod/(?:\d+/)+(?<content_id>\d+)/video\.ism/(?:video\.mpd|nv-dash-) {
        access_log /var/log/nginx/kaltura_nginx_access.log main;
        set $content_id $1;
        vod dash;
        vod_dash_manifest_file_name_prefix video;
        vod_dash_init_file_name_prefix nv-dash-init-vod4;
        vod_dash_fragment_file_name_prefix nv-dash-frag-vod4;
        vod_dash_absolute_manifest_urls off;
        vod_dash_manifest_format segmenttimeline;
        vod_dash_init_mp4_pssh on;

        # Multi-DRM configuration
        vod_drm_enabled on;
        vod_drm_clear_lead_segment_count 0;
        vod_drm_upstream_location /drminfo;
        vod_drm_request_uri "/$content_id/multi";
    }

Player receive a proper Playready License but has issue to play the content. Issue is on all the players and dash-if included. I’ve tested it on two different license servers including Axinom. Please help.

Thank you for your support.

@erankor
Copy link
Contributor

erankor commented Dec 2, 2023

Unfortunately, with DRM it's very hard to diagnose where the problem lies, it usually involves guessing + trial & error.
One possible cause for the issue you describe is that in PlayReady the key id is treated as a GUID, while other systems treat it as an array of 16 bytes. They are not the same due to endian differences - the GUID struct is composed of DWORD, 2xWORDs, 8xBYTEs. When generating a PlayReady license you may need to flip the bytes 0-3, 1-2, 4-5, 6-7 of the key id.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants