Update end to end test with vpx packaging
Change-Id: I70886693b5ad7d4c52170e57901c2437eba69214
This commit is contained in:
parent
b4e9b5ac2b
commit
4b111a030e
|
@ -104,6 +104,24 @@ class PackagerAppTest(unittest.TestCase):
|
|||
self._DiffGold(self.output[2], 'subtitle-english-golden.vtt')
|
||||
self._DiffGold(self.mpd_output, 'bear-640x360-avt-golden.mpd')
|
||||
|
||||
def testPackageVp8Webm(self):
|
||||
self.packager.Package(
|
||||
self._GetStreams(['video'],
|
||||
output_format='webm',
|
||||
test_files=['bear-640x360.webm']),
|
||||
self._GetFlags())
|
||||
self._DiffGold(self.output[0], 'bear-640x360-vp8-golden.webm')
|
||||
self._DiffGold(self.mpd_output, 'bear-640x360-vp8-webm-golden.mpd')
|
||||
|
||||
def testPackageVp9Webm(self):
|
||||
self.packager.Package(
|
||||
self._GetStreams(['video'],
|
||||
output_format='webm',
|
||||
test_files=['bear-320x240-vp9.webm']),
|
||||
self._GetFlags())
|
||||
self._DiffGold(self.output[0], 'bear-320x240-vp9-golden.webm')
|
||||
self._DiffGold(self.mpd_output, 'bear-320x240-vp9-webm-golden.mpd')
|
||||
|
||||
def testPackageWithEncryption(self):
|
||||
self.packager.Package(
|
||||
self._GetStreams(['audio', 'video']),
|
||||
|
@ -120,6 +138,24 @@ class PackagerAppTest(unittest.TestCase):
|
|||
self._DiffGold(self.output[0], 'bear-640x360-hevc-v-cenc-golden.mp4')
|
||||
self._DiffGold(self.mpd_output, 'bear-640x360-hevc-v-cenc-golden.mpd')
|
||||
|
||||
def testPackageVp8Mp4WithEncryption(self):
|
||||
self.packager.Package(
|
||||
self._GetStreams(['video'],
|
||||
output_format='mp4',
|
||||
test_files=['bear-640x360.webm']),
|
||||
self._GetFlags(encryption=True))
|
||||
self._DiffGold(self.output[0], 'bear-640x360-vp8-cenc-golden.mp4')
|
||||
self._DiffGold(self.mpd_output, 'bear-640x360-vp8-cenc-golden.mpd')
|
||||
|
||||
def testPackageVp9Mp4WithEncryption(self):
|
||||
self.packager.Package(
|
||||
self._GetStreams(['video'],
|
||||
output_format='mp4',
|
||||
test_files=['bear-320x240-vp9.webm']),
|
||||
self._GetFlags(encryption=True))
|
||||
self._DiffGold(self.output[0], 'bear-320x240-vp9-cenc-golden.mp4')
|
||||
self._DiffGold(self.mpd_output, 'bear-320x240-vp9-cenc-golden.mpd')
|
||||
|
||||
def testPackageWithEncryptionAndRandomIv(self):
|
||||
self.packager.Package(
|
||||
self._GetStreams(['audio', 'video']),
|
||||
|
@ -277,7 +313,11 @@ class PackagerAppTest(unittest.TestCase):
|
|||
self._AssertStreamInfo(self.output[0], 'is_encrypted: true')
|
||||
self._AssertStreamInfo(self.output[1], 'is_encrypted: true')
|
||||
|
||||
def _GetStreams(self, stream_descriptors, live=False, test_files=None):
|
||||
def _GetStreams(self,
|
||||
stream_descriptors,
|
||||
output_format='mp4',
|
||||
live=False,
|
||||
test_files=None):
|
||||
if test_files is None:
|
||||
test_files = ['bear-640x360.mp4']
|
||||
streams = []
|
||||
|
@ -299,18 +339,20 @@ class PackagerAppTest(unittest.TestCase):
|
|||
output_prefix))
|
||||
self.output.append(output_prefix)
|
||||
else:
|
||||
output = '%s.%s' % (output_prefix,
|
||||
self._GetExtension(stream_descriptor))
|
||||
stream = 'input=%s,stream=%s,output=%s'
|
||||
streams.append(stream % (test_file, stream_descriptor, output))
|
||||
output = '%s.%s' % (
|
||||
output_prefix,
|
||||
self._GetExtension(stream_descriptor, output_format))
|
||||
stream = 'input=%s,stream=%s,format=%s,output=%s'
|
||||
streams.append(stream %
|
||||
(test_file, stream_descriptor, output_format, output))
|
||||
self.output.append(output)
|
||||
return streams
|
||||
|
||||
def _GetExtension(self, stream_descriptor):
|
||||
def _GetExtension(self, stream_descriptor, output_format):
|
||||
# TODO(rkuroiwa): Support ttml.
|
||||
if stream_descriptor == 'text':
|
||||
return 'vtt'
|
||||
return 'mp4'
|
||||
return output_format
|
||||
|
||||
def _GetFlags(self,
|
||||
encryption=False,
|
||||
|
@ -364,7 +406,8 @@ class PackagerAppTest(unittest.TestCase):
|
|||
def _DiffGold(self, test_output, golden_file_name):
|
||||
golden_file = os.path.join(self.golden_file_dir, golden_file_name)
|
||||
if test_env.options.test_update_golden_files:
|
||||
if not filecmp.cmp(test_output, golden_file):
|
||||
if not os.path.exists(golden_file) or not filecmp.cmp(test_output,
|
||||
golden_file):
|
||||
print 'Updating golden file: ', golden_file_name
|
||||
shutil.copyfile(test_output, golden_file)
|
||||
else:
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--Generated with https://github.com/google/edash-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" minBufferTime="PT2S" type="static" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT2.7060000896453857S">
|
||||
<Period>
|
||||
<AdaptationSet id="0" contentType="video" width="320" height="240" frameRate="1000000/33000" subsegmentAlignment="true" par="16:9">
|
||||
<Representation id="0" bandwidth="210593" codecs="vp09.00.00.08.00.01.00.00" mimeType="video/mp4" sar="427:320" width="320" height="240" frameRate="1000000/33000">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>AAAAMHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABAxMjM0NTY3ODkwMTIzNDU2</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<BaseURL>output_video.mp4</BaseURL>
|
||||
<SegmentBase indexRange="1039-1094" timescale="1000000">
|
||||
<Initialization range="0-1038"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
</MPD>
|
Binary file not shown.
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--Generated with https://github.com/google/edash-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" minBufferTime="PT2S" type="static" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT2.7059998512268066S">
|
||||
<Period>
|
||||
<AdaptationSet id="0" contentType="video" width="320" height="240" frameRate="1000000/33000" par="16:9">
|
||||
<Representation id="0" bandwidth="205399" codecs="vp9" mimeType="video/webm" sar="427:320" width="320" height="240" frameRate="1000000/33000">
|
||||
<BaseURL>output_video.webm</BaseURL>
|
||||
<SegmentBase indexRange="69443-69476" timescale="1000000">
|
||||
<Initialization range="0-290"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
</MPD>
|
Binary file not shown.
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--Generated with https://github.com/google/edash-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" minBufferTime="PT2S" type="static" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT2.7060000896453857S">
|
||||
<Period>
|
||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="1000000/33000" subsegmentAlignment="true" par="16:9">
|
||||
<Representation id="0" bandwidth="344796" codecs="vp08.00.00.08.01.01.00.00" mimeType="video/mp4" sar="1:1" width="640" height="360" frameRate="1000000/33000">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>AAAAMHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABAxMjM0NTY3ODkwMTIzNDU2</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<BaseURL>output_video.mp4</BaseURL>
|
||||
<SegmentBase indexRange="1007-1062" timescale="1000000">
|
||||
<Initialization range="0-1006"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
</MPD>
|
Binary file not shown.
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--Generated with https://github.com/google/edash-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" minBufferTime="PT2S" type="static" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT2.7059998512268066S">
|
||||
<Period>
|
||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="1000000/33000" par="16:9">
|
||||
<Representation id="0" bandwidth="339004" codecs="vp8" mimeType="video/webm" sar="1:1" width="640" height="360" frameRate="1000000/33000">
|
||||
<BaseURL>output_video.webm</BaseURL>
|
||||
<SegmentBase indexRange="114634-114668" timescale="1000000">
|
||||
<Initialization range="0-292"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
</MPD>
|
|
@ -3,6 +3,7 @@
|
|||
// found in the LICENSE file.
|
||||
|
||||
bear-320x240.webm - WebM encode of bear.1280x720.mp4 resized to 320x240.
|
||||
bear-320x240-vp9.webm - Same as above, but with vp9 codec.
|
||||
no_streams.webm - Header, Info, & Tracks element from bear-320x240.webm slightly corrupted so it looks
|
||||
like there are no tracks.
|
||||
nonzero-start-time.webm - Has the same headers as bear-320x240.webm but the first cluster of this file
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue