VideoHelp Forum

+ Reply to Thread
Results 1 to 4 of 4
Thread
  1. Member
    Join Date
    Jan 2022
    Location
    sweden
    Search PM
    Hello

    is there a way get pssh from an MPD which doesn't have Default kid ? I heard that it can be done via mp4dump & bento from 1st fragement , but I would like to learn more info how that can I do it , will appreciate .

    <?xml version="1.0" encoding="utf-8"?>
    <!-- Created with Broadpeak BkS350 Origin Packager (version=1.11.3-24483) -->
    <MPD xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dashchema:mpd:2011" xsichemaLocation="urn:mpeg:dashchema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" type="dynamic" availabilityStartTime="1970-01-01T00:00:00Z" publishTime="2022-06-28T23:54:18Z" minimumUpdatePeriod="PT2S" timeShiftBufferDepth="PT48.0S" maxSegmentDuration="PT2S" minBufferTime="PT2S" profiles="urn:mpeg:dashrofile:isoff-live:2011,urn:com:dashif:dash264">
    <Period id="1" start="PT0S">

    <AdaptationSet id="1" group="1" contentType="audio" lang="en" segmentAlignment="true" audioSamplingRate="48000" mimeType="audio/mp4" codecs="mp4a.40.2" startWithSAP="1">
    <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_c onfiguration:2011" value="2"/>
    <InbandEventStream schemeIdUri="urn:de:dtag:eit:2017" value="18">
    </InbandEventStream>
    <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
    <SegmentTemplate timescale="48000" initialization="RedBull_HD-$RepresentationID$.dash?hw_dash=1&amp;servicetype= 1" media="RedBull_HD-$RepresentationID$-$Time$.dash?hw_dash=1&amp;servicetype=1">
    <!-- 2022-06-28T23:54:05.445437Z / 1656460445 - 2022-06-28T23:54:20.805437Z -->
    <SegmentTimeline>
    <S t="79510099906821" d="92160" r="23"/>
    </SegmentTimeline>
    </SegmentTemplate>
    <Representation id="audio_128513_eng=128000" bandwidth="128000">
    </Representation>
    <ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011"/>
    <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="PlayReady">
    </ContentProtection>
    <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" value="Widevine">
    </ContentProtection>
    </AdaptationSet>
    <AdaptationSet id="2" group="2" contentType="video" par="16:9" minBandwidth="576400" maxBandwidth="7640800" maxWidth="1920" maxHeight="1080" minFrameRate="25" maxFrameRate="50" segmentAlignment="true" sar="1:1" mimeType="video/mp4" startWithSAP="1">
    <InbandEventStream schemeIdUri="urn:de:dtag:eit:2017" value="18">
    </InbandEventStream>
    <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
    <SegmentTemplate timescale="600" initialization="RedBull_HD-$RepresentationID$.dash?hw_dash=1&amp;servicetype= 1" media="RedBull_HD-$RepresentationID$-$Time$.dash?hw_dash=1&amp;servicetype=1">
    <!-- 2022-06-28T23:54:05.431666Z / 1656460445 - 2022-06-28T23:54:20.791666Z -->
    <SegmentTimeline>
    <S t="993876248827" d="1152" r="23"/>
    </SegmentTimeline>
    </SegmentTemplate>
    <Representation id="video=576400" bandwidth="576400" width="480" height="270" frameRate="25" codecs="avc1.640015" scanType="progressive">
    </Representation>
    <Representation id="video=1138400" bandwidth="1138400" width="640" height="360" frameRate="25" codecs="avc1.64001E" scanType="progressive">
    </Representation>
    <Representation id="video=2276800" bandwidth="2276800" width="960" height="540" frameRate="50" codecs="avc1.64001F" scanType="progressive">
    </Representation>
    <Representation id="video=4320400" bandwidth="4320400" width="1280" height="720" frameRate="50" codecs="avc1.640020" scanType="progressive">
    </Representation>
    <Representation id="video=7640800" bandwidth="7640800" width="1920" height="1080" frameRate="50" codecs="avc1.64002A" scanType="progressive">
    </Representation>
    <ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011"/>
    <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="PlayReady">
    </ContentProtection>
    <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" value="Widevine">
    </ContentProtection>
    </AdaptationSet>
    </Period>
    <UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-iso:2014" value="https://time.akamai.com/?iso"/>
    </MPD>
    thank you
    Last edited by chomako; 28th Jun 2022 at 19:04.
    Quote Quote  
  2. Kindly post the top url


    Is there a way get pssh from an MPD which doesn't have Default kid ? No

    Maybe the init.mp4 file or eme browser addon

    I would like to learn more info how that can I do it
    This is usually accomplished via lots of reading and studying
    Last edited by jack_666; 28th Jun 2022 at 20:18.
    Quote Quote  
  3. Psychology student
    Join Date
    Apr 2022
    Location
    Mainland China
    Search Comp PM
    It seems that the MPD file doesn't include any default_KID value that is crucial to request the key,
    You can install a web script called "EME Logger"
    After you reached the video page, I mean the website on which you get the MPD file,
    Open your developer tool by pressing F12, open your console, and you'll see many meaningless characters.
    Under one called "generate-request", there will be the PSSH that you will need.

    Sometimes the "general request" is so long, that you should convert those characters from base64 to hex, extract some information, and reconvert it back to base64 again.
    In the end, it is your PSSH value.

    Enjoy
    Last edited by CrymanChen; 1st Jul 2022 at 06:35.
    Quote Quote  



Similar Threads