Update Many Tests to Use CheckTestResults

Updated as many tests as we easily could. The tests that were not updated
all use live manifests or encryption that all require some "help", either
by dealing with times differing or with verifying decryption.

Bug: 73830478
Change-Id: I6803c2d960b71b459eb57b7a5e562164bb713e2a
This commit is contained in:
Aaron Vaage 2018-02-27 10:58:24 -08:00
parent 60160fe602
commit a097aa4d3b
127 changed files with 174 additions and 188 deletions

View File

@ -533,8 +533,7 @@ class PackagerFunctionalTest(PackagerAppTest):
self.assertPackageSuccess(
self._GetStreams(['text'], test_files=['subtitle-english.vtt']),
self._GetFlags())
self._DiffGold(self.output[0], 'subtitle-english-golden.vtt')
self._DiffGold(self.mpd_output, 'subtitle-english-vtt-golden.mpd')
self._CheckTestResults('text')
# Probably one of the most common scenarios is to package audio and video.
def testPackageAudioVideo(self):
@ -550,10 +549,7 @@ class PackagerFunctionalTest(PackagerAppTest):
]
self.assertPackageSuccess(streams, self._GetFlags())
self._DiffGold(self.output[0], 'bear-640x360-a-golden.mp4')
self._DiffGold(self.output[1], 'bear-640x360-v-golden.mp4')
self._DiffGold(self.output[2], 'bear-640x360-v-trick-1-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-640x360-av-trick-1-golden.mpd')
self._CheckTestResults('audio-video-with-trick-play')
def testPackageAudioVideoWithTwoTrickPlay(self):
streams = [
@ -564,12 +560,7 @@ class PackagerFunctionalTest(PackagerAppTest):
]
self.assertPackageSuccess(streams, self._GetFlags())
self._DiffGold(self.output[0], 'bear-640x360-a-golden.mp4')
self._DiffGold(self.output[1], 'bear-640x360-v-golden.mp4')
self._DiffGold(self.output[2], 'bear-640x360-v-trick-1-golden.mp4')
self._DiffGold(self.output[3], 'bear-640x360-v-trick-2-golden.mp4')
self._DiffGold(self.mpd_output,
'bear-640x360-av-trick-1-trick-2-golden.mpd')
self._CheckTestResults('audio-video-with-two-trick-play')
def testPackageAudioVideoWithTwoTrickPlayDecreasingRate(self):
streams = [
@ -580,40 +571,28 @@ class PackagerFunctionalTest(PackagerAppTest):
]
self.assertPackageSuccess(streams, self._GetFlags())
self._DiffGold(self.output[0], 'bear-640x360-a-golden.mp4')
self._DiffGold(self.output[1], 'bear-640x360-v-golden.mp4')
self._DiffGold(self.output[2], 'bear-640x360-v-trick-2-golden.mp4')
self._DiffGold(self.output[3], 'bear-640x360-v-trick-1-golden.mp4')
# Since the stream descriptors are sorted in packager app, a different
# order of trick play factors gets the same mpd.
self._DiffGold(self.mpd_output,
'bear-640x360-av-trick-1-trick-2-golden.mpd')
self._CheckTestResults('audio-video-with-two-trick-play')
def testPackageAudioVideoWithLanguageOverride(self):
self.assertPackageSuccess(
self._GetStreams(['audio', 'video'], language='por-BR'),
self._GetFlags())
self._DiffGold(self.output[0], 'bear-640x360-a-por-golden.mp4')
self._DiffGold(self.output[1], 'bear-640x360-v-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-640x360-av-por-golden.mpd')
self._CheckTestResults('audio-video-with-language-override')
def testPackageAudioVideoWithLanguageOverrideWithSubtag(self):
self.assertPackageSuccess(
self._GetStreams(['audio', 'video'], language='por-BR'),
self._GetFlags())
self._DiffGold(self.output[0], 'bear-640x360-a-por-BR-golden.mp4')
self._DiffGold(self.output[1], 'bear-640x360-v-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-640x360-av-por-BR-golden.mpd')
self._CheckTestResults('audio-video-with-language-override-with-subtag')
def testPackageAacHe(self):
self.assertPackageSuccess(
self._GetStreams(
['audio'], test_files=['bear-640x360-aac_he-silent_right.mp4']),
self._GetFlags())
self._DiffGold(self.output[0],
'bear-640x360-aac_he-silent_right-golden.mp4')
self._DiffGold(self.mpd_output,
'bear-640x360-aac_he-silent_right-golden.mpd')
self._CheckTestResults('acc-he')
# Package all video, audio, and text.
def testPackageVideoAudioText(self):
@ -622,10 +601,7 @@ class PackagerFunctionalTest(PackagerAppTest):
test_files=['subtitle-english.vtt'])
self.assertPackageSuccess(audio_video_streams + text_stream,
self._GetFlags())
self._DiffGold(self.output[0], 'bear-640x360-a-golden.mp4')
self._DiffGold(self.output[1], 'bear-640x360-v-golden.mp4')
self._DiffGold(self.output[2], 'subtitle-english-golden.vtt')
self._DiffGold(self.mpd_output, 'bear-640x360-avt-golden.mpd')
self._CheckTestResults('video-audio-text')
def testPackageAvcAacTs(self):
# Currently we only support live packaging for ts.
@ -637,18 +613,7 @@ class PackagerFunctionalTest(PackagerAppTest):
hls=True,
test_files=['bear-640x360.ts']),
self._GetFlags(output_hls=True))
self._DiffLiveGold(self.output[0],
'bear-640x360-a-golden',
output_format='ts')
self._DiffLiveGold(self.output[1],
'bear-640x360-v-golden',
output_format='ts')
self._DiffGold(self.hls_master_playlist_output,
'bear-640x360-av-master-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'audio.m3u8'), 'bear-640x360-a-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'video.m3u8'), 'bear-640x360-v-golden.m3u8')
self._CheckTestResults('avc-aac-ts')
def testPackageAvcAc3Ts(self):
# Currently we only support live packaging for ts.
@ -660,35 +625,14 @@ class PackagerFunctionalTest(PackagerAppTest):
hls=True,
test_files=['bear-640x360-ac3.ts']),
self._GetFlags(output_hls=True))
self._DiffLiveGold(self.output[0],
'bear-640x360-ac3-golden',
output_format='ts')
self._DiffLiveGold(self.output[1],
'bear-640x360-v-golden',
output_format='ts')
self._DiffGold(self.hls_master_playlist_output,
'bear-640x360-av-ac3-master-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'audio.m3u8'),
'bear-640x360-ac3-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'video.m3u8'), 'bear-640x360-v-golden.m3u8')
self._CheckTestResults('avc-ac3-ts')
def testPackageAvcAc3TsToMp4(self):
self.assertPackageSuccess(
self._GetStreams(
['audio', 'video'], hls=True, test_files=['bear-640x360-ac3.ts']),
self._GetFlags(output_hls=True))
self._DiffGold(self.output[0], 'bear-640x360-ac3-from-ts-golden.mp4')
self._DiffGold(self.output[1], 'bear-640x360-v-from-ts-golden.mp4')
self._DiffGold(self.hls_master_playlist_output,
'bear-640x360-av-ac3-ts-to-mp4-master-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'audio.m3u8'),
'bear-640x360-ac3-ts-to-mp4-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'video.m3u8'),
'bear-640x360-v-ts-to-mp4-golden.m3u8')
self._CheckTestResults('avc-ac3-ts-to-mp4')
def testPackageAvcTsLivePlaylist(self):
self.assertPackageSuccess(
@ -702,20 +646,7 @@ class PackagerFunctionalTest(PackagerAppTest):
output_hls=True,
hls_playlist_type='LIVE',
time_shift_buffer_depth=0.5))
self._DiffLiveGold(self.output[0],
'bear-640x360-a-golden',
output_format='ts')
self._DiffLiveGold(self.output[1],
'bear-640x360-v-golden',
output_format='ts')
self._DiffGold(self.hls_master_playlist_output,
'bear-640x360-av-master-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'audio.m3u8'),
'bear-640x360-a-live-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'video.m3u8'),
'bear-640x360-v-live-golden.m3u8')
self._CheckTestResults('avc-ts-live-playlist')
def testPackageAvcTsLivePlaylistWithKeyRotation(self):
self.packager.Package(
@ -731,20 +662,7 @@ class PackagerFunctionalTest(PackagerAppTest):
output_hls=True,
hls_playlist_type='LIVE',
time_shift_buffer_depth=0.5))
self._DiffLiveGold(self.output[0],
'bear-640x360-a-enc-rotation-golden',
output_format='ts')
self._DiffLiveGold(self.output[1],
'bear-640x360-v-enc-rotation-golden',
output_format='ts')
self._DiffGold(self.hls_master_playlist_output,
'bear-640x360-av-master-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'audio.m3u8'),
'bear-640x360-a-live-enc-rotation-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'video.m3u8'),
'bear-640x360-v-live-enc-rotation-golden.m3u8')
self._CheckTestResults('avc-ts-live-playlist-with-key-rotation')
def testPackageAvcTsEventPlaylist(self):
self.assertPackageSuccess(
@ -758,20 +676,7 @@ class PackagerFunctionalTest(PackagerAppTest):
output_hls=True,
hls_playlist_type='EVENT',
time_shift_buffer_depth=0.5))
self._DiffLiveGold(self.output[0],
'bear-640x360-a-golden',
output_format='ts')
self._DiffLiveGold(self.output[1],
'bear-640x360-v-golden',
output_format='ts')
self._DiffGold(self.hls_master_playlist_output,
'bear-640x360-av-master-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'audio.m3u8'),
'bear-640x360-a-event-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'video.m3u8'),
'bear-640x360-v-event-golden.m3u8')
self._CheckTestResults('avc-ts-event-playlist')
def testPackageVp8Webm(self):
self.assertPackageSuccess(
@ -779,8 +684,7 @@ class PackagerFunctionalTest(PackagerAppTest):
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')
self._CheckTestResults('vp8-webm')
def testPackageVp9Webm(self):
self.assertPackageSuccess(
@ -788,9 +692,7 @@ class PackagerFunctionalTest(PackagerAppTest):
output_format='webm',
test_files=['bear-320x240-vp9-opus.webm']),
self._GetFlags())
self._DiffGold(self.output[0], 'bear-320x240-opus-golden.webm')
self._DiffGold(self.output[1], 'bear-320x240-vp9-golden.webm')
self._DiffGold(self.mpd_output, 'bear-320x240-vp9-opus-webm-golden.mpd')
self._CheckTestResults('vp9-webm')
def testPackageVp9WebmWithBlockgroup(self):
self.assertPackageSuccess(
@ -798,7 +700,7 @@ class PackagerFunctionalTest(PackagerAppTest):
output_format='webm',
test_files=['bear-vp9-blockgroup.webm']),
self._GetFlags())
self._DiffGold(self.output[0], 'bear-vp9-blockgroup-golden.webm')
self._CheckTestResults('vp9-webm-with-blockgroup')
def testPackageVorbisWebm(self):
self.assertPackageSuccess(
@ -806,8 +708,7 @@ class PackagerFunctionalTest(PackagerAppTest):
output_format='webm',
test_files=['bear-320x240-audio-only.webm']),
self._GetFlags())
self._DiffGold(self.output[0], 'bear-320x240-vorbis-golden.webm')
self._DiffGold(self.mpd_output, 'bear-320x240-vorbis-webm-golden.mpd')
self._CheckTestResults('vorbis-webm')
def testPackageEncryption(self):
self.assertPackageSuccess(
@ -1168,11 +1069,7 @@ class PackagerFunctionalTest(PackagerAppTest):
['0', '1', '2', '3'], test_files=['bear-multi-configs.wvm']),
self._GetFlags(decryption=True))
# Output timescale is 90000.
self._DiffGold(self.output[0], 'bear-320x180-v-wvm-golden.mp4')
self._DiffGold(self.output[1], 'bear-320x180-a-wvm-golden.mp4')
self._DiffGold(self.output[2], 'bear-640x360-v-wvm-golden.mp4')
self._DiffGold(self.output[3], 'bear-640x360-a-wvm-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-wvm-golden.mpd')
self._CheckTestResults('wvm-input')
# TODO(kqyang): Fix shared_library not supporting strip_parameter_set_nalus
# problem.
@ -1188,11 +1085,7 @@ class PackagerFunctionalTest(PackagerAppTest):
['0', '1', '2', '3'], test_files=['bear-multi-configs.wvm']),
self._GetFlags(strip_parameter_set_nalus=False, decryption=True))
# Output timescale is 90000.
self._DiffGold(self.output[0], 'bear-320x180-avc3-wvm-golden.mp4')
self._DiffGold(self.output[1], 'bear-320x180-a-wvm-golden.mp4')
self._DiffGold(self.output[2], 'bear-640x360-avc3-wvm-golden.mp4')
self._DiffGold(self.output[3], 'bear-640x360-a-wvm-golden.mp4')
self._DiffGold(self.mpd_output, 'bear-avc3-wvm-golden.mpd')
self._CheckTestResults('wvm-input-without-stripping-parameters-set-nalus')
def testPackageEncryptionAndRandomIv(self):
self.assertPackageSuccess(
@ -1247,47 +1140,20 @@ class PackagerFunctionalTest(PackagerAppTest):
self.assertPackageSuccess(
self._GetStreams(['audio', 'video'], hls=True),
self._GetFlags(encryption=True, output_hls=True))
self._DiffGold(self.output[0], 'bear-640x360-a-cenc-golden.mp4')
self._DiffGold(self.output[1], 'bear-640x360-v-cenc-golden.mp4')
self._DiffGold(self.hls_master_playlist_output,
'bear-640x360-av-mp4-master-cenc-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'audio.m3u8'),
'bear-640x360-a-mp4-cenc-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'video.m3u8'),
'bear-640x360-v-mp4-cenc-golden.m3u8')
self._CheckTestResults('with-hls-single-segment-mp4-encrypted')
def testPackageEc3AndHlsSingleSegmentMp4Encrypted(self):
self.assertPackageSuccess(
self._GetStreams(
['audio', 'video'], hls=True, test_files=['bear-640x360-ec3.mp4']),
self._GetFlags(encryption=True, output_hls=True))
self._DiffGold(self.output[0], 'bear-640x360-ec3-a-cenc-golden.mp4')
self._DiffGold(self.output[1], 'bear-640x360-ec3-v-cenc-golden.mp4')
self._DiffGold(self.hls_master_playlist_output,
'bear-640x360-ec3-av-mp4-master-cenc-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'audio.m3u8'),
'bear-640x360-ec3-a-mp4-cenc-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'video.m3u8'),
'bear-640x360-ec3-v-mp4-cenc-golden.m3u8')
self._CheckTestResults('with-ec3-and-hls-single-segment-mp4-encrypted')
def testPackageHlsSingleSegmentMp4EncryptedAndAdCues(self):
self.assertPackageSuccess(
self._GetStreams(['audio', 'video'], hls=True),
self._GetFlags(encryption=True, output_hls=True, ad_cues='1.5'))
self._DiffGold(self.output[0], 'bear-640x360-a-cenc-golden.mp4')
self._DiffGold(self.output[1], 'bear-640x360-v-cenc-golden.mp4')
self._DiffGold(self.hls_master_playlist_output,
'bear-640x360-av-mp4-master-cenc-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'audio.m3u8'),
'bear-640x360-a-mp4-cenc-ad_cues-golden.m3u8')
self._DiffGold(
os.path.join(self.tmp_dir, 'video.m3u8'),
'bear-640x360-v-mp4-cenc-ad_cues-golden.m3u8')
self._CheckTestResults('with-hls-single-segment-mp4-encrypted-and-ad-cues')
# Test HLS with multi-segment mp4 and content in subdirectories.
def testPackageHlsMultiSegmentMp4WithCustomPath(self):
@ -1328,18 +1194,13 @@ class PackagerFunctionalTest(PackagerAppTest):
self.assertPackageSuccess(
self._GetStreams(['audio', 'video'], segmented=True),
self._GetFlags(generate_static_mpd=True))
self._DiffLiveGold(self.output[0], 'bear-640x360-a-live-golden')
self._DiffLiveGold(self.output[1], 'bear-640x360-v-live-golden')
self._DiffGold(self.mpd_output, 'bear-640x360-av-live-static-golden.mpd')
self._CheckTestResults('with-live-static-profile')
def testPackageLiveStaticProfileAndAdCues(self):
self.assertPackageSuccess(
self._GetStreams(['audio', 'video'], segmented=True),
self._GetFlags(generate_static_mpd=True, ad_cues='1.5'))
self._DiffLiveGold(self.output[0], 'bear-640x360-a-live-golden')
self._DiffLiveGold(self.output[1], 'bear-640x360-v-live-golden')
self._DiffGold(self.mpd_output,
'bear-640x360-av-live-static-ad_cues-golden.mpd')
self._CheckTestResults('with-live-static-profile-and-ad-cues')
def testPackageLiveProfileAndEncryption(self):
self.assertPackageSuccess(
@ -1370,7 +1231,8 @@ class PackagerFunctionalTest(PackagerAppTest):
self._DiffLiveGold(self.output[3], 'bear-640x360-v-live-cenc-golden')
# Mpd cannot be validated right now since we don't generate determinstic
# mpd with multiple inputs due to thread racing.
# TODO(kqyang): Generate determinstic mpd or at least validate mpd schema.
# TODO(b/73349711): Generate determinstic mpd or at least validate mpd
# schema.
def testPackageLiveProfileAndKeyRotation(self):
self.assertPackageSuccess(

View File

@ -0,0 +1,7 @@
#EXTM3U
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
#EXT-X-STREAM-INF:BANDWIDTH=1217518,CODECS="avc1.64001e,mp4a.40.2",RESOLUTION=640x360,AUDIO="default-audio-group"
video.m3u8

View File

@ -0,0 +1,7 @@
#EXTM3U
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
#EXT-X-STREAM-INF:BANDWIDTH=1242703,CODECS="avc1.64001e,ac-3",RESOLUTION=640x360,AUDIO="default-audio-group"
video.m3u8

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,12 @@
#EXTM3U
#EXT-X-VERSION:6
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
#EXT-X-TARGETDURATION:2
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:1.001,
output_video-1.ts
#EXTINF:1.001,
output_video-2.ts
#EXTINF:0.734,
output_video-3.ts
#EXT-X-ENDLIST

View File

@ -0,0 +1,7 @@
#EXTM3U
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
#EXT-X-STREAM-INF:BANDWIDTH=1217518,CODECS="avc1.64001e,mp4a.40.2",RESOLUTION=640x360,AUDIO="default-audio-group"
video.m3u8

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,7 @@
#EXTM3U
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
#EXT-X-STREAM-INF:BANDWIDTH=1217518,CODECS="avc1.64001e,mp4a.40.2",RESOLUTION=640x360,AUDIO="default-audio-group"
video.m3u8

View File

@ -0,0 +1,7 @@
#EXTM3U
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
#EXT-X-STREAM-INF:BANDWIDTH=1217518,CODECS="avc1.64001e,mp4a.40.2",RESOLUTION=640x360,AUDIO="default-audio-group"
video.m3u8

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,23 +0,0 @@
<?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.76317S">
<Period id="0">
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" subsegmentAlignment="true" par="16:9">
<Representation id="0" bandwidth="882064" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1">
<BaseURL>output_video.mp4</BaseURL>
<SegmentBase indexRange="823-890" timescale="30000">
<Initialization range="0-822"/>
</SegmentBase>
</Representation>
</AdaptationSet>
<AdaptationSet id="1" contentType="audio" subsegmentAlignment="true">
<Representation id="1" bandwidth="126510" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<BaseURL>output_audio.mp4</BaseURL>
<SegmentBase indexRange="757-824" timescale="44100">
<Initialization range="0-756"/>
</SegmentBase>
</Representation>
</AdaptationSet>
</Period>
</MPD>

Binary file not shown.

View File

@ -0,0 +1,79 @@
WEBVTT
1
00:00:03.837 --> 00:00:07.299
Captain's log, stardate 41636.9.
2
00:00:07.466 --> 00:00:11.845
As feared, our examination of the
overdue Federation freighter Odin,
3
00:00:12.012 --> 00:00:16.475
disabled by an asteroid collision,
revealed no life signs.
4
00:00:16.642 --> 00:00:19.019
However three escape pods
were missing,
5
00:00:19.186 --> 00:00:21.939
suggesting
the possibility of survivors.
6
00:00:22.606 --> 00:00:27.861
- Ready to orbit Angel One.
- What kind of place is this, Data?
7
00:00:28.028 --> 00:00:31.615
A Class-M planet supporting
carbon-based flora and fauna,
8
00:00:31.782 --> 00:00:34.326
sparsely populated
with intelligent life.
9
00:00:34.493 --> 00:00:38.497
Similar in technological development
to mid-20th century Earth.
10
00:00:38.664 --> 00:00:41.000
Kinda like being marooned at home.
11
00:00:41.166 --> 00:00:43.586
Assuming any survivors
made it this far.
12
00:00:43.794 --> 00:00:49.174
It is the closest planet, but to
go the distance we did in two days,
13
00:00:49.341 --> 00:00:52.344
would've taken the Odin escape pod
five months.
14
00:00:52.511 --> 00:00:54.680
Five months, six days, 11 hours,
two min...
15
00:00:54.847 --> 00:00:58.392
- Thank you, Data.
- ...and 57 seconds.
16
00:00:58.559 --> 00:01:01.353
Receiving an audio signal
from Angel One.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,14 @@
<?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.736S">
<Period id="0">
<AdaptationSet id="0" contentType="video" width="320" height="240" frameRate="1000000/33000" subsegmentAlignment="true" par="4:3">
<Representation id="0" bandwidth="196977" codecs="vp9" mimeType="video/webm" sar="1:1">
<BaseURL>output_video.webm</BaseURL>
<SegmentBase indexRange="302-320" timescale="1000000">
<Initialization range="0-301"/>
</SegmentBase>
</Representation>
</AdaptationSet>
</Period>
</MPD>

View File

@ -0,0 +1,7 @@
#EXTM3U
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
#EXT-X-STREAM-INF:BANDWIDTH=1111340,CODECS="avc1.64001e,mp4a.40.2",RESOLUTION=640x360,AUDIO="default-audio-group"
video.m3u8

Some files were not shown because too many files have changed in this diff Show More