Update Encrypted Tests to Use DiffDir

This changes almost all encrypted tests to use DiffDir. The remaining
un-updated tests are tests that won't match every time.

Change-Id: I858bbaa0beea34887cc3100eb784aa2aecd5a0a5
This commit is contained in:
Aaron Vaage 2018-03-07 11:24:52 -08:00
parent fb2dfe129c
commit 631bbdc883
53 changed files with 231 additions and 81 deletions

View File

@ -718,9 +718,7 @@ class PackagerFunctionalTest(PackagerAppTest):
self.assertPackageSuccess( self.assertPackageSuccess(
self._GetStreams(['audio', 'video']), self._GetStreams(['audio', 'video']),
self._GetFlags(encryption=True)) self._GetFlags(encryption=True))
self._DiffGold(self.output[0], 'bear-640x360-a-cenc-golden.mp4') self._CheckTestResults('encryption')
self._DiffGold(self.output[1], 'bear-640x360-v-cenc-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-640x360-av-cenc-golden.mpd')
self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4') self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4')
self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4') self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4')
@ -734,9 +732,7 @@ class PackagerFunctionalTest(PackagerAppTest):
self.encryption_iv) self.encryption_iv)
] ]
self.assertPackageSuccess(self._GetStreams(['audio', 'video']), flags) self.assertPackageSuccess(self._GetStreams(['audio', 'video']), flags)
self._DiffGold(self.output[0], 'bear-640x360-a-cenc-golden.mp4') self._CheckTestResults('encryption-using-fixed-key')
self._DiffGold(self.output[1], 'bear-640x360-v-cenc-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-640x360-av-cenc-golden.mpd')
self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4') self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4')
self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4') self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4')
@ -753,6 +749,7 @@ class PackagerFunctionalTest(PackagerAppTest):
self.clear_lead), '--iv={0}'.format(self.encryption_iv) self.clear_lead), '--iv={0}'.format(self.encryption_iv)
] ]
self.assertPackageSuccess(self._GetStreams(['audio', 'video']), flags) self.assertPackageSuccess(self._GetStreams(['audio', 'video']), flags)
self._CheckTestResults('encryption-multi-keys')
self.encryption_key_id = audio_key_id self.encryption_key_id = audio_key_id
self.encryption_key = audio_key self.encryption_key = audio_key
@ -781,6 +778,7 @@ class PackagerFunctionalTest(PackagerAppTest):
] ]
self.assertPackageSuccess(streams, flags) self.assertPackageSuccess(streams, flags)
self._CheckTestResults('encryption-multi-keys-with-stream-label')
self.encryption_key_id = audio_key_id self.encryption_key_id = audio_key_id
self.encryption_key = audio_key self.encryption_key = audio_key
@ -797,10 +795,7 @@ class PackagerFunctionalTest(PackagerAppTest):
flags = self._GetFlags(encryption=True) flags = self._GetFlags(encryption=True)
self.assertPackageSuccess(streams, flags) self.assertPackageSuccess(streams, flags)
self._CheckTestResults('encryption-of-only-video-stream')
self._DiffGold(self.output[0], 'bear-640x360-a-golden.mp4')
self._DiffGold(self.output[1], 'bear-640x360-v-cenc-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-640x360-a-clear-v-cenc-golden.mpd')
self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4') self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4')
def testPackageEncryptionAndTrickPlay(self): def testPackageEncryptionAndTrickPlay(self):
@ -811,10 +806,7 @@ class PackagerFunctionalTest(PackagerAppTest):
] ]
self.assertPackageSuccess(streams, self._GetFlags(encryption=True)) self.assertPackageSuccess(streams, self._GetFlags(encryption=True))
self._DiffGold(self.output[0], 'bear-640x360-a-cenc-golden.mp4') self._CheckTestResults('encryption-and-trick-play')
self._DiffGold(self.output[1], 'bear-640x360-v-cenc-golden.mp4')
self._DiffGold(self.output[2], 'bear-640x360-v-trick-1-cenc-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-640x360-av-trick-1-cenc-golden.mpd')
self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4') self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4')
self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4') self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4')
self._VerifyDecryption(self.output[2], 'bear-640x360-v-trick-1-golden.mp4') self._VerifyDecryption(self.output[2], 'bear-640x360-v-trick-1-golden.mp4')
@ -830,27 +822,21 @@ class PackagerFunctionalTest(PackagerAppTest):
] ]
self.assertPackageSuccess(streams, self._GetFlags(encryption=True)) self.assertPackageSuccess(streams, self._GetFlags(encryption=True))
self._DiffGold(self.output[0], 'bear-640x360-a-cenc-golden.mp4') self._CheckTestResults('encryption-and-two-trick-plays')
self._DiffGold(self.output[1], 'bear-640x360-v-cenc-golden.mp4')
self._DiffGold(self.output[2], 'bear-640x360-v-trick-1-cenc-golden.mp4')
self._DiffGold(self.output[3], 'bear-640x360-v-trick-2-cenc-golden.mp4')
self._DiffGold(self.mpd_output,
'bear-640x360-av-trick-1-trick-2-cenc-golden.mpd')
self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4') self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4')
self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4') self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4')
self._VerifyDecryption(self.output[2], 'bear-640x360-v-trick-1-golden.mp4') self._VerifyDecryption(self.output[2], 'bear-640x360-v-trick-1-golden.mp4')
self._VerifyDecryption(self.output[3], 'bear-640x360-v-trick-2-golden.mp4') self._VerifyDecryption(self.output[3], 'bear-640x360-v-trick-2-golden.mp4')
def testPackageEncryptionAndNoClearLead(self): def testPackageEncryptionAndNoClearLead(self):
streams = [
self._GetStream('audio'),
self._GetStream('video')
]
self.clear_lead = 0 self.clear_lead = 0
self.assertPackageSuccess( self.assertPackageSuccess(streams, self._GetFlags(encryption=True))
self._GetStreams(['audio', 'video']), self._GetFlags(encryption=True)) self._CheckTestResults('encryption-and-no-clear-lead')
self._DiffGold(self.output[0],
'bear-640x360-a-cenc-no-clear-lead-golden.mp4')
self._DiffGold(self.output[1],
'bear-640x360-v-cenc-no-clear-lead-golden.mp4')
self._DiffGold(self.mpd_output,
'bear-640x360-av-cenc-no-clear-lead-golden.mpd')
self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4') self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4')
self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4') self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4')
@ -858,9 +844,7 @@ class PackagerFunctionalTest(PackagerAppTest):
self.assertPackageSuccess( self.assertPackageSuccess(
self._GetStreams(['audio', 'video']), self._GetStreams(['audio', 'video']),
self._GetFlags(encryption=True, include_pssh_in_stream=False)) self._GetFlags(encryption=True, include_pssh_in_stream=False))
self._DiffGold(self.output[0], 'bear-640x360-a-cenc-no-pssh-golden.mp4') self._CheckTestResults('encryption-and-no-pssh-in-stream')
self._DiffGold(self.output[1], 'bear-640x360-v-cenc-no-pssh-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-640x360-av-cenc-no-pssh-golden.mpd')
self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4') self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4')
self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4') self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4')
@ -869,9 +853,7 @@ class PackagerFunctionalTest(PackagerAppTest):
self._GetStreams(['audio', 'video']), self._GetStreams(['audio', 'video']),
self._GetFlags(encryption=True, self._GetFlags(encryption=True,
protection_scheme='cbc1')) protection_scheme='cbc1'))
self._DiffGold(self.output[0], 'bear-640x360-a-cbc1-golden.mp4') self._CheckTestResults('encryption-cbc-1')
self._DiffGold(self.output[1], 'bear-640x360-v-cbc1-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-640x360-av-cbc1-golden.mpd')
self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4') self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4')
self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4') self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4')
@ -880,9 +862,7 @@ class PackagerFunctionalTest(PackagerAppTest):
self._GetStreams(['audio', 'video']), self._GetStreams(['audio', 'video']),
self._GetFlags(encryption=True, self._GetFlags(encryption=True,
protection_scheme='cens')) protection_scheme='cens'))
self._DiffGold(self.output[0], 'bear-640x360-a-cens-golden.mp4') self._CheckTestResults('encryption-cens')
self._DiffGold(self.output[1], 'bear-640x360-v-cens-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-640x360-av-cens-golden.mpd')
self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4') self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4')
self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4') self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4')
@ -901,30 +881,33 @@ class PackagerFunctionalTest(PackagerAppTest):
self.assertPackageSuccess( self.assertPackageSuccess(
self._GetStreams(['audio', 'video']), self._GetStreams(['audio', 'video']),
self._GetFlags(encryption=True, ad_cues='1.5')) self._GetFlags(encryption=True, ad_cues='1.5'))
self._DiffGold(self.output[0], 'bear-640x360-a-cenc-golden.mp4') self._CheckTestResults('encryption-and-ad-cues')
self._DiffGold(self.output[1], 'bear-640x360-v-cenc-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-640x360-av-cenc-ad_cues-golden.mpd')
self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4') self._VerifyDecryption(self.output[0], 'bear-640x360-a-demuxed-golden.mp4')
self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4') self._VerifyDecryption(self.output[1], 'bear-640x360-v-golden.mp4')
def testPackageWebmSubsampleEncryption(self): def testPackageWebmSubsampleEncryption(self):
self.assertPackageSuccess( streams = [
self._GetStreams(['video'], self._GetStream('video',
output_format='webm', output_format='webm',
test_files=['bear-320x180-vp9-altref.webm']), test_file='bear-320x180-vp9-altref.webm')
self._GetFlags(encryption=True)) ]
self._DiffGold(self.output[0], 'bear-320x180-vp9-altref-enc-golden.webm') self.assertPackageSuccess(streams, self._GetFlags(encryption=True))
self._CheckTestResults('webm-subsample-encryption')
self._VerifyDecryption(self.output[0], self._VerifyDecryption(self.output[0],
'bear-320x180-vp9-altref-dec-golden.webm') 'bear-320x180-vp9-altref-dec-golden.webm')
def testPackageWebmVp9FullSampleEncryption(self): def testPackageWebmVp9FullSampleEncryption(self):
self.assertPackageSuccess( streams = [
self._GetStreams(['video'], self._GetStream('video',
output_format='webm', output_format='webm',
test_files=['bear-320x180-vp9-altref.webm']), test_file='bear-320x180-vp9-altref.webm')
self._GetFlags(encryption=True, vp9_subsample_encryption=False)) ]
self._DiffGold(self.output[0], flags = self._GetFlags(
'bear-320x180-vp9-fullsample-enc-golden.webm') encryption=True,
vp9_subsample_encryption=False)
self.assertPackageSuccess(streams, flags)
self._CheckTestResults('webm-vp9-full-sample-encryption')
self._VerifyDecryption(self.output[0], self._VerifyDecryption(self.output[0],
'bear-320x180-vp9-altref-dec-golden.webm') 'bear-320x180-vp9-altref-dec-golden.webm')
@ -981,43 +964,52 @@ class PackagerFunctionalTest(PackagerAppTest):
'avc-ts-with-encryption-exercise-emulation-prevention') 'avc-ts-with-encryption-exercise-emulation-prevention')
def testPackageWebmWithEncryption(self): def testPackageWebmWithEncryption(self):
self.assertPackageSuccess( streams = [
self._GetStreams(['video'], self._GetStream('video',
output_format='webm', output_format='webm',
test_files=['bear-640x360.webm']), test_file='bear-640x360.webm')
self._GetFlags(encryption=True)) ]
self._DiffGold(self.output[0], 'bear-640x360-vp8-cenc-golden.webm') flags = self._GetFlags(encryption=True)
self._DiffGold(self.mpd_output, 'bear-640x360-vp8-cenc-webm-golden.mpd')
self.assertPackageSuccess(streams, flags)
self._CheckTestResults('webm-with-encryption')
self._VerifyDecryption(self.output[0], 'bear-640x360-vp8-golden.webm') self._VerifyDecryption(self.output[0], 'bear-640x360-vp8-golden.webm')
def testPackageHevcWithEncryption(self): def testPackageHevcWithEncryption(self):
self.assertPackageSuccess( streams = [
self._GetStreams(['video'], self._GetStream('video', test_file='bear-640x360-hevc.mp4')
test_files=['bear-640x360-hevc.mp4']), ]
self._GetFlags(encryption=True)) flags = self._GetFlags(encryption=True)
self._DiffGold(self.output[0], 'bear-640x360-hevc-cenc-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-640x360-hevc-cenc-golden.mpd') self.assertPackageSuccess(streams, flags)
self._CheckTestResults('hevc-with-encryption')
self._VerifyDecryption(self.output[0], 'bear-640x360-hevc-golden.mp4') self._VerifyDecryption(self.output[0], 'bear-640x360-hevc-golden.mp4')
def testPackageVp8Mp4WithEncryption(self): def testPackageVp8Mp4WithEncryption(self):
self.assertPackageSuccess( streams = [
self._GetStreams(['video'], self._GetStream('video',
output_format='mp4', output_format='mp4',
test_files=['bear-640x360.webm']), test_file='bear-640x360.webm')
self._GetFlags(encryption=True)) ]
self._DiffGold(self.output[0], 'bear-640x360-vp8-cenc-golden.mp4') flags = self._GetFlags(encryption=True)
self._DiffGold(self.mpd_output, 'bear-640x360-vp8-cenc-golden.mpd')
self.assertPackageSuccess(streams, flags)
self._CheckTestResults('vp8-mp4-with-encryption')
self._VerifyDecryption(self.output[0], 'bear-640x360-vp8-golden.mp4') self._VerifyDecryption(self.output[0], 'bear-640x360-vp8-golden.mp4')
def testPackageOpusVp9Mp4WithEncryption(self): def testPackageOpusVp9Mp4WithEncryption(self):
self.assertPackageSuccess( streams = [
self._GetStreams(['audio', 'video'], self._GetStream('audio',
output_format='mp4', output_format='mp4',
test_files=['bear-320x240-vp9-opus.webm']), test_file='bear-320x240-vp9-opus.webm'),
self._GetFlags(encryption=True)) self._GetStream('video',
self._DiffGold(self.output[0], 'bear-320x240-opus-cenc-golden.mp4') output_format='mp4',
self._DiffGold(self.output[1], 'bear-320x240-vp9-cenc-golden.mp4') test_file='bear-320x240-vp9-opus.webm'),
self._DiffGold(self.mpd_output, 'bear-320x240-opus-vp9-cenc-golden.mpd') ]
flags = self._GetFlags(encryption=True)
self.assertPackageSuccess(streams, flags)
self._CheckTestResults('opus-vp9-mp4-with-encryption')
self._VerifyDecryption(self.output[0], 'bear-320x240-opus-golden.mp4') self._VerifyDecryption(self.output[0], 'bear-320x240-opus-golden.mp4')
self._VerifyDecryption(self.output[1], 'bear-320x240-vp9-golden.mp4') self._VerifyDecryption(self.output[1], 'bear-320x240-vp9-golden.mp4')

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" minBufferTime="PT2S" type="static" mediaPresentationDuration="PT2.73607S">
<Period id="0">
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" subsegmentAlignment="true" par="16:9">
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="10111213-1415-1617-1819-202122232425"/>
<ContentProtection schemeIdUri="urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b">
<cenc:pssh>AAAARHBzc2gBAAAAEHfv7MCyTQKs4zweUuL7SwAAAAIQERITFBUWFxgZICEiIyQlICEiIyQlJicoKTAxMjM0NQAAAAA=</cenc:pssh>
</ContentProtection>
<Representation id="0" bandwidth="885637" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1">
<BaseURL>bear-640x360-video.mp4</BaseURL>
<SegmentBase indexRange="1107-1174" timescale="30000">
<Initialization range="0-1106"/>
</SegmentBase>
</Representation>
</AdaptationSet>
<AdaptationSet id="1" contentType="audio" subsegmentAlignment="true">
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="20212223-2425-2627-2829-303132333435"/>
<ContentProtection schemeIdUri="urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b">
<cenc:pssh>AAAARHBzc2gBAAAAEHfv7MCyTQKs4zweUuL7SwAAAAIQERITFBUWFxgZICEiIyQlICEiIyQlJicoKTAxMjM0NQAAAAA=</cenc:pssh>
</ContentProtection>
<Representation id="1" bandwidth="129232" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<BaseURL>bear-640x360-audio.mp4</BaseURL>
<SegmentBase indexRange="983-1050" timescale="44100">
<Initialization range="0-982"/>
</SegmentBase>
</Representation>
</AdaptationSet>
</Period>
</MPD>

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" minBufferTime="PT2S" type="static" mediaPresentationDuration="PT2.73607S">
<Period id="0">
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" subsegmentAlignment="true" par="16:9">
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="20212223-2425-2627-2829-303132333435"/>
<ContentProtection schemeIdUri="urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b">
<cenc:pssh>AAAARHBzc2gBAAAAEHfv7MCyTQKs4zweUuL7SwAAAAIQERITFBUWFxgZICEiIyQlICEiIyQlJicoKTAxMjM0NQAAAAA=</cenc:pssh>
</ContentProtection>
<Representation id="0" bandwidth="885637" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1">
<BaseURL>bear-640x360-video.mp4</BaseURL>
<SegmentBase indexRange="1107-1174" timescale="30000">
<Initialization range="0-1106"/>
</SegmentBase>
</Representation>
</AdaptationSet>
<AdaptationSet id="1" contentType="audio" subsegmentAlignment="true">
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="10111213-1415-1617-1819-202122232425"/>
<ContentProtection schemeIdUri="urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b">
<cenc:pssh>AAAARHBzc2gBAAAAEHfv7MCyTQKs4zweUuL7SwAAAAIQERITFBUWFxgZICEiIyQlICEiIyQlJicoKTAxMjM0NQAAAAA=</cenc:pssh>
</ContentProtection>
<Representation id="1" bandwidth="129232" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<BaseURL>bear-640x360-audio.mp4</BaseURL>
<SegmentBase indexRange="983-1050" timescale="44100">
<Initialization range="0-982"/>
</SegmentBase>
</Representation>
</AdaptationSet>
</Period>
</MPD>

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" minBufferTime="PT2S" type="static" mediaPresentationDuration="PT2.73607S">
<Period id="0">
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" subsegmentAlignment="true" par="16:9">
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
<ContentProtection schemeIdUri="urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b">
<cenc:pssh>AAAANHBzc2gBAAAAEHfv7MCyTQKs4zweUuL7SwAAAAExMjM0NTY3ODkwMTIzNDU2AAAAAA==</cenc:pssh>
</ContentProtection>
<Representation id="0" bandwidth="885590" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1">
<BaseURL>bear-640x360-video.mp4</BaseURL>
<SegmentBase indexRange="1091-1158" timescale="30000">
<Initialization range="0-1090"/>
</SegmentBase>
</Representation>
</AdaptationSet>
<AdaptationSet id="1" contentType="audio" subsegmentAlignment="true">
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
<ContentProtection schemeIdUri="urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b">
<cenc:pssh>AAAANHBzc2gBAAAAEHfv7MCyTQKs4zweUuL7SwAAAAExMjM0NTY3ODkwMTIzNDU2AAAAAA==</cenc:pssh>
</ContentProtection>
<Representation id="1" bandwidth="129185" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<BaseURL>bear-640x360-audio.mp4</BaseURL>
<SegmentBase indexRange="967-1034" timescale="44100">
<Initialization range="0-966"/>
</SegmentBase>
</Representation>
</AdaptationSet>
</Period>
</MPD>

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" minBufferTime="PT2S" type="static" mediaPresentationDuration="PT2.73607S">
<Period id="0">
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" subsegmentAlignment="true" par="16:9">
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
<ContentProtection schemeIdUri="urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b">
<cenc:pssh>AAAANHBzc2gBAAAAEHfv7MCyTQKs4zweUuL7SwAAAAExMjM0NTY3ODkwMTIzNDU2AAAAAA==</cenc:pssh>
</ContentProtection>
<Representation id="0" bandwidth="885590" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1">
<BaseURL>bear-640x360-video.mp4</BaseURL>
<SegmentBase indexRange="1091-1158" timescale="30000">
<Initialization range="0-1090"/>
</SegmentBase>
</Representation>
</AdaptationSet>
<AdaptationSet id="1" contentType="audio" subsegmentAlignment="true">
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
<ContentProtection schemeIdUri="urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b">
<cenc:pssh>AAAANHBzc2gBAAAAEHfv7MCyTQKs4zweUuL7SwAAAAExMjM0NTY3ODkwMTIzNDU2AAAAAA==</cenc:pssh>
</ContentProtection>
<Representation id="1" bandwidth="129185" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<BaseURL>bear-640x360-audio.mp4</BaseURL>
<SegmentBase indexRange="967-1034" timescale="44100">
<Initialization range="0-966"/>
</SegmentBase>
</Representation>
</AdaptationSet>
</Period>
</MPD>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" minBufferTime="PT2S" type="static" mediaPresentationDuration="PT2.769S">
<Period id="0">
<AdaptationSet id="0" contentType="video" width="320" height="180" frameRate="1000000/33000" subsegmentAlignment="true" par="16:9">
<ContentProtection schemeIdUri="urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b" cenc:default_KID="31323334-3536-3738-3930-313233343536">
<cenc:pssh>AAAANHBzc2gBAAAAEHfv7MCyTQKs4zweUuL7SwAAAAExMjM0NTY3ODkwMTIzNDU2AAAAAA==</cenc:pssh>
</ContentProtection>
<Representation id="0" bandwidth="185084" codecs="vp9" mimeType="video/webm" sar="1:1">
<BaseURL>bear-320x180-vp9-altref-video.webm</BaseURL>
<SegmentBase indexRange="353-371" timescale="1000000">
<Initialization range="0-352"/>
</SegmentBase>
</Representation>
</AdaptationSet>
</Period>
</MPD>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" minBufferTime="PT2S" type="static" mediaPresentationDuration="PT2.769S">
<Period id="0">
<AdaptationSet id="0" contentType="video" width="320" height="180" frameRate="1000000/33000" subsegmentAlignment="true" par="16:9">
<ContentProtection schemeIdUri="urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b" cenc:default_KID="31323334-3536-3738-3930-313233343536">
<cenc:pssh>AAAANHBzc2gBAAAAEHfv7MCyTQKs4zweUuL7SwAAAAExMjM0NTY3ODkwMTIzNDU2AAAAAA==</cenc:pssh>
</ContentProtection>
<Representation id="0" bandwidth="185084" codecs="vp9" mimeType="video/webm" sar="1:1">
<BaseURL>bear-320x180-vp9-altref-video.webm</BaseURL>
<SegmentBase indexRange="353-371" timescale="1000000">
<Initialization range="0-352"/>
</SegmentBase>
</Representation>
</AdaptationSet>
</Period>
</MPD>