First release
This commit is contained in:
commit
fa6c85266e
2339 changed files with 761050 additions and 0 deletions
70
node_modules/mpd-parser/test/manifests/608-captions.js
generated
vendored
Normal file
70
node_modules/mpd-parser/test/manifests/608-captions.js
generated
vendored
Normal file
|
@ -0,0 +1,70 @@
|
|||
export const parsedManifest = {
|
||||
allowCache: true,
|
||||
discontinuityStarts: [],
|
||||
duration: 6,
|
||||
endList: true,
|
||||
mediaGroups: {
|
||||
'AUDIO': {},
|
||||
'CLOSED-CAPTIONS': {
|
||||
cc: {
|
||||
eng: {
|
||||
autoselect: false,
|
||||
default: false,
|
||||
instreamId: 'CC1',
|
||||
language: 'eng'
|
||||
},
|
||||
swe: {
|
||||
autoselect: false,
|
||||
default: false,
|
||||
instreamId: 'CC3',
|
||||
language: 'swe'
|
||||
},
|
||||
Hello: {
|
||||
autoselect: false,
|
||||
default: false,
|
||||
instreamId: 'CC4',
|
||||
language: 'Hello'
|
||||
}
|
||||
}
|
||||
},
|
||||
'SUBTITLES': {},
|
||||
'VIDEO': {}
|
||||
},
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'AUDIO': 'audio',
|
||||
'BANDWIDTH': 449000,
|
||||
'CODECS': 'avc1.420015',
|
||||
'NAME': '482',
|
||||
'PROGRAM-ID': 1,
|
||||
'RESOLUTION': {
|
||||
height: 270,
|
||||
width: 482
|
||||
},
|
||||
'SUBTITLES': 'subs'
|
||||
},
|
||||
endList: true,
|
||||
resolvedUri: '',
|
||||
targetDuration: 6,
|
||||
mediaSequence: 0,
|
||||
segments: [
|
||||
{
|
||||
duration: 6,
|
||||
timeline: 0,
|
||||
number: 0,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/1080p.ts'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/1080p.ts',
|
||||
uri: 'https://www.example.com/1080p.ts'
|
||||
}
|
||||
],
|
||||
timeline: 0,
|
||||
uri: ''
|
||||
}
|
||||
],
|
||||
segments: [],
|
||||
uri: ''
|
||||
};
|
17
node_modules/mpd-parser/test/manifests/608-captions.mpd
generated
vendored
Normal file
17
node_modules/mpd-parser/test/manifests/608-captions.mpd
generated
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT6S" minBufferTime="PT2.000S">
|
||||
<BaseURL>https://www.example.com/base</BaseURL>
|
||||
<Period>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<Accessibility schemeIdUri="urn:scte:dash:cc:cea-608:2015" value="CC1=eng;CC3=swe;CC4=Hello"></Accessibility>
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<Representation bandwidth="449000" codecs="avc1.420015" frameRate="2997/125" height="270" id="482" width="482" >
|
||||
<SegmentBase></SegmentBase>
|
||||
</Representation>
|
||||
<BaseURL>1080p.ts</BaseURL>
|
||||
<SegmentBase>
|
||||
<RepresentationIndex sourceURL="1080p.sidx"/>
|
||||
</SegmentBase>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
</MPD>
|
71
node_modules/mpd-parser/test/manifests/708-captions.js
generated
vendored
Normal file
71
node_modules/mpd-parser/test/manifests/708-captions.js
generated
vendored
Normal file
|
@ -0,0 +1,71 @@
|
|||
export const parsedManifest = {
|
||||
allowCache: true,
|
||||
discontinuityStarts: [],
|
||||
duration: 6,
|
||||
endList: true,
|
||||
mediaGroups: {
|
||||
'AUDIO': {},
|
||||
'CLOSED-CAPTIONS': {
|
||||
cc: {
|
||||
// eng: {
|
||||
// autoselect: false,
|
||||
// default: false,
|
||||
// instreamId: '1',
|
||||
// language: 'eng',
|
||||
// aspectRatio: 1,
|
||||
// easyReader: 0,
|
||||
// '3D': 0
|
||||
// },
|
||||
// TODO only this one ends up being represented and not both
|
||||
eng: {
|
||||
'autoselect': false,
|
||||
'default': false,
|
||||
'instreamId': 'SERVICE2',
|
||||
'language': 'eng',
|
||||
'aspectRatio': 1,
|
||||
'easyReader': 1,
|
||||
'3D': 0
|
||||
}
|
||||
}
|
||||
},
|
||||
'SUBTITLES': {},
|
||||
'VIDEO': {}
|
||||
},
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'AUDIO': 'audio',
|
||||
'BANDWIDTH': 449000,
|
||||
'CODECS': 'avc1.420015',
|
||||
'NAME': '482',
|
||||
'PROGRAM-ID': 1,
|
||||
'RESOLUTION': {
|
||||
height: 270,
|
||||
width: 482
|
||||
},
|
||||
'SUBTITLES': 'subs'
|
||||
},
|
||||
endList: true,
|
||||
resolvedUri: '',
|
||||
targetDuration: 6,
|
||||
mediaSequence: 0,
|
||||
segments: [
|
||||
{
|
||||
duration: 6,
|
||||
timeline: 0,
|
||||
number: 0,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/1080p.ts'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/1080p.ts',
|
||||
uri: 'https://www.example.com/1080p.ts'
|
||||
}
|
||||
],
|
||||
timeline: 0,
|
||||
uri: ''
|
||||
}
|
||||
],
|
||||
segments: [],
|
||||
uri: ''
|
||||
};
|
17
node_modules/mpd-parser/test/manifests/708-captions.mpd
generated
vendored
Normal file
17
node_modules/mpd-parser/test/manifests/708-captions.mpd
generated
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT6S" minBufferTime="PT2.000S">
|
||||
<BaseURL>https://www.example.com/base</BaseURL>
|
||||
<Period>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<Accessibility schemeIdUri="urn:scte:dash:cc:cea-708:2015" value="1=lang:eng;2=lang:eng,war:1,er:1"></Accessibility>
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<Representation bandwidth="449000" codecs="avc1.420015" frameRate="2997/125" height="270" id="482" width="482" >
|
||||
<SegmentBase></SegmentBase>
|
||||
</Representation>
|
||||
<BaseURL>1080p.ts</BaseURL>
|
||||
<SegmentBase>
|
||||
<RepresentationIndex sourceURL="1080p.sidx"/>
|
||||
</SegmentBase>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
</MPD>
|
106
node_modules/mpd-parser/test/manifests/audio-only.js
generated
vendored
Normal file
106
node_modules/mpd-parser/test/manifests/audio-only.js
generated
vendored
Normal file
|
@ -0,0 +1,106 @@
|
|||
export const parsedManifest = {
|
||||
allowCache: true,
|
||||
discontinuityStarts: [],
|
||||
segments: [],
|
||||
endList: true,
|
||||
mediaGroups: {
|
||||
'AUDIO': {
|
||||
audio: {
|
||||
en: {
|
||||
language: 'en',
|
||||
autoselect: true,
|
||||
default: true,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '0',
|
||||
'BANDWIDTH': 130803,
|
||||
'CODECS': 'mp4a.40.2',
|
||||
'PROGRAM-ID': 1,
|
||||
'AUDIO': 'audio',
|
||||
'SUBTITLES': 'subs'
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 60,
|
||||
segments: [],
|
||||
mediaSequence: 1,
|
||||
sidx: {
|
||||
uri: 'http://example.com/audio_en_2c_128k_aac.mp4',
|
||||
resolvedUri: 'http://example.com/audio_en_2c_128k_aac.mp4',
|
||||
byterange: {
|
||||
length: 224,
|
||||
offset: 786
|
||||
},
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'http://example.com/audio_en_2c_128k_aac.mp4',
|
||||
byterange: {
|
||||
length: 786,
|
||||
offset: 0
|
||||
}
|
||||
},
|
||||
duration: 60,
|
||||
timeline: 0,
|
||||
number: 0
|
||||
}
|
||||
}
|
||||
],
|
||||
uri: ''
|
||||
},
|
||||
es: {
|
||||
language: 'es',
|
||||
autoselect: true,
|
||||
default: false,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '1',
|
||||
'BANDWIDTH': 130405,
|
||||
'CODECS': 'mp4a.40.2',
|
||||
'PROGRAM-ID': 1,
|
||||
'AUDIO': 'audio',
|
||||
'SUBTITLES': 'subs'
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 60,
|
||||
segments: [],
|
||||
mediaSequence: 1,
|
||||
sidx: {
|
||||
uri: 'http://example.com/audio_es_2c_128k_aac.mp4',
|
||||
resolvedUri: 'http://example.com/audio_es_2c_128k_aac.mp4',
|
||||
byterange: {
|
||||
length: 224,
|
||||
offset: 786
|
||||
},
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'http://example.com/audio_es_2c_128k_aac.mp4',
|
||||
byterange: {
|
||||
length: 786,
|
||||
offset: 0
|
||||
}
|
||||
},
|
||||
duration: 60,
|
||||
timeline: 0,
|
||||
number: 0
|
||||
}
|
||||
}
|
||||
],
|
||||
uri: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
'VIDEO': {},
|
||||
'CLOSED-CAPTIONS': {},
|
||||
'SUBTITLES': {}
|
||||
},
|
||||
uri: '',
|
||||
duration: 60,
|
||||
playlists: []
|
||||
};
|
25
node_modules/mpd-parser/test/manifests/audio-only.mpd
generated
vendored
Normal file
25
node_modules/mpd-parser/test/manifests/audio-only.mpd
generated
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--Generated with https://github.com/google/shaka-packager version v2.4.1-c731217-release-->
|
||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" minBufferTime="PT2S" type="static" mediaPresentationDuration="PT60S">
|
||||
<Period id="0">
|
||||
<AdaptationSet id="0" contentType="audio" lang="en" subsegmentAlignment="true">
|
||||
<Representation id="0" bandwidth="130803" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="48000">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<BaseURL>http://example.com/audio_en_2c_128k_aac.mp4</BaseURL>
|
||||
<SegmentBase indexRange="786-1009" timescale="48000">
|
||||
<Initialization range="0-785"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet id="1" contentType="audio" lang="es" subsegmentAlignment="true">
|
||||
<Representation id="1" bandwidth="130405" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="48000">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<BaseURL>http://example.com/audio_es_2c_128k_aac.mp4</BaseURL>
|
||||
<SegmentBase indexRange="786-1009" timescale="48000">
|
||||
<Initialization range="0-785"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
|
||||
</Period>
|
||||
</MPD>
|
52
node_modules/mpd-parser/test/manifests/location.js
generated
vendored
Normal file
52
node_modules/mpd-parser/test/manifests/location.js
generated
vendored
Normal file
|
@ -0,0 +1,52 @@
|
|||
export const parsedManifest = {
|
||||
locations: [
|
||||
'https://www.example.com/updates'
|
||||
],
|
||||
allowCache: true,
|
||||
discontinuityStarts: [],
|
||||
duration: 6,
|
||||
endList: true,
|
||||
mediaGroups: {
|
||||
'AUDIO': {},
|
||||
'CLOSED-CAPTIONS': {},
|
||||
'SUBTITLES': {},
|
||||
'VIDEO': {}
|
||||
},
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'AUDIO': 'audio',
|
||||
'BANDWIDTH': 449000,
|
||||
'CODECS': 'avc1.420015',
|
||||
'NAME': '482',
|
||||
'PROGRAM-ID': 1,
|
||||
'RESOLUTION': {
|
||||
height: 270,
|
||||
width: 482
|
||||
},
|
||||
'SUBTITLES': 'subs'
|
||||
},
|
||||
endList: true,
|
||||
resolvedUri: '',
|
||||
targetDuration: 6,
|
||||
mediaSequence: 0,
|
||||
segments: [
|
||||
{
|
||||
duration: 6,
|
||||
timeline: 0,
|
||||
number: 0,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/1080p.ts'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/1080p.ts',
|
||||
uri: 'https://www.example.com/1080p.ts'
|
||||
}
|
||||
],
|
||||
timeline: 0,
|
||||
uri: ''
|
||||
}
|
||||
],
|
||||
segments: [],
|
||||
uri: ''
|
||||
};
|
17
node_modules/mpd-parser/test/manifests/location.mpd
generated
vendored
Normal file
17
node_modules/mpd-parser/test/manifests/location.mpd
generated
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT6S" minBufferTime="PT2.000S">
|
||||
<BaseURL>https://www.example.com/base</BaseURL>
|
||||
<Location>https://www.example.com/updates</Location>
|
||||
<Period>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<Representation bandwidth="449000" codecs="avc1.420015" frameRate="2997/125" height="270" id="482" width="482" >
|
||||
<SegmentBase></SegmentBase>
|
||||
</Representation>
|
||||
<BaseURL>1080p.ts</BaseURL>
|
||||
<SegmentBase>
|
||||
<RepresentationIndex sourceURL="1080p.sidx"/>
|
||||
</SegmentBase>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
</MPD>
|
53
node_modules/mpd-parser/test/manifests/locations.js
generated
vendored
Normal file
53
node_modules/mpd-parser/test/manifests/locations.js
generated
vendored
Normal file
|
@ -0,0 +1,53 @@
|
|||
export const parsedManifest = {
|
||||
locations: [
|
||||
'https://www.example.com/updates',
|
||||
'https://www.example.com/updates2'
|
||||
],
|
||||
allowCache: true,
|
||||
discontinuityStarts: [],
|
||||
duration: 6,
|
||||
endList: true,
|
||||
mediaGroups: {
|
||||
'AUDIO': {},
|
||||
'CLOSED-CAPTIONS': {},
|
||||
'SUBTITLES': {},
|
||||
'VIDEO': {}
|
||||
},
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'AUDIO': 'audio',
|
||||
'BANDWIDTH': 449000,
|
||||
'CODECS': 'avc1.420015',
|
||||
'NAME': '482',
|
||||
'PROGRAM-ID': 1,
|
||||
'RESOLUTION': {
|
||||
height: 270,
|
||||
width: 482
|
||||
},
|
||||
'SUBTITLES': 'subs'
|
||||
},
|
||||
endList: true,
|
||||
resolvedUri: '',
|
||||
targetDuration: 6,
|
||||
mediaSequence: 0,
|
||||
segments: [
|
||||
{
|
||||
duration: 6,
|
||||
timeline: 0,
|
||||
number: 0,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/1080p.ts'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/1080p.ts',
|
||||
uri: 'https://www.example.com/1080p.ts'
|
||||
}
|
||||
],
|
||||
timeline: 0,
|
||||
uri: ''
|
||||
}
|
||||
],
|
||||
segments: [],
|
||||
uri: ''
|
||||
};
|
18
node_modules/mpd-parser/test/manifests/locations.mpd
generated
vendored
Normal file
18
node_modules/mpd-parser/test/manifests/locations.mpd
generated
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT6S" minBufferTime="PT2.000S">
|
||||
<BaseURL>https://www.example.com/base</BaseURL>
|
||||
<Location>https://www.example.com/updates</Location>
|
||||
<Location>https://www.example.com/updates2</Location>
|
||||
<Period>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<Representation bandwidth="449000" codecs="avc1.420015" frameRate="2997/125" height="270" id="482" width="482" >
|
||||
<SegmentBase></SegmentBase>
|
||||
</Representation>
|
||||
<BaseURL>1080p.ts</BaseURL>
|
||||
<SegmentBase>
|
||||
<RepresentationIndex sourceURL="1080p.sidx"/>
|
||||
</SegmentBase>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
</MPD>
|
518
node_modules/mpd-parser/test/manifests/maat_vtt_segmentTemplate.js
generated
vendored
Normal file
518
node_modules/mpd-parser/test/manifests/maat_vtt_segmentTemplate.js
generated
vendored
Normal file
|
@ -0,0 +1,518 @@
|
|||
export const parsedManifest = {
|
||||
allowCache: true,
|
||||
discontinuityStarts: [],
|
||||
segments: [],
|
||||
endList: true,
|
||||
mediaGroups: {
|
||||
'AUDIO': {
|
||||
audio: {
|
||||
'en (main)': {
|
||||
language: 'en',
|
||||
autoselect: true,
|
||||
default: true,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '63000',
|
||||
'BANDWIDTH': 63000,
|
||||
'CODECS': 'mp4a.40.2',
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 1.984,
|
||||
segments: [
|
||||
{
|
||||
uri: '63000/0.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/63000/0.m4f',
|
||||
map: {
|
||||
uri: '63000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/init.m4f'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: '63000/1.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/63000/1.m4f',
|
||||
map: {
|
||||
uri: '63000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/init.m4f'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: '63000/2.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/63000/2.m4f',
|
||||
map: {
|
||||
uri: '63000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/init.m4f'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: '63000/3.m4f',
|
||||
timeline: 0,
|
||||
duration: 0.04800000000000004,
|
||||
resolvedUri: 'https://www.example.com/63000/3.m4f',
|
||||
map: {
|
||||
uri: '63000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/init.m4f'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0,
|
||||
contentProtection: {
|
||||
'com.widevine.alpha': {
|
||||
attributes: {
|
||||
schemeIdUri: 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed'
|
||||
},
|
||||
pssh: new Uint8Array([181, 235, 45])
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '125000',
|
||||
'BANDWIDTH': 125000,
|
||||
'CODECS': 'mp4a.40.2',
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 1.984,
|
||||
segments: [
|
||||
{
|
||||
uri: '125000/0.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/125000/0.m4f',
|
||||
map: {
|
||||
uri: '125000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/init.m4f'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: '125000/1.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/125000/1.m4f',
|
||||
map: {
|
||||
uri: '125000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/init.m4f'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: '125000/2.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/125000/2.m4f',
|
||||
map: {
|
||||
uri: '125000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/init.m4f'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: '125000/3.m4f',
|
||||
timeline: 0,
|
||||
duration: 0.04800000000000004,
|
||||
resolvedUri: 'https://www.example.com/125000/3.m4f',
|
||||
map: {
|
||||
uri: '125000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/init.m4f'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0,
|
||||
contentProtection: {
|
||||
'com.widevine.alpha': {
|
||||
attributes: {
|
||||
schemeIdUri: 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed'
|
||||
},
|
||||
pssh: new Uint8Array([181, 235, 45])
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
uri: ''
|
||||
},
|
||||
'es': {
|
||||
language: 'es',
|
||||
autoselect: true,
|
||||
default: false,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '63000',
|
||||
'BANDWIDTH': 63000,
|
||||
'CODECS': 'mp4a.40.2',
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 1.984,
|
||||
segments: [
|
||||
{
|
||||
uri: '63000/es/0.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/63000/es/0.m4f',
|
||||
map: {
|
||||
uri: '63000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/es/init.m4f'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: '63000/es/1.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/63000/es/1.m4f',
|
||||
map: {
|
||||
uri: '63000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/es/init.m4f'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: '63000/es/2.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/63000/es/2.m4f',
|
||||
map: {
|
||||
uri: '63000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/es/init.m4f'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: '63000/es/3.m4f',
|
||||
timeline: 0,
|
||||
duration: 0.04800000000000004,
|
||||
resolvedUri: 'https://www.example.com/63000/es/3.m4f',
|
||||
map: {
|
||||
uri: '63000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/es/init.m4f'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0,
|
||||
contentProtection: {
|
||||
'com.widevine.alpha': {
|
||||
attributes: {
|
||||
schemeIdUri: 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed'
|
||||
},
|
||||
pssh: new Uint8Array([181, 235, 45])
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '125000',
|
||||
'BANDWIDTH': 125000,
|
||||
'CODECS': 'mp4a.40.2',
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 1.984,
|
||||
segments: [
|
||||
{
|
||||
uri: '125000/es/0.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/125000/es/0.m4f',
|
||||
map: {
|
||||
uri: '125000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/es/init.m4f'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: '125000/es/1.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/125000/es/1.m4f',
|
||||
map: {
|
||||
uri: '125000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/es/init.m4f'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: '125000/es/2.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/125000/es/2.m4f',
|
||||
map: {
|
||||
uri: '125000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/es/init.m4f'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: '125000/es/3.m4f',
|
||||
timeline: 0,
|
||||
duration: 0.04800000000000004,
|
||||
resolvedUri: 'https://www.example.com/125000/es/3.m4f',
|
||||
map: {
|
||||
uri: '125000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/es/init.m4f'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0,
|
||||
contentProtection: {
|
||||
'com.widevine.alpha': {
|
||||
attributes: {
|
||||
schemeIdUri: 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed'
|
||||
},
|
||||
pssh: new Uint8Array([181, 235, 45])
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
uri: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
'VIDEO': {},
|
||||
'CLOSED-CAPTIONS': {},
|
||||
'SUBTITLES': {
|
||||
subs: {
|
||||
en: {
|
||||
language: 'en',
|
||||
default: false,
|
||||
autoselect: false,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': 'en',
|
||||
'BANDWIDTH': 256,
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: 'https://example.com/en.vtt',
|
||||
targetDuration: 6,
|
||||
segments: [
|
||||
{
|
||||
uri: 'https://example.com/en.vtt',
|
||||
timeline: 0,
|
||||
resolvedUri: 'https://example.com/en.vtt',
|
||||
duration: 6,
|
||||
number: 0
|
||||
}
|
||||
],
|
||||
mediaSequence: 0
|
||||
}
|
||||
],
|
||||
uri: ''
|
||||
},
|
||||
es: {
|
||||
language: 'es',
|
||||
default: false,
|
||||
autoselect: false,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': 'es',
|
||||
'BANDWIDTH': 256,
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: 'https://example.com/es.vtt',
|
||||
targetDuration: 6,
|
||||
segments: [
|
||||
{
|
||||
uri: 'https://example.com/es.vtt',
|
||||
timeline: 0,
|
||||
resolvedUri: 'https://example.com/es.vtt',
|
||||
duration: 6,
|
||||
number: 0
|
||||
}
|
||||
],
|
||||
mediaSequence: 0
|
||||
}
|
||||
],
|
||||
uri: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
uri: '',
|
||||
duration: 6,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '482',
|
||||
'AUDIO': 'audio',
|
||||
'SUBTITLES': 'subs',
|
||||
'RESOLUTION': {
|
||||
width: 482,
|
||||
height: 270
|
||||
},
|
||||
'CODECS': 'avc1.420015',
|
||||
'BANDWIDTH': 449000,
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 1.9185833333333333,
|
||||
segments: [
|
||||
{
|
||||
uri: '482/0.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.9185833333333333,
|
||||
resolvedUri: 'https://www.example.com/482/0.m4f',
|
||||
map: {
|
||||
uri: '482/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/482/init.m4f'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: '482/1.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.9185833333333333,
|
||||
resolvedUri: 'https://www.example.com/482/1.m4f',
|
||||
map: {
|
||||
uri: '482/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/482/init.m4f'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: '482/2.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.9185833333333333,
|
||||
resolvedUri: 'https://www.example.com/482/2.m4f',
|
||||
map: {
|
||||
uri: '482/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/482/init.m4f'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: '482/3.m4f',
|
||||
timeline: 0,
|
||||
duration: 0.24425000000000008,
|
||||
resolvedUri: 'https://www.example.com/482/3.m4f',
|
||||
map: {
|
||||
uri: '482/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/482/init.m4f'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0,
|
||||
contentProtection: {
|
||||
'com.widevine.alpha': {
|
||||
attributes: {
|
||||
schemeIdUri: 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed'
|
||||
},
|
||||
pssh: new Uint8Array([181, 235, 45])
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '720',
|
||||
'AUDIO': 'audio',
|
||||
'SUBTITLES': 'subs',
|
||||
'RESOLUTION': {
|
||||
width: 720,
|
||||
height: 404
|
||||
},
|
||||
'CODECS': 'avc1.64001e',
|
||||
'BANDWIDTH': 3971000,
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 1.9185833333333333,
|
||||
segments: [
|
||||
{
|
||||
uri: '720/0.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.9185833333333333,
|
||||
resolvedUri: 'https://www.example.com/720/0.m4f',
|
||||
map: {
|
||||
uri: '720/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/720/init.m4f'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: '720/1.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.9185833333333333,
|
||||
resolvedUri: 'https://www.example.com/720/1.m4f',
|
||||
map: {
|
||||
uri: '720/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/720/init.m4f'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: '720/2.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.9185833333333333,
|
||||
resolvedUri: 'https://www.example.com/720/2.m4f',
|
||||
map: {
|
||||
uri: '720/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/720/init.m4f'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: '720/3.m4f',
|
||||
timeline: 0,
|
||||
duration: 0.24425000000000008,
|
||||
resolvedUri: 'https://www.example.com/720/3.m4f',
|
||||
map: {
|
||||
uri: '720/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/720/init.m4f'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0,
|
||||
contentProtection: {
|
||||
'com.widevine.alpha': {
|
||||
attributes: {
|
||||
schemeIdUri: 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed'
|
||||
},
|
||||
pssh: new Uint8Array([181, 235, 45])
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
60
node_modules/mpd-parser/test/manifests/maat_vtt_segmentTemplate.mpd
generated
vendored
Normal file
60
node_modules/mpd-parser/test/manifests/maat_vtt_segmentTemplate.mpd
generated
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT6S" minBufferTime="PT2.000S">
|
||||
<BaseURL>https://www.example.com/base</BaseURL>
|
||||
<Period>
|
||||
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="en">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate duration="95232" initialization="$RepresentationID$/init.m4f" media="$RepresentationID$/$Number$.m4f" startNumber="0" timescale="48000"></SegmentTemplate>
|
||||
<Representation audioSamplingRate="48000" bandwidth="63000" codecs="mp4a.40.2" id="63000">
|
||||
</Representation>
|
||||
<Representation audioSamplingRate="48000" bandwidth="125000" codecs="mp4a.40.2" id="125000">
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="es">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011"></Role>
|
||||
<SegmentTemplate duration="95232" initialization="$RepresentationID$/es/init.m4f" media="$RepresentationID$/es/$Number$.m4f" startNumber="0" timescale="48000"></SegmentTemplate>
|
||||
<Representation audioSamplingRate="48000" bandwidth="63000" codecs="mp4a.40.2" id="63000">
|
||||
</Representation>
|
||||
<Representation audioSamplingRate="48000" bandwidth="125000" codecs="mp4a.40.2" id="125000">
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate duration="46046" initialization="$RepresentationID$/init.m4f" media="$RepresentationID$/$Number$.m4f" startNumber="0" timescale="24000"></SegmentTemplate>
|
||||
<Representation bandwidth="449000" codecs="avc1.420015" frameRate="2997/125" height="270" id="482" width="482">
|
||||
</Representation>
|
||||
<Representation bandwidth="3971000" codecs="avc1.64001e" frameRate="2997/125" height="404" id="720" width="720">
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
|
||||
<AdaptationSet mimeType="text/vtt" lang="en">
|
||||
<Representation bandwidth="256" id="en">
|
||||
<BaseURL>https://example.com/en.vtt</BaseURL>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet mimeType="text/vtt" lang="es">
|
||||
<Representation bandwidth="256" id="es">
|
||||
<BaseURL>https://example.com/es.vtt</BaseURL>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
|
||||
</Period>
|
||||
</MPD>
|
1299
node_modules/mpd-parser/test/manifests/multiperiod-dynamic.js
generated
vendored
Normal file
1299
node_modules/mpd-parser/test/manifests/multiperiod-dynamic.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
143
node_modules/mpd-parser/test/manifests/multiperiod-dynamic.mpd
generated
vendored
Normal file
143
node_modules/mpd-parser/test/manifests/multiperiod-dynamic.mpd
generated
vendored
Normal file
|
@ -0,0 +1,143 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" mediaPresentationDuration="PT36.269S" minBufferTime="PT2.000S" suggestedPresentationDelay="PT18S">
|
||||
<Period id="0" duration="PT5.972633333S">
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="en">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/init0.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="0" timescale="44100">
|
||||
<SegmentTimeline>
|
||||
<S d="88064" r="2"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation audioSamplingRate="44100" bandwidth="123000" codecs="mp4a.40.2" id="default_audio128_2"></Representation>
|
||||
<Representation audioSamplingRate="44100" bandwidth="93000" codecs="mp4a.40.2" id="default_audio96_2"></Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/init0.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="0" timescale="30000">
|
||||
<SegmentTimeline>
|
||||
<S d="60060" r="1"></S>
|
||||
<S d="59059"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation bandwidth="2008000" codecs="avc1.4d001f" frameRate="2997/100" height="720" id="default_video2000_0_1280x720" width="1280"></Representation>
|
||||
<Representation bandwidth="1195000" codecs="avc1.4d001f" frameRate="2997/100" height="540" id="default_video1200_1_960x540" width="960"></Representation>
|
||||
<Representation bandwidth="884000" codecs="avc1.4d001e" frameRate="2997/100" height="360" id="default_video900_1_640x360" width="640"></Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
<Period id="1" duration="PT4.838166665S">
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="en">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/init1.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="3" timescale="44100">
|
||||
<SegmentTimeline>
|
||||
<S d="88064" r="1"></S>
|
||||
<S d="37888"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation audioSamplingRate="44100" bandwidth="123000" codecs="mp4a.40.2" id="default_audio128_2"></Representation>
|
||||
<Representation audioSamplingRate="44100" bandwidth="93000" codecs="mp4a.40.2" id="default_audio96_2"></Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/init1.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="3" timescale="30000">
|
||||
<SegmentTimeline>
|
||||
<S d="58058" r="1"></S>
|
||||
<S d="29029"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation bandwidth="2008000" codecs="avc1.4d001f" frameRate="2997/100" height="720" id="default_video2000_0_1280x720" width="1280"></Representation>
|
||||
<Representation bandwidth="1195000" codecs="avc1.4d001f" frameRate="2997/100" height="540" id="default_video1200_1_960x540" width="960"></Representation>
|
||||
<Representation bandwidth="884000" codecs="avc1.4d001e" frameRate="2997/100" height="360" id="default_video900_1_640x360" width="640"></Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
<Period id="2" duration="PT13.980633333S">
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="en">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/init2.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="6" timescale="44100">
|
||||
<SegmentTimeline>
|
||||
<S d="88064" r="6"></S>
|
||||
<S d="1024"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation audioSamplingRate="44100" bandwidth="123000" codecs="mp4a.40.2" id="default_audio128_2"></Representation>
|
||||
<Representation audioSamplingRate="44100" bandwidth="93000" codecs="mp4a.40.2" id="default_audio96_2"></Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/init2.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="6" timescale="30000">
|
||||
<SegmentTimeline>
|
||||
<S d="60060" r="5"></S>
|
||||
<S d="59059"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation bandwidth="2008000" codecs="avc1.4d001f" frameRate="2997/100" height="720" id="default_video2000_0_1280x720" width="1280"></Representation>
|
||||
<Representation bandwidth="1195000" codecs="avc1.4d001f" frameRate="2997/100" height="540" id="default_video1200_1_960x540" width="960"></Representation>
|
||||
<Representation bandwidth="884000" codecs="avc1.4d001e" frameRate="2997/100" height="360" id="default_video900_1_640x360" width="640"></Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
<Period id="3" duration="PT3.157913831S">
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="en">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate presentationTimeOffset="214016" initialization="https://example.com/$RepresentationID$/init3.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="14" timescale="44100">
|
||||
<SegmentTimeline>
|
||||
<S d="51200"></S>
|
||||
<S d="88064"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation audioSamplingRate="44100" bandwidth="123000" codecs="mp4a.40.2" id="default_audio128_2"></Representation>
|
||||
<Representation audioSamplingRate="44100" bandwidth="93000" codecs="mp4a.40.2" id="default_audio96_2"></Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate presentationTimeOffset="145145" initialization="https://example.com/$RepresentationID$/init3.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="13" timescale="30000">
|
||||
<SegmentTimeline>
|
||||
<S d="29029"></S>
|
||||
<S d="58058"></S>
|
||||
<S d="8008"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation bandwidth="2008000" codecs="avc1.4d001f" frameRate="2997/100" height="720" id="default_video2000_0_1280x720" width="1280"></Representation>
|
||||
<Representation bandwidth="1195000" codecs="avc1.4d001f" frameRate="2997/100" height="540" id="default_video1200_1_960x540" width="960"></Representation>
|
||||
<Representation bandwidth="884000" codecs="avc1.4d001e" frameRate="2997/100" height="360" id="default_video900_1_640x360" width="640"></Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
<Period id="4" duration="PT7.987664396S">
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="en">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/segment$Number$.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="16" timescale="44100">
|
||||
<SegmentTimeline>
|
||||
<S d="88064" r="3"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation audioSamplingRate="44100" bandwidth="123000" codecs="mp4a.40.2" id="default_audio128_2"></Representation>
|
||||
<Representation audioSamplingRate="44100" bandwidth="93000" codecs="mp4a.40.2" id="default_audio96_2"></Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/segment$Number$.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="16" timescale="30000">
|
||||
<SegmentTimeline>
|
||||
<S d="60060" r="2"></S>
|
||||
<S d="59059"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation bandwidth="2008000" codecs="avc1.4d001f" frameRate="2997/100" height="720" id="default_video2000_0_1280x720" width="1280"></Representation>
|
||||
<Representation bandwidth="1195000" codecs="avc1.4d001f" frameRate="2997/100" height="540" id="default_video1200_1_960x540" width="960"></Representation>
|
||||
<Representation bandwidth="884000" codecs="avc1.4d001e" frameRate="2997/100" height="360" id="default_video900_1_640x360" width="640"></Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
</MPD>
|
1298
node_modules/mpd-parser/test/manifests/multiperiod.js
generated
vendored
Normal file
1298
node_modules/mpd-parser/test/manifests/multiperiod.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
143
node_modules/mpd-parser/test/manifests/multiperiod.mpd
generated
vendored
Normal file
143
node_modules/mpd-parser/test/manifests/multiperiod.mpd
generated
vendored
Normal file
|
@ -0,0 +1,143 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT36.269S" minBufferTime="PT2.000S">
|
||||
<Period id="0" duration="PT5.972633333S">
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="en">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/init0.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="0" timescale="44100">
|
||||
<SegmentTimeline>
|
||||
<S d="88064" r="2"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation audioSamplingRate="44100" bandwidth="123000" codecs="mp4a.40.2" id="default_audio128_2"></Representation>
|
||||
<Representation audioSamplingRate="44100" bandwidth="93000" codecs="mp4a.40.2" id="default_audio96_2"></Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/init0.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="0" timescale="30000">
|
||||
<SegmentTimeline>
|
||||
<S d="60060" r="1"></S>
|
||||
<S d="59059"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation bandwidth="2008000" codecs="avc1.4d001f" frameRate="2997/100" height="720" id="default_video2000_0_1280x720" width="1280"></Representation>
|
||||
<Representation bandwidth="1195000" codecs="avc1.4d001f" frameRate="2997/100" height="540" id="default_video1200_1_960x540" width="960"></Representation>
|
||||
<Representation bandwidth="884000" codecs="avc1.4d001e" frameRate="2997/100" height="360" id="default_video900_1_640x360" width="640"></Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
<Period id="1" duration="PT4.838166665S">
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="en">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/init1.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="3" timescale="44100">
|
||||
<SegmentTimeline>
|
||||
<S d="88064" r="1"></S>
|
||||
<S d="37888"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation audioSamplingRate="44100" bandwidth="123000" codecs="mp4a.40.2" id="default_audio128_2"></Representation>
|
||||
<Representation audioSamplingRate="44100" bandwidth="93000" codecs="mp4a.40.2" id="default_audio96_2"></Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/init1.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="3" timescale="30000">
|
||||
<SegmentTimeline>
|
||||
<S d="58058" r="1"></S>
|
||||
<S d="29029"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation bandwidth="2008000" codecs="avc1.4d001f" frameRate="2997/100" height="720" id="default_video2000_0_1280x720" width="1280"></Representation>
|
||||
<Representation bandwidth="1195000" codecs="avc1.4d001f" frameRate="2997/100" height="540" id="default_video1200_1_960x540" width="960"></Representation>
|
||||
<Representation bandwidth="884000" codecs="avc1.4d001e" frameRate="2997/100" height="360" id="default_video900_1_640x360" width="640"></Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
<Period id="2" duration="PT13.980633333S">
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="en">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/init2.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="6" timescale="44100">
|
||||
<SegmentTimeline>
|
||||
<S d="88064" r="6"></S>
|
||||
<S d="1024"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation audioSamplingRate="44100" bandwidth="123000" codecs="mp4a.40.2" id="default_audio128_2"></Representation>
|
||||
<Representation audioSamplingRate="44100" bandwidth="93000" codecs="mp4a.40.2" id="default_audio96_2"></Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/init2.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="6" timescale="30000">
|
||||
<SegmentTimeline>
|
||||
<S d="60060" r="5"></S>
|
||||
<S d="59059"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation bandwidth="2008000" codecs="avc1.4d001f" frameRate="2997/100" height="720" id="default_video2000_0_1280x720" width="1280"></Representation>
|
||||
<Representation bandwidth="1195000" codecs="avc1.4d001f" frameRate="2997/100" height="540" id="default_video1200_1_960x540" width="960"></Representation>
|
||||
<Representation bandwidth="884000" codecs="avc1.4d001e" frameRate="2997/100" height="360" id="default_video900_1_640x360" width="640"></Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
<Period id="3" duration="PT3.157913831S">
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="en">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate presentationTimeOffset="214016" initialization="https://example.com/$RepresentationID$/init3.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="14" timescale="44100">
|
||||
<SegmentTimeline>
|
||||
<S d="51200"></S>
|
||||
<S d="88064"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation audioSamplingRate="44100" bandwidth="123000" codecs="mp4a.40.2" id="default_audio128_2"></Representation>
|
||||
<Representation audioSamplingRate="44100" bandwidth="93000" codecs="mp4a.40.2" id="default_audio96_2"></Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate presentationTimeOffset="145145" initialization="https://example.com/$RepresentationID$/init3.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="13" timescale="30000">
|
||||
<SegmentTimeline>
|
||||
<S d="29029"></S>
|
||||
<S d="58058"></S>
|
||||
<S d="8008"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation bandwidth="2008000" codecs="avc1.4d001f" frameRate="2997/100" height="720" id="default_video2000_0_1280x720" width="1280"></Representation>
|
||||
<Representation bandwidth="1195000" codecs="avc1.4d001f" frameRate="2997/100" height="540" id="default_video1200_1_960x540" width="960"></Representation>
|
||||
<Representation bandwidth="884000" codecs="avc1.4d001e" frameRate="2997/100" height="360" id="default_video900_1_640x360" width="640"></Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
<Period id="4" duration="PT7.987664396S">
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="en">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/segment$Number$.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="16" timescale="44100">
|
||||
<SegmentTimeline>
|
||||
<S d="88064" r="3"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation audioSamplingRate="44100" bandwidth="123000" codecs="mp4a.40.2" id="default_audio128_2"></Representation>
|
||||
<Representation audioSamplingRate="44100" bandwidth="93000" codecs="mp4a.40.2" id="default_audio96_2"></Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate initialization="https://example.com/$RepresentationID$/segment$Number$.m4f" media="https://example.com/$RepresentationID$/segment$Number$.m4f" startNumber="16" timescale="30000">
|
||||
<SegmentTimeline>
|
||||
<S d="60060" r="2"></S>
|
||||
<S d="59059"></S>
|
||||
</SegmentTimeline>
|
||||
</SegmentTemplate>
|
||||
<Representation bandwidth="2008000" codecs="avc1.4d001f" frameRate="2997/100" height="720" id="default_video2000_0_1280x720" width="1280"></Representation>
|
||||
<Representation bandwidth="1195000" codecs="avc1.4d001f" frameRate="2997/100" height="540" id="default_video1200_1_960x540" width="960"></Representation>
|
||||
<Representation bandwidth="884000" codecs="avc1.4d001e" frameRate="2997/100" height="360" id="default_video900_1_640x360" width="640"></Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
</MPD>
|
49
node_modules/mpd-parser/test/manifests/segmentBase.js
generated
vendored
Normal file
49
node_modules/mpd-parser/test/manifests/segmentBase.js
generated
vendored
Normal file
|
@ -0,0 +1,49 @@
|
|||
export const parsedManifest = {
|
||||
allowCache: true,
|
||||
discontinuityStarts: [],
|
||||
duration: 6,
|
||||
endList: true,
|
||||
mediaGroups: {
|
||||
'AUDIO': {},
|
||||
'CLOSED-CAPTIONS': {},
|
||||
'SUBTITLES': {},
|
||||
'VIDEO': {}
|
||||
},
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'AUDIO': 'audio',
|
||||
'BANDWIDTH': 449000,
|
||||
'CODECS': 'avc1.420015',
|
||||
'NAME': '482',
|
||||
'PROGRAM-ID': 1,
|
||||
'RESOLUTION': {
|
||||
height: 270,
|
||||
width: 482
|
||||
},
|
||||
'SUBTITLES': 'subs'
|
||||
},
|
||||
endList: true,
|
||||
resolvedUri: '',
|
||||
targetDuration: 6,
|
||||
mediaSequence: 0,
|
||||
segments: [
|
||||
{
|
||||
duration: 6,
|
||||
timeline: 0,
|
||||
number: 0,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/1080p.ts'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/1080p.ts',
|
||||
uri: 'https://www.example.com/1080p.ts'
|
||||
}
|
||||
],
|
||||
timeline: 0,
|
||||
uri: ''
|
||||
}
|
||||
],
|
||||
segments: [],
|
||||
uri: ''
|
||||
};
|
16
node_modules/mpd-parser/test/manifests/segmentBase.mpd
generated
vendored
Normal file
16
node_modules/mpd-parser/test/manifests/segmentBase.mpd
generated
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT6S" minBufferTime="PT2.000S">
|
||||
<BaseURL>https://www.example.com/base</BaseURL>
|
||||
<Period>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<Representation bandwidth="449000" codecs="avc1.420015" frameRate="2997/125" height="270" id="482" width="482" >
|
||||
<SegmentBase></SegmentBase>
|
||||
</Representation>
|
||||
<BaseURL>1080p.ts</BaseURL>
|
||||
<SegmentBase>
|
||||
<RepresentationIndex sourceURL="1080p.sidx"/>
|
||||
</SegmentBase>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
</MPD>
|
236
node_modules/mpd-parser/test/manifests/segmentList.js
generated
vendored
Normal file
236
node_modules/mpd-parser/test/manifests/segmentList.js
generated
vendored
Normal file
|
@ -0,0 +1,236 @@
|
|||
export const parsedManifest = {
|
||||
allowCache: true,
|
||||
discontinuityStarts: [],
|
||||
duration: 6,
|
||||
endList: true,
|
||||
mediaGroups: {
|
||||
'AUDIO': {},
|
||||
'CLOSED-CAPTIONS': {},
|
||||
'SUBTITLES': {},
|
||||
'VIDEO': {}
|
||||
},
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'AUDIO': 'audio',
|
||||
'BANDWIDTH': 449000,
|
||||
'CODECS': 'avc1.420015',
|
||||
'NAME': '482',
|
||||
'PROGRAM-ID': 1,
|
||||
'RESOLUTION': {
|
||||
height: 270,
|
||||
width: 482
|
||||
},
|
||||
'SUBTITLES': 'subs'
|
||||
},
|
||||
endList: true,
|
||||
mediaSequence: 1,
|
||||
targetDuration: 1,
|
||||
resolvedUri: '',
|
||||
segments: [
|
||||
{
|
||||
duration: 1,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/low/segment-1.ts',
|
||||
timeline: 0,
|
||||
uri: 'low/segment-1.ts',
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
duration: 1,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/low/segment-2.ts',
|
||||
timeline: 0,
|
||||
uri: 'low/segment-2.ts',
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
duration: 1,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/low/segment-3.ts',
|
||||
timeline: 0,
|
||||
uri: 'low/segment-3.ts',
|
||||
number: 3
|
||||
},
|
||||
{
|
||||
duration: 1,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/low/segment-4.ts',
|
||||
timeline: 0,
|
||||
uri: 'low/segment-4.ts',
|
||||
number: 4
|
||||
},
|
||||
{
|
||||
duration: 1,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/low/segment-5.ts',
|
||||
timeline: 0,
|
||||
uri: 'low/segment-5.ts',
|
||||
number: 5
|
||||
},
|
||||
{
|
||||
duration: 1,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/low/segment-6.ts',
|
||||
timeline: 0,
|
||||
uri: 'low/segment-6.ts',
|
||||
number: 6
|
||||
}
|
||||
],
|
||||
timeline: 0,
|
||||
uri: ''
|
||||
},
|
||||
{
|
||||
attributes: {
|
||||
'AUDIO': 'audio',
|
||||
'BANDWIDTH': 3971000,
|
||||
'CODECS': 'avc1.420015',
|
||||
'NAME': '720',
|
||||
'PROGRAM-ID': 1,
|
||||
'RESOLUTION': {
|
||||
height: 404,
|
||||
width: 720
|
||||
},
|
||||
'SUBTITLES': 'subs'
|
||||
},
|
||||
endList: true,
|
||||
resolvedUri: '',
|
||||
mediaSequence: 1,
|
||||
targetDuration: 60,
|
||||
segments: [
|
||||
{
|
||||
duration: 60,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/high/segment-1.ts',
|
||||
timeline: 0,
|
||||
uri: 'high/segment-1.ts',
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
duration: 60,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/high/segment-2.ts',
|
||||
timeline: 0,
|
||||
uri: 'high/segment-2.ts',
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
duration: 60,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/high/segment-3.ts',
|
||||
timeline: 0,
|
||||
uri: 'high/segment-3.ts',
|
||||
number: 3
|
||||
},
|
||||
{
|
||||
duration: 60,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/high/segment-4.ts',
|
||||
timeline: 0,
|
||||
uri: 'high/segment-4.ts',
|
||||
number: 4
|
||||
},
|
||||
{
|
||||
duration: 60,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/high/segment-5.ts',
|
||||
timeline: 0,
|
||||
uri: 'high/segment-5.ts',
|
||||
number: 5
|
||||
},
|
||||
{
|
||||
duration: 60,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/high/segment-6.ts',
|
||||
timeline: 0,
|
||||
uri: 'high/segment-6.ts',
|
||||
number: 6
|
||||
},
|
||||
{
|
||||
duration: 60,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/high/segment-7.ts',
|
||||
timeline: 0,
|
||||
uri: 'high/segment-7.ts',
|
||||
number: 7
|
||||
},
|
||||
{
|
||||
duration: 60,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/high/segment-8.ts',
|
||||
timeline: 0,
|
||||
uri: 'high/segment-8.ts',
|
||||
number: 8
|
||||
},
|
||||
{
|
||||
duration: 60,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/high/segment-9.ts',
|
||||
timeline: 0,
|
||||
uri: 'high/segment-9.ts',
|
||||
number: 9
|
||||
},
|
||||
{
|
||||
duration: 60,
|
||||
map: {
|
||||
uri: '',
|
||||
resolvedUri: 'https://www.example.com/base'
|
||||
},
|
||||
resolvedUri: 'https://www.example.com/high/segment-10.ts',
|
||||
timeline: 0,
|
||||
uri: 'high/segment-10.ts',
|
||||
number: 10
|
||||
}
|
||||
],
|
||||
timeline: 0,
|
||||
uri: ''
|
||||
}
|
||||
],
|
||||
segments: [],
|
||||
uri: ''
|
||||
};
|
47
node_modules/mpd-parser/test/manifests/segmentList.mpd
generated
vendored
Normal file
47
node_modules/mpd-parser/test/manifests/segmentList.mpd
generated
vendored
Normal file
|
@ -0,0 +1,47 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT6S" minBufferTime="PT2.000S">
|
||||
<BaseURL>https://www.example.com/base</BaseURL>
|
||||
<Period>
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<Representation bandwidth="449000" codecs="avc1.420015" frameRate="2997/125" height="270" id="482" width="482" >
|
||||
</Representation>
|
||||
<SegmentList timescale="1000" duration="1000">
|
||||
<RepresentationIndex sourceURL="representation-index-low"/>
|
||||
<SegmentURL media="low/segment-1.ts"/>
|
||||
<SegmentURL media="low/segment-2.ts"/>
|
||||
<SegmentURL media="low/segment-3.ts"/>
|
||||
<SegmentURL media="low/segment-4.ts"/>
|
||||
<SegmentURL media="low/segment-5.ts"/>
|
||||
<SegmentURL media="low/segment-6.ts"/>
|
||||
<SegmentURL media="low/segment-7.ts"/>
|
||||
<SegmentURL media="low/segment-8.ts"/>
|
||||
<SegmentURL media="low/segment-9.ts"/>
|
||||
<SegmentURL media="low/segment-10.ts"/>
|
||||
</SegmentList>
|
||||
</AdaptationSet>
|
||||
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<Representation bandwidth="3971000" codecs="avc1.420015" frameRate="2997/125" height="404" id="720" width="720" >
|
||||
<SegmentList timescale="90000">
|
||||
<RepresentationIndex sourceURL="representation-index-high"/>
|
||||
<SegmentTimeline>
|
||||
<S t="0" r="9" d="5400000"/>
|
||||
</SegmentTimeline>
|
||||
<SegmentURL media="high/segment-1.ts"/>
|
||||
<SegmentURL media="high/segment-2.ts"/>
|
||||
<SegmentURL media="high/segment-3.ts"/>
|
||||
<SegmentURL media="high/segment-4.ts"/>
|
||||
<SegmentURL media="high/segment-5.ts"/>
|
||||
<SegmentURL media="high/segment-6.ts"/>
|
||||
<SegmentURL media="high/segment-7.ts"/>
|
||||
<SegmentURL media="high/segment-8.ts"/>
|
||||
<SegmentURL media="high/segment-9.ts"/>
|
||||
<SegmentURL media="high/segment-10.ts"/>
|
||||
</SegmentList>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
|
||||
</Period>
|
||||
</MPD>
|
519
node_modules/mpd-parser/test/manifests/vtt_codecs.js
generated
vendored
Normal file
519
node_modules/mpd-parser/test/manifests/vtt_codecs.js
generated
vendored
Normal file
|
@ -0,0 +1,519 @@
|
|||
export const parsedManifest = {
|
||||
allowCache: true,
|
||||
discontinuityStarts: [],
|
||||
segments: [],
|
||||
endList: true,
|
||||
mediaGroups: {
|
||||
'AUDIO': {
|
||||
audio: {
|
||||
'en (main)': {
|
||||
language: 'en',
|
||||
autoselect: true,
|
||||
default: true,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '63000',
|
||||
'BANDWIDTH': 63000,
|
||||
'CODECS': 'mp4a.40.2',
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 1.984,
|
||||
segments: [
|
||||
{
|
||||
uri: '63000/0.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/63000/0.m4f',
|
||||
map: {
|
||||
uri: '63000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/init.m4f'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: '63000/1.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/63000/1.m4f',
|
||||
map: {
|
||||
uri: '63000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/init.m4f'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: '63000/2.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/63000/2.m4f',
|
||||
map: {
|
||||
uri: '63000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/init.m4f'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: '63000/3.m4f',
|
||||
timeline: 0,
|
||||
duration: 0.04800000000000004,
|
||||
resolvedUri: 'https://www.example.com/63000/3.m4f',
|
||||
map: {
|
||||
uri: '63000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/init.m4f'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0,
|
||||
contentProtection: {
|
||||
'com.widevine.alpha': {
|
||||
attributes: {
|
||||
schemeIdUri: 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed'
|
||||
},
|
||||
pssh: new Uint8Array([181, 235, 45])
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '125000',
|
||||
'BANDWIDTH': 125000,
|
||||
'CODECS': 'mp4a.40.2',
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 1.984,
|
||||
segments: [
|
||||
{
|
||||
uri: '125000/0.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/125000/0.m4f',
|
||||
map: {
|
||||
uri: '125000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/init.m4f'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: '125000/1.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/125000/1.m4f',
|
||||
map: {
|
||||
uri: '125000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/init.m4f'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: '125000/2.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/125000/2.m4f',
|
||||
map: {
|
||||
uri: '125000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/init.m4f'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: '125000/3.m4f',
|
||||
timeline: 0,
|
||||
duration: 0.04800000000000004,
|
||||
resolvedUri: 'https://www.example.com/125000/3.m4f',
|
||||
map: {
|
||||
uri: '125000/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/init.m4f'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0,
|
||||
contentProtection: {
|
||||
'com.widevine.alpha': {
|
||||
attributes: {
|
||||
schemeIdUri: 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed'
|
||||
},
|
||||
pssh: new Uint8Array([181, 235, 45])
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
uri: ''
|
||||
},
|
||||
'es': {
|
||||
language: 'es',
|
||||
autoselect: true,
|
||||
default: false,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '63000',
|
||||
'BANDWIDTH': 63000,
|
||||
'CODECS': 'mp4a.40.2',
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 1.984,
|
||||
segments: [
|
||||
{
|
||||
uri: '63000/es/0.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/63000/es/0.m4f',
|
||||
map: {
|
||||
uri: '63000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/es/init.m4f'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: '63000/es/1.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/63000/es/1.m4f',
|
||||
map: {
|
||||
uri: '63000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/es/init.m4f'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: '63000/es/2.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/63000/es/2.m4f',
|
||||
map: {
|
||||
uri: '63000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/es/init.m4f'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: '63000/es/3.m4f',
|
||||
timeline: 0,
|
||||
duration: 0.04800000000000004,
|
||||
resolvedUri: 'https://www.example.com/63000/es/3.m4f',
|
||||
map: {
|
||||
uri: '63000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/63000/es/init.m4f'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0,
|
||||
contentProtection: {
|
||||
'com.widevine.alpha': {
|
||||
attributes: {
|
||||
schemeIdUri: 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed'
|
||||
},
|
||||
pssh: new Uint8Array([181, 235, 45])
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '125000',
|
||||
'BANDWIDTH': 125000,
|
||||
'CODECS': 'mp4a.40.2',
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 1.984,
|
||||
segments: [
|
||||
{
|
||||
uri: '125000/es/0.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/125000/es/0.m4f',
|
||||
map: {
|
||||
uri: '125000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/es/init.m4f'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: '125000/es/1.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/125000/es/1.m4f',
|
||||
map: {
|
||||
uri: '125000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/es/init.m4f'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: '125000/es/2.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.984,
|
||||
resolvedUri: 'https://www.example.com/125000/es/2.m4f',
|
||||
map: {
|
||||
uri: '125000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/es/init.m4f'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: '125000/es/3.m4f',
|
||||
timeline: 0,
|
||||
duration: 0.04800000000000004,
|
||||
resolvedUri: 'https://www.example.com/125000/es/3.m4f',
|
||||
map: {
|
||||
uri: '125000/es/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/125000/es/init.m4f'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0,
|
||||
contentProtection: {
|
||||
'com.widevine.alpha': {
|
||||
attributes: {
|
||||
schemeIdUri: 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed'
|
||||
},
|
||||
pssh: new Uint8Array([181, 235, 45])
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
uri: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
'VIDEO': {},
|
||||
'CLOSED-CAPTIONS': {},
|
||||
'SUBTITLES': {
|
||||
subs: {
|
||||
en: {
|
||||
language: 'en',
|
||||
default: false,
|
||||
autoselect: false,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': 'en',
|
||||
'BANDWIDTH': 256,
|
||||
'PROGRAM-ID': 1,
|
||||
'CODECS': 'stpp.ttml.im1t'
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: 'https://example.com/en.dash',
|
||||
targetDuration: 6,
|
||||
segments: [
|
||||
{
|
||||
uri: 'https://example.com/en.dash',
|
||||
timeline: 0,
|
||||
resolvedUri: 'https://example.com/en.dash',
|
||||
duration: 6,
|
||||
number: 0
|
||||
}
|
||||
],
|
||||
mediaSequence: 0
|
||||
}
|
||||
],
|
||||
uri: ''
|
||||
},
|
||||
es: {
|
||||
language: 'es',
|
||||
default: false,
|
||||
autoselect: false,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': 'es',
|
||||
'BANDWIDTH': 256,
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: 'https://example.com/es.vtt',
|
||||
targetDuration: 6,
|
||||
segments: [
|
||||
{
|
||||
uri: 'https://example.com/es.vtt',
|
||||
timeline: 0,
|
||||
resolvedUri: 'https://example.com/es.vtt',
|
||||
duration: 6,
|
||||
number: 0
|
||||
}
|
||||
],
|
||||
mediaSequence: 0
|
||||
}
|
||||
],
|
||||
uri: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
uri: '',
|
||||
duration: 6,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '482',
|
||||
'AUDIO': 'audio',
|
||||
'SUBTITLES': 'subs',
|
||||
'RESOLUTION': {
|
||||
width: 482,
|
||||
height: 270
|
||||
},
|
||||
'CODECS': 'avc1.420015',
|
||||
'BANDWIDTH': 449000,
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 1.9185833333333333,
|
||||
segments: [
|
||||
{
|
||||
uri: '482/0.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.9185833333333333,
|
||||
resolvedUri: 'https://www.example.com/482/0.m4f',
|
||||
map: {
|
||||
uri: '482/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/482/init.m4f'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: '482/1.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.9185833333333333,
|
||||
resolvedUri: 'https://www.example.com/482/1.m4f',
|
||||
map: {
|
||||
uri: '482/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/482/init.m4f'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: '482/2.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.9185833333333333,
|
||||
resolvedUri: 'https://www.example.com/482/2.m4f',
|
||||
map: {
|
||||
uri: '482/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/482/init.m4f'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: '482/3.m4f',
|
||||
timeline: 0,
|
||||
duration: 0.24425000000000008,
|
||||
resolvedUri: 'https://www.example.com/482/3.m4f',
|
||||
map: {
|
||||
uri: '482/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/482/init.m4f'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0,
|
||||
contentProtection: {
|
||||
'com.widevine.alpha': {
|
||||
attributes: {
|
||||
schemeIdUri: 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed'
|
||||
},
|
||||
pssh: new Uint8Array([181, 235, 45])
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '720',
|
||||
'AUDIO': 'audio',
|
||||
'SUBTITLES': 'subs',
|
||||
'RESOLUTION': {
|
||||
width: 720,
|
||||
height: 404
|
||||
},
|
||||
'CODECS': 'avc1.64001e',
|
||||
'BANDWIDTH': 3971000,
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 0,
|
||||
resolvedUri: '',
|
||||
targetDuration: 1.9185833333333333,
|
||||
segments: [
|
||||
{
|
||||
uri: '720/0.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.9185833333333333,
|
||||
resolvedUri: 'https://www.example.com/720/0.m4f',
|
||||
map: {
|
||||
uri: '720/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/720/init.m4f'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: '720/1.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.9185833333333333,
|
||||
resolvedUri: 'https://www.example.com/720/1.m4f',
|
||||
map: {
|
||||
uri: '720/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/720/init.m4f'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: '720/2.m4f',
|
||||
timeline: 0,
|
||||
duration: 1.9185833333333333,
|
||||
resolvedUri: 'https://www.example.com/720/2.m4f',
|
||||
map: {
|
||||
uri: '720/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/720/init.m4f'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: '720/3.m4f',
|
||||
timeline: 0,
|
||||
duration: 0.24425000000000008,
|
||||
resolvedUri: 'https://www.example.com/720/3.m4f',
|
||||
map: {
|
||||
uri: '720/init.m4f',
|
||||
resolvedUri: 'https://www.example.com/720/init.m4f'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0,
|
||||
contentProtection: {
|
||||
'com.widevine.alpha': {
|
||||
attributes: {
|
||||
schemeIdUri: 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed'
|
||||
},
|
||||
pssh: new Uint8Array([181, 235, 45])
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
60
node_modules/mpd-parser/test/manifests/vtt_codecs.mpd
generated
vendored
Normal file
60
node_modules/mpd-parser/test/manifests/vtt_codecs.mpd
generated
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT6S" minBufferTime="PT2.000S">
|
||||
<BaseURL>https://www.example.com/base</BaseURL>
|
||||
<Period>
|
||||
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="en">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate duration="95232" initialization="$RepresentationID$/init.m4f" media="$RepresentationID$/$Number$.m4f" startNumber="0" timescale="48000"></SegmentTemplate>
|
||||
<Representation audioSamplingRate="48000" bandwidth="63000" codecs="mp4a.40.2" id="63000">
|
||||
</Representation>
|
||||
<Representation audioSamplingRate="48000" bandwidth="125000" codecs="mp4a.40.2" id="125000">
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
|
||||
<AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" lang="es">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011"></Role>
|
||||
<SegmentTemplate duration="95232" initialization="$RepresentationID$/es/init.m4f" media="$RepresentationID$/es/$Number$.m4f" startNumber="0" timescale="48000"></SegmentTemplate>
|
||||
<Representation audioSamplingRate="48000" bandwidth="63000" codecs="mp4a.40.2" id="63000">
|
||||
</Representation>
|
||||
<Representation audioSamplingRate="48000" bandwidth="125000" codecs="mp4a.40.2" id="125000">
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
|
||||
<AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="aaa"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>test</cenc:pssh>
|
||||
</ContentProtection>
|
||||
|
||||
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
|
||||
<SegmentTemplate duration="46046" initialization="$RepresentationID$/init.m4f" media="$RepresentationID$/$Number$.m4f" startNumber="0" timescale="24000"></SegmentTemplate>
|
||||
<Representation bandwidth="449000" codecs="avc1.420015" frameRate="2997/125" height="270" id="482" width="482">
|
||||
</Representation>
|
||||
<Representation bandwidth="3971000" codecs="avc1.64001e" frameRate="2997/125" height="404" id="720" width="720">
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
|
||||
<AdaptationSet contentType="text" mimeType="application/mp4" lang="en" codecs="stpp.ttml.im1t">
|
||||
<Representation bandwidth="256" id="en">
|
||||
<BaseURL>https://example.com/en.dash</BaseURL>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet mimeType="text/vtt" lang="es">
|
||||
<Representation bandwidth="256" id="es">
|
||||
<BaseURL>https://example.com/es.vtt</BaseURL>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
|
||||
</Period>
|
||||
</MPD>
|
153
node_modules/mpd-parser/test/manifests/webmsegments.js
generated
vendored
Normal file
153
node_modules/mpd-parser/test/manifests/webmsegments.js
generated
vendored
Normal file
|
@ -0,0 +1,153 @@
|
|||
export const parsedManifest = {
|
||||
allowCache: true,
|
||||
discontinuityStarts: [],
|
||||
segments: [],
|
||||
endList: true,
|
||||
mediaGroups: {
|
||||
'AUDIO': {
|
||||
audio: {
|
||||
en: {
|
||||
language: 'en',
|
||||
autoselect: true,
|
||||
default: true,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '2',
|
||||
'BANDWIDTH': 32000,
|
||||
'CODECS': 'opus',
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 1,
|
||||
resolvedUri: '',
|
||||
targetDuration: 4,
|
||||
segments: [
|
||||
{
|
||||
uri: 'audio/segment_0.chk',
|
||||
timeline: 1,
|
||||
duration: 4,
|
||||
resolvedUri: 'https://www.example.com/audio/segment_0.chk',
|
||||
map: {
|
||||
uri: 'audio/init.hdr',
|
||||
resolvedUri: 'https://www.example.com/audio/init.hdr'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: 'audio/segment_1.chk',
|
||||
timeline: 1,
|
||||
duration: 4,
|
||||
resolvedUri: 'https://www.example.com/audio/segment_1.chk',
|
||||
map: {
|
||||
uri: 'audio/init.hdr',
|
||||
resolvedUri: 'https://www.example.com/audio/init.hdr'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: 'audio/segment_2.chk',
|
||||
timeline: 1,
|
||||
duration: 4,
|
||||
resolvedUri: 'https://www.example.com/audio/segment_2.chk',
|
||||
map: {
|
||||
uri: 'audio/init.hdr',
|
||||
resolvedUri: 'https://www.example.com/audio/init.hdr'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: 'audio/segment_3.chk',
|
||||
timeline: 1,
|
||||
duration: 4,
|
||||
resolvedUri: 'https://www.example.com/audio/segment_3.chk',
|
||||
map: {
|
||||
uri: 'audio/init.hdr',
|
||||
resolvedUri: 'https://www.example.com/audio/init.hdr'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0
|
||||
}
|
||||
],
|
||||
uri: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
'VIDEO': {},
|
||||
'CLOSED-CAPTIONS': {},
|
||||
'SUBTITLES': {}
|
||||
},
|
||||
uri: '',
|
||||
duration: 16,
|
||||
playlists: [
|
||||
{
|
||||
attributes: {
|
||||
'NAME': '1',
|
||||
'AUDIO': 'audio',
|
||||
'SUBTITLES': 'subs',
|
||||
'RESOLUTION': {
|
||||
width: 480,
|
||||
height: 200
|
||||
},
|
||||
'CODECS': 'av1',
|
||||
'BANDWIDTH': 100000,
|
||||
'PROGRAM-ID': 1
|
||||
},
|
||||
uri: '',
|
||||
endList: true,
|
||||
timeline: 1,
|
||||
resolvedUri: '',
|
||||
targetDuration: 4,
|
||||
segments: [
|
||||
{
|
||||
uri: 'video/segment_0.chk',
|
||||
timeline: 1,
|
||||
duration: 4,
|
||||
resolvedUri: 'https://www.example.com/video/segment_0.chk',
|
||||
map: {
|
||||
uri: 'video/init.hdr',
|
||||
resolvedUri: 'https://www.example.com/video/init.hdr'
|
||||
},
|
||||
number: 0
|
||||
},
|
||||
{
|
||||
uri: 'video/segment_1.chk',
|
||||
timeline: 1,
|
||||
duration: 4,
|
||||
resolvedUri: 'https://www.example.com/video/segment_1.chk',
|
||||
map: {
|
||||
uri: 'video/init.hdr',
|
||||
resolvedUri: 'https://www.example.com/video/init.hdr'
|
||||
},
|
||||
number: 1
|
||||
},
|
||||
{
|
||||
uri: 'video/segment_2.chk',
|
||||
timeline: 1,
|
||||
duration: 4,
|
||||
resolvedUri: 'https://www.example.com/video/segment_2.chk',
|
||||
map: {
|
||||
uri: 'video/init.hdr',
|
||||
resolvedUri: 'https://www.example.com/video/init.hdr'
|
||||
},
|
||||
number: 2
|
||||
},
|
||||
{
|
||||
uri: 'video/segment_3.chk',
|
||||
timeline: 1,
|
||||
duration: 4,
|
||||
resolvedUri: 'https://www.example.com/video/segment_3.chk',
|
||||
map: {
|
||||
uri: 'video/init.hdr',
|
||||
resolvedUri: 'https://www.example.com/video/init.hdr'
|
||||
},
|
||||
number: 3
|
||||
}
|
||||
],
|
||||
mediaSequence: 0
|
||||
}
|
||||
]
|
||||
};
|
21
node_modules/mpd-parser/test/manifests/webmsegments.mpd
generated
vendored
Normal file
21
node_modules/mpd-parser/test/manifests/webmsegments.mpd
generated
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<MPD id="a467fa27-2820-41d1-89e2-a43216770daa" profiles="urn:mpeg:dash:profile:full:2011" type="static"
|
||||
mediaPresentationDuration="P0Y0M0DT0H0M16S" minBufferTime="P0Y0M0DT0H0M2.000S"
|
||||
xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:ns2="http://www.w3.org/1999/xlink">
|
||||
<Period id="1" start="P0Y0M0DT0H0M0.000S">
|
||||
<BaseURL>https://www.example.com/base</BaseURL>
|
||||
<AdaptationSet mimeType="video/webm">
|
||||
<Representation id="1" bandwidth="100000" width="480" height="200" frameRate="24" codecs="av1">
|
||||
<SegmentTemplate media="video/segment_$Number$.chk" initialization="video/init.hdr" duration="96000"
|
||||
startNumber="0" timescale="24000"/>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet lang="en" mimeType="audio/webm">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<Representation id="2" bandwidth="32000" audioSamplingRate="48000" codecs="opus">
|
||||
<SegmentTemplate media="audio/segment_$Number$.chk" initialization="audio/init.hdr" duration="192000"
|
||||
startNumber="0" timescale="48000"/>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
</Period>
|
||||
</MPD>
|
Loading…
Add table
Add a link
Reference in a new issue