Update upstream source from tag 'upstream/2.6.14+ds1'
Update to upstream version '2.6.14+ds1'
with Debian dir eecb28ad3f11a7003d12850f570a469ae9951f27
Vasyl Gello
3 years ago
0 | language: cpp | |
1 | ||
2 | # | |
3 | # Define the build matrix | |
4 | # | |
5 | # Travis defaults to building on Ubuntu Precise when building on | |
6 | # Linux. We need Trusty in order to get up to date versions of | |
7 | # cmake and g++. | |
8 | # | |
9 | env: | |
10 | global: | |
11 | - app_id=inputstream.adaptive | |
12 | ||
13 | matrix: | |
14 | include: | |
15 | - os: linux | |
16 | dist: xenial | |
17 | sudo: required | |
18 | compiler: gcc | |
19 | - os: linux | |
20 | dist: xenial | |
21 | sudo: required | |
22 | compiler: clang | |
23 | - os: osx | |
24 | osx_image: xcode10.2 | |
25 | ||
26 | # | |
27 | # The addon source is automatically checked out in $TRAVIS_BUILD_DIR, | |
28 | # we'll put the Kodi source on the same level | |
29 | # | |
30 | before_script: | |
31 | - cd $TRAVIS_BUILD_DIR/.. | |
32 | - git clone --branch master --depth=1 https://github.com/xbmc/xbmc.git -b master | |
33 | - cd ${app_id} && mkdir build && cd build | |
34 | - cmake -DADDONS_TO_BUILD=${app_id} -DADDON_SRC_PREFIX=$TRAVIS_BUILD_DIR/.. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/../xbmc/addons -DPACKAGE_ZIP=1 $TRAVIS_BUILD_DIR/../xbmc/cmake/addons | |
35 | ||
36 | script: make |
0 | cmake_minimum_required(VERSION 3.5) | |
0 | cmake_minimum_required(VERSION 3.10) | |
1 | 1 | project(inputstream.adaptive) |
2 | option(BUILD_TESTING "Build the testing tree." ON) | |
2 | 3 | |
3 | 4 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}) |
4 | 5 | |
40 | 41 | src/log.h |
41 | 42 | src/aes_decrypter.h |
42 | 43 | src/ADTSReader.h |
44 | src/Iaes_decrypter.h | |
43 | 45 | src/md5.h |
44 | 46 | src/WebmReader.h |
45 | 47 | ) |
51 | 53 | endif() |
52 | 54 | |
53 | 55 | include_directories(${INCLUDES} |
54 | ${KODI_INCLUDE_DIR} | |
56 | ${KODI_INCLUDE_DIR}/.. # Hack way with "/..", need bigger Kodi cmake rework to match right include ways (becomes done in future) | |
55 | 57 | lib/libbento4/Core |
56 | 58 | lib/webm_parser/include |
57 | 59 | ) |
60 | ||
61 | set(CMAKE_FIND_FRAMEWORK LAST) | |
58 | 62 | |
59 | 63 | include(FindEXPAT) |
60 | 64 | find_package(EXPAT REQUIRED) |
82 | 86 | set(ADP_ADDITIONAL_BINARY $<TARGET_FILE:ssd_wv>) |
83 | 87 | endif() |
84 | 88 | |
85 | if(CORE_SYSTEM_NAME STREQUAL android) | |
86 | set(DECRYPTERPATH "special://xbmcbinaddons") | |
87 | else() | |
88 | set(DECRYPTERPATH "special://home/cdm") | |
89 | endif() | |
89 | set(DECRYPTERPATH "special://home/cdm") | |
90 | 90 | |
91 | 91 | list(APPEND DEPLIBS bento4) |
92 | 92 | list(APPEND DEPLIBS mpegts) |
96 | 96 | |
97 | 97 | include(CPack) |
98 | 98 | |
99 | if(NOT CMAKE_CROSSCOMPILING) | |
100 | #Tests | |
101 | find_package( Threads ) | |
102 | add_executable(Test_DashTree | |
103 | src/parser/DASHTreeTest.cpp | |
104 | src/parser/DASHTree.cpp | |
105 | src/parser/PRProtectionParser.cpp | |
106 | src/common/AdaptiveTree.cpp | |
107 | src/helpers.cpp | |
108 | src/oscompat.cpp | |
109 | ) | |
110 | target_link_libraries(Test_DashTree ${EXPAT_LIBRARIES} Threads::Threads) | |
111 | ||
99 | if(NOT CMAKE_CROSSCOMPILING AND BUILD_TESTING) | |
100 | list(APPEND CMAKE_CTEST_ARGUMENTS "--output-on-failure") | |
112 | 101 | enable_testing() |
113 | ||
114 | add_test(6play_live Test_DashTree "${CMAKE_SOURCE_DIR}/src/parser/testfiles/6play.mpd") | |
115 | endif()⏎ | |
102 | include(FindGtest) | |
103 | find_package(Gtest REQUIRED) | |
104 | include_directories(${GTEST_INCLUDE_DIRS}) | |
105 | add_subdirectory(src/test) | |
106 | endif() |
0 | #.rst: | |
1 | # FindGtest | |
2 | # -------- | |
3 | # Finds the gtest library | |
4 | # | |
5 | # This will define the following variables:: | |
6 | # | |
7 | # GTEST_FOUND - system has gtest | |
8 | # GTEST_INCLUDE_DIRS - the gtest include directories | |
9 | # GTEST_LIBRARIES - the gtest libraries | |
10 | # | |
11 | # and the following imported targets: | |
12 | # | |
13 | # Gtest::Gtest - The gtest library | |
14 | ||
15 | ||
16 | if(PKG_CONFIG_FOUND) | |
17 | pkg_check_modules(PC_GTEST gtest>=1.10.0 QUIET) | |
18 | set(GTEST_VERSION ${PC_GTEST_VERSION}) | |
19 | elseif(WIN32) | |
20 | set(GTEST_VERSION 1.10.0) | |
21 | endif() | |
22 | ||
23 | find_path(GTEST_INCLUDE_DIR NAMES gtest/gtest.h | |
24 | PATHS ${PC_GTEST_INCLUDEDIR}) | |
25 | ||
26 | find_library(GTEST_LIBRARY_RELEASE NAMES gtest | |
27 | PATHS ${PC_GTEST_LIBDIR}) | |
28 | find_library(GTEST_LIBRARY_DEBUG NAMES gtestd | |
29 | PATHS ${PC_GTEST_LIBDIR}) | |
30 | ||
31 | include(SelectLibraryConfigurations) | |
32 | select_library_configurations(GTEST) | |
33 | ||
34 | include(FindPackageHandleStandardArgs) | |
35 | find_package_handle_standard_args(Gtest | |
36 | REQUIRED_VARS GTEST_LIBRARY GTEST_INCLUDE_DIR | |
37 | VERSION_VAR GTEST_VERSION) | |
38 | ||
39 | if(GTEST_FOUND) | |
40 | set(GTEST_LIBRARIES ${GTEST_LIBRARY}) | |
41 | set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR}) | |
42 | endif() | |
43 | ||
44 | if(NOT TARGET Gtest::Gtest) | |
45 | add_library(Gtest::Gtest UNKNOWN IMPORTED) | |
46 | set_target_properties(Gtest::Gtest PROPERTIES | |
47 | IMPORTED_LOCATION "${GTEST_LIBRARY}" | |
48 | INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}") | |
49 | endif() | |
50 | ||
51 | mark_as_advanced(GTEST_INCLUDE_DIR GTEST_LIBRARY) |
0 | buildPlugin(version: "Matrix", deploy: ['osx-x86_64', 'windows-i686', 'windows-x86_64', 'ubuntu-ppa']) | |
0 | buildPlugin(version: "Matrix") |
0 | # inputstream.adaptive (2.6.6) | |
0 | # inputstream.adaptive (2.6.14) | |
1 | 1 | |
2 | 2 | This is an adaptive file addon for kodi's new InputStream Interface. |
3 | 3 | |
8 | 8 | |
9 | 9 | ##### Examples: |
10 | 10 | 1.) mpd dash example with one video and one audio stream |
11 | - Force inputstream.mpd using a property in strm file: #KODIPROP:inputstreamaddon=inputstream.adaptive | |
11 | - Force inputstream.mpd using a property in strm file: #KODIPROP:inputstream=inputstream.adaptive | |
12 | 12 | - Select the tye of the manifest using a property in strm file: #KODIPROP:inputstream.adaptive.manifest_type=mpd |
13 | 13 | - URL to paste into strm file: http://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-live/mp4-live-mpd-AV-BS.mpd |
14 | 14 | |
15 | 15 | 2.) mpd dash example with one video and multiple audio streams |
16 | - Force inputstream.mpd using a Property in strm file: #KODIPROP:inputstreamaddon=inputstream.mpd | |
16 | - Force inputstream.mpd using a Property in strm file: #KODIPROP:inputstream=inputstream.mpd | |
17 | 17 | - Select the tye of the manifest using a property in strm file: #KODIPROP:inputstream.adaptive.manifest_type=mpd |
18 | 18 | - URL to paste into strm file: http://rdmedia.bbc.co.uk/dash/ondemand/testcard/1/client_manifest-events-multilang.mpd |
19 | 19 | |
37 | 37 | ##### TODO's: |
38 | 38 | - Adaptive bitrate switching is prepared but currently not yet activated |
39 | 39 | - Automatic / fixed video stream selection depending on max. visible display rect (some work has to be done at the inputstream interface). |
40 | - DASH implementation of periods (currently only the first period is considered) | |
41 | 40 | - There will be many dash mpd, smoothstream or hls manifest types currently not supported - must be extended. |
42 | 41 | |
43 | 42 | ##### Notes: |
0 | 0 | <?xml version="1.0" encoding="UTF-8"?> |
1 | 1 | <addon |
2 | 2 | id="inputstream.adaptive" |
3 | version="2.6.7" | |
3 | version="2.6.14" | |
4 | 4 | name="InputStream Adaptive" |
5 | 5 | provider-name="peak3d"> |
6 | 6 | <requires>@ADDON_DEPENDS@</requires> |
17 | 17 | <description lang="en_GB">InputStream client for adaptive streams</description> |
18 | 18 | <description lang="es_ES">Cliente InputStream para flujo de datos adaptativos</description> |
19 | 19 | <platform>@PLATFORM@</platform> |
20 | <news>v2.6.7 (2021-02-10) | |
20 | <news> | |
21 | v2.6.14 (2021-04-22) | |
22 | - Don't overwrite manifest headers with stream headers | |
23 | - Stream headers default to manifest headers | |
24 | - ac3 is recognised separately to eac3 | |
25 | - [DASH] time and number placeholders can be used simultaneously | |
26 | - [DASH] manifest_update_parameter property defaults to 'full' for SegmentTimeline | |
27 | - [DASH] pssh attribute in ContentProtection tag allowed without cenc namespace | |
28 | - [DASH] support ttml subs where codec isn't specified | |
29 | ||
30 | v2.6.13 (2021-04-10) | |
31 | - Fix Debian packaging | |
32 | ||
33 | v2.6.12 (2021-04-09) | |
34 | - Remove Android specific decrypter search paths | |
35 | - Move Android addon to binary addons repo | |
36 | ||
37 | v2.6.11 (2021-04-08) | |
38 | - Fix ampersand in changelog causing issues from v2.6.9 and v2.6.10 | |
39 | ||
40 | v2.6.10 (2021-04-08) | |
41 | - Fix release build | |
42 | ||
43 | v2.6.9 (2021-04-08) | |
44 | - Fix MPD Timing (remove publishTime and presentationTimeOffset) | |
45 | - [Dash] Correctly set timeshift_buffer (live) | |
46 | - [Dash] Support fpsScale in AdaptationSets | |
47 | - [Dash] Fix missing audio languages | |
48 | - [DASH] Support ec-3 channel count (urn:mpeg:mpegB:cicp:ChannelConfiguration) | |
49 | ||
50 | v2.6.8 (2021-03-26) | |
51 | - [Dash] Append / to baseurl if required | |
52 | - Fix Base Domain (fixes uri=/path/) | |
53 | ||
54 | v2.6.7 (2021-02-10) | |
21 | 55 | - Fix build for ios/tvos |
22 | 56 | - Use the full BaseUrl if it's a real url inside an AdaptationSet |
23 | 57 |
0 | #pragma once | |
1 | ||
2 | #include "Ap4Types.h" | |
3 | ||
4 | #include <string> | |
5 | ||
6 | class IAESDecrypter | |
7 | { | |
8 | public: | |
9 | virtual ~IAESDecrypter() {}; | |
10 | ||
11 | virtual void decrypt(const AP4_UI08* aes_key, | |
12 | const AP4_UI08* aes_iv, | |
13 | const AP4_UI08* src, | |
14 | AP4_UI08* dst, | |
15 | size_t dataSize) = 0; | |
16 | virtual std::string convertIV(const std::string& input) = 0; | |
17 | virtual void ivFromSequence(uint8_t* buffer, uint64_t sid) = 0; | |
18 | virtual const std::string& getLicenseKey() const = 0; | |
19 | virtual bool RenewLicense(const std::string& pluginUrl) = 0; | |
20 | ||
21 | private: | |
22 | std::string m_licenseKey; | |
23 | };⏎ |
17 | 17 | |
18 | 18 | #pragma once |
19 | 19 | |
20 | #include "Iaes_decrypter.h" | |
21 | ||
20 | 22 | #include "Ap4Types.h" |
21 | 23 | |
22 | 24 | #include <string> |
23 | 25 | |
24 | 26 | #include <kodi/AddonBase.h> |
25 | 27 | |
26 | class ATTRIBUTE_HIDDEN AESDecrypter | |
28 | class ATTRIBUTE_HIDDEN AESDecrypter : public IAESDecrypter | |
27 | 29 | { |
28 | 30 | public: |
29 | AESDecrypter(const std::string &licenseKey) : m_licenseKey(licenseKey) {}; | |
31 | AESDecrypter(const std::string& licenseKey) : m_licenseKey(licenseKey){}; | |
30 | 32 | virtual ~AESDecrypter() = default; |
31 | 33 | |
32 | void decrypt(const AP4_UI08 *aes_key, const AP4_UI08 *aes_iv, const AP4_UI08 *src, AP4_UI08 *dst, size_t dataSize); | |
33 | std::string convertIV(const std::string &input); | |
34 | void ivFromSequence(uint8_t *buffer, uint64_t sid); | |
35 | const std::string &getLicenseKey() const { return m_licenseKey; }; | |
36 | bool RenewLicense(const std::string &pluginUrl); | |
34 | void decrypt(const AP4_UI08* aes_key, | |
35 | const AP4_UI08* aes_iv, | |
36 | const AP4_UI08* src, | |
37 | AP4_UI08* dst, | |
38 | size_t dataSize); | |
39 | std::string convertIV(const std::string& input); | |
40 | void ivFromSequence(uint8_t* buffer, uint64_t sid); | |
41 | const std::string& getLicenseKey() const { return m_licenseKey; }; | |
42 | bool RenewLicense(const std::string& pluginUrl); | |
43 | ||
37 | 44 | private: |
38 | 45 | std::string m_licenseKey; |
39 | 46 | }; |
261 | 261 | return true; |
262 | 262 | } |
263 | 263 | |
264 | void AdaptiveStream::ReplacePlacehoder(std::string& url, uint64_t index, uint64_t timeStamp) | |
265 | { | |
266 | std::string::size_type lenReplace(7); | |
267 | std::string::size_type np(url.find("$Number")); | |
268 | uint64_t value(index); //StartNumber | |
264 | void AdaptiveStream::ReplacePlaceholder(std::string& url, const std::string placeholder, uint64_t value) | |
265 | { | |
266 | std::string::size_type lenReplace(placeholder.length()); | |
267 | std::string::size_type np(url.find(placeholder)); | |
269 | 268 | char rangebuf[128]; |
270 | 269 | |
271 | 270 | if (np == std::string::npos) |
272 | { | |
273 | lenReplace = 5; | |
274 | np = url.find("$Time"); | |
275 | value = timeStamp; //Timestamp | |
276 | } | |
271 | return; | |
272 | ||
277 | 273 | np += lenReplace; |
278 | 274 | |
279 | 275 | std::string::size_type npe(url.find('$', np)); |
332 | 328 | else if (seg != ¤t_rep_->initialization_) //templated segment |
333 | 329 | { |
334 | 330 | download_url_ = current_rep_->segtpl_.media; |
335 | ReplacePlacehoder(download_url_, seg->range_end_, seg->range_begin_); | |
331 | ReplacePlaceholder(download_url_, "$Number", seg->range_end_); | |
332 | ReplacePlaceholder(download_url_, "$Time", seg->range_begin_); | |
336 | 333 | } |
337 | 334 | else //templated initialization segment |
338 | 335 | download_url_ = current_rep_->url_; |
343 | 340 | seg != ¤t_rep_->initialization_) |
344 | 341 | { |
345 | 342 | download_url_ = current_rep_->segtpl_.media; |
346 | ReplacePlacehoder(download_url_, current_rep_->startNumber_, 0); | |
343 | ReplacePlaceholder(download_url_, "$Number", current_rep_->startNumber_); | |
344 | ReplacePlaceholder(download_url_, "$Time", 0); | |
347 | 345 | } |
348 | 346 | else |
349 | 347 | download_url_ = current_rep_->url_; |
100 | 100 | bool download_segment(); |
101 | 101 | void worker(); |
102 | 102 | int SecondsSinceUpdate() const; |
103 | static void ReplacePlacehoder(std::string &url, uint64_t index, uint64_t timeStamp); | |
104 | ||
103 | static void ReplacePlaceholder(std::string &url, const std::string placeholder, uint64_t value); | |
105 | 104 | |
106 | 105 | struct THREADDATA |
107 | 106 | { |
46 | 46 | , overallSeconds_(0) |
47 | 47 | , stream_start_(0) |
48 | 48 | , available_time_(0) |
49 | , publish_time_(0) | |
50 | 49 | , base_time_(0) |
51 | 50 | , minPresentationOffset(0) |
52 | 51 | , has_timeshift_buffer_(false) |
330 | 329 | } |
331 | 330 | base_url_.resize(paramPos + 1); |
332 | 331 | |
333 | paramPos = base_url_.find("://", 0, 8); | |
332 | paramPos = base_url_.find("://"); | |
334 | 333 | if (paramPos != std::string::npos) |
335 | 334 | { |
336 | 335 | base_domain_ = base_url_; |
142 | 142 | |
143 | 143 | struct SegmentTemplate |
144 | 144 | { |
145 | SegmentTemplate() : timescale(0), duration(0), presentationTimeOffset(0){}; | |
145 | SegmentTemplate() : timescale(0), duration(0) {}; | |
146 | 146 | std::string initialization; |
147 | 147 | std::string media; |
148 | 148 | unsigned int timescale, duration; |
149 | uint64_t presentationTimeOffset; | |
150 | 149 | }; |
151 | 150 | |
152 | 151 | struct Representation |
425 | 424 | uint32_t currentNode_; |
426 | 425 | uint32_t segcount_; |
427 | 426 | uint32_t initial_sequence_ = ~0UL; |
428 | uint64_t overallSeconds_, stream_start_, available_time_, publish_time_, base_time_; | |
427 | uint64_t overallSeconds_, stream_start_, available_time_, base_time_; | |
429 | 428 | uint64_t minPresentationOffset; |
430 | 429 | bool has_timeshift_buffer_, has_overall_seconds_; |
431 | 430 | |
438 | 437 | |
439 | 438 | uint8_t adpChannelCount_, adp_pssh_set_; |
440 | 439 | uint16_t adpwidth_, adpheight_; |
441 | uint32_t adpfpsRate_; | |
440 | uint32_t adpfpsRate_, adpfpsScale_; | |
442 | 441 | float adpaspect_; |
443 | 442 | ContainerType adpContainerType_; |
444 | 443 | bool adp_timelined_, period_timelined_; |
528 | 528 | headerMap[trimcp(b->substr(0, pos))] = url_decode(trimcp(b->substr(pos+1))); |
529 | 529 | } |
530 | 530 | } |
531 | ||
532 | int endswith(const char* in, const char* suffix) | |
533 | { | |
534 | int l1 = strlen(suffix); | |
535 | int l2 = strlen(in); | |
536 | if (l1 > l2) | |
537 | return 0; | |
538 | ||
539 | return strcmp(suffix, in + (l2 - l1)) == 0; | |
540 | } |
46 | 46 | char* KIDtoUUID(const uint8_t* kid, char* dst); |
47 | 47 | bool create_ism_license(std::string key, std::string license_data, std::vector<uint8_t>& init_data); |
48 | 48 | void parseheader(std::map<std::string, std::string>& headerMap, const std::string& headerString); |
49 | int endswith(const char* in, const char* suffix); | |
49 | 50 | |
50 | 51 | extern bool preReleaseFeatures; |
51 | 52 |
1303 | 1303 | case AP4_OTI_DTS_MASTER_AUDIO: |
1304 | 1304 | case AP4_OTI_DTS_EXPRESS_AUDIO: |
1305 | 1305 | info.SetCodecName("dca"); |
1306 | break; | |
1306 | 1307 | case AP4_OTI_AC3_AUDIO: |
1308 | info.SetCodecName("ac3"); | |
1309 | break; | |
1307 | 1310 | case AP4_OTI_EAC3_AUDIO: |
1308 | 1311 | info.SetCodecName("eac3"); |
1309 | 1312 | break; |
2136 | 2139 | kodihost->SetLibraryPath(kodi::vfs::TranslateSpecialProtocol(specialpath).c_str()); |
2137 | 2140 | |
2138 | 2141 | std::vector<std::string> searchPaths(2); |
2139 | #ifdef ANDROID | |
2140 | searchPaths[0] = getenv("KODI_ANDROID_LIBS") | |
2141 | ? getenv("KODI_ANDROID_LIBS") | |
2142 | : kodi::vfs::TranslateSpecialProtocol("special://xbmcbinaddons/"); | |
2143 | #else | |
2144 | 2142 | searchPaths[0] = |
2145 | 2143 | kodi::vfs::TranslateSpecialProtocol("special://xbmcbinaddons/inputstream.adaptive/"); |
2146 | #endif | |
2147 | 2144 | searchPaths[1] = kodi::GetAddonInfo("path"); |
2148 | 2145 | |
2149 | 2146 | std::vector<kodi::vfs::CDirEntry> items; |
2688 | 2685 | stream.info_.SetCodecName("aac"); |
2689 | 2686 | else if (rep->codecs_.find("dts") == 0) |
2690 | 2687 | stream.info_.SetCodecName("dca"); |
2691 | else if (rep->codecs_.find("ec-3") == 0 || rep->codecs_.find("ac-3") == 0) | |
2688 | else if (rep->codecs_.find("ac-3") == 0) | |
2689 | stream.info_.SetCodecName("ac3"); | |
2690 | else if (rep->codecs_.find("ec-3") == 0) | |
2692 | 2691 | stream.info_.SetCodecName("eac3"); |
2693 | 2692 | else if (rep->codecs_.find("avc") == 0 || rep->codecs_.find("h264") == 0) |
2694 | 2693 | stream.info_.SetCodecName("h264"); |
3358 | 3357 | prop.second.c_str()); |
3359 | 3358 | parseheader(manh, prop.second); |
3360 | 3359 | medh = manh; |
3361 | mpd_url = mpd_url.substr(0, mpd_url.find("|")); | |
3362 | 3360 | } |
3363 | 3361 | else if (prop.first == "inputstream.adaptive.original_audio_language") |
3364 | 3362 | { |
3399 | 3397 | parseheader(manh, mpd_url.substr(posHeader + 1)); |
3400 | 3398 | mpd_url = mpd_url.substr(0, posHeader); |
3401 | 3399 | } |
3400 | ||
3401 | if (medh.empty()) | |
3402 | medh = manh; | |
3402 | 3403 | |
3403 | 3404 | kodihost->SetProfilePath(props.GetProfileFolder()); |
3404 | 3405 |
53 | 53 | |
54 | 54 | static const char* CONTENTPROTECTION_TAG = "ContentProtection"; |
55 | 55 | |
56 | static const char* ltranslate(const char* in) | |
57 | { | |
58 | if (strlen(in) == 2 || strlen(in) == 3 || (strlen(in) > 3 && in[2] == '-')) | |
59 | return in; | |
60 | return "unk"; | |
61 | } | |
62 | ||
63 | 56 | DASHTree::DASHTree() |
64 | 57 | { |
65 | 58 | } |
78 | 71 | } |
79 | 72 | if (schemeIdUri && value) |
80 | 73 | { |
81 | if (strcmp(schemeIdUri, "urn:mpeg:dash:23003:3:audio_channel_configuration:2011") == 0) | |
74 | if (strcmp(schemeIdUri, "urn:mpeg:dash:23003:3:audio_channel_configuration:2011") == 0 || | |
75 | strcmp(schemeIdUri, "urn:mpeg:mpegB:cicp:ChannelConfiguration") == 0) | |
82 | 76 | return atoi(value); |
83 | 77 | else if (strcmp(schemeIdUri, "urn:dolby:dash:audio_channel_configuration:2011") == 0 || |
84 | 78 | strcmp(schemeIdUri, "tag:dolby.com,2014:dash:audio_channel_configuration:2011") == 0) |
106 | 100 | tpl.duration = atoi((const char*)*(attr + 1)); |
107 | 101 | else if (strcmp((const char*)*attr, "media") == 0) |
108 | 102 | tpl.media = (const char*)*(attr + 1); |
109 | else if (strcmp((const char*)*attr, "presentationTimeOffset") == 0) | |
110 | tpl.presentationTimeOffset = atoll((const char*)*(attr + 1)); | |
111 | 103 | else if (strcmp((const char*)*attr, "startNumber") == 0) |
112 | 104 | startNumber = atoi((const char*)*(attr + 1)); |
113 | 105 | else if (strcmp((const char*)*attr, "initialization") == 0) |
122 | 114 | { |
123 | 115 | if (!tpl.media.empty() && tpl.media[0] == '/') |
124 | 116 | tpl.media = baseDomain + tpl.media; |
117 | else if (!baseURL.empty() && baseURL.back() != '/') | |
118 | tpl.media = baseURL + '/' + tpl.media; | |
125 | 119 | else |
126 | 120 | tpl.media = baseURL + tpl.media; |
127 | 121 | } |
131 | 125 | { |
132 | 126 | if (!tpl.initialization.empty() && tpl.initialization[0] == '/') |
133 | 127 | tpl.initialization = baseDomain + tpl.initialization; |
128 | else if (!baseURL.empty() && baseURL.back() != '/') | |
129 | tpl.initialization = baseURL + '/' + tpl.initialization; | |
134 | 130 | else |
135 | 131 | tpl.initialization = baseURL + tpl.initialization; |
136 | 132 | } |
207 | 203 | else |
208 | 204 | urnFound = stricmp(dash->supportedKeySystem_.c_str(), (const char*)*(attr + 1)) == 0; |
209 | 205 | } |
210 | else if (strcmp((const char*)*attr, "cenc:default_KID") == 0) | |
206 | else if (endswith((const char*)*attr, "default_KID")) | |
211 | 207 | defaultKID = (const char*)*(attr + 1); |
212 | 208 | attr += 2; |
213 | 209 | } |
402 | 398 | } |
403 | 399 | else if (dash->currentNode_ & MPDNODE_CONTENTPROTECTION) |
404 | 400 | { |
405 | if (strcmp(el, "cenc:pssh") == 0) | |
401 | if (endswith(el, "pssh")) | |
406 | 402 | dash->currentNode_ |= MPDNODE_PSSH; |
407 | 403 | else if (strcmp(el, "widevine:license") == 0) |
408 | 404 | { |
558 | 554 | { |
559 | 555 | dash->currentNode_ |= MPDNODE_SEGMENTTIMELINE; |
560 | 556 | dash->adp_timelined_ = true; |
557 | ||
558 | if (dash->update_parameter_.empty() && dash->has_timeshift_buffer_) | |
559 | dash->update_parameter_ = "full"; | |
561 | 560 | } |
562 | 561 | } |
563 | 562 | else if (dash->currentNode_ & MPDNODE_SEGMENTDURATIONS) |
568 | 567 | } |
569 | 568 | else if (dash->currentNode_ & MPDNODE_CONTENTPROTECTION) |
570 | 569 | { |
571 | if (strcmp(el, "cenc:pssh") == 0) | |
570 | if (endswith(el, "pssh")) | |
572 | 571 | dash->currentNode_ |= MPDNODE_PSSH; |
573 | 572 | else if (strcmp(el, "widevine:license") == 0) |
574 | 573 | { |
662 | 661 | dash->current_representation_->width_ = dash->adpwidth_; |
663 | 662 | dash->current_representation_->height_ = dash->adpheight_; |
664 | 663 | dash->current_representation_->fpsRate_ = dash->adpfpsRate_; |
664 | dash->current_representation_->fpsScale_ = dash->adpfpsScale_; | |
665 | 665 | dash->current_representation_->aspect_ = dash->adpaspect_; |
666 | 666 | dash->current_representation_->containerType_ = dash->adpContainerType_; |
667 | 667 | |
684 | 684 | dash->current_representation_->samplingRate_ = |
685 | 685 | static_cast<uint32_t>(atoi((const char*)*(attr + 1))); |
686 | 686 | else if (strcmp((const char*)*attr, "frameRate") == 0) |
687 | { | |
688 | dash->current_representation_->fpsScale_ = 1; | |
687 | 689 | sscanf((const char*)*(attr + 1), "%" SCNu32 "/%" SCNu32, |
688 | 690 | &dash->current_representation_->fpsRate_, |
689 | 691 | &dash->current_representation_->fpsScale_); |
692 | } | |
690 | 693 | else if (strcmp((const char*)*attr, "id") == 0) |
691 | 694 | dash->current_representation_->id = (const char*)*(attr + 1); |
692 | 695 | else if (strcmp((const char*)*attr, "codecPrivateData") == 0) |
706 | 709 | else if (strncmp(dash->current_adaptationset_->mimeType_.c_str(), "audio", 5) == 0) |
707 | 710 | dash->current_adaptationset_->type_ = DASHTree::AUDIO; |
708 | 711 | else if (strncmp(dash->current_adaptationset_->mimeType_.c_str(), "application", |
709 | 11) == 0) | |
712 | 11) == 0 || | |
713 | strncmp(dash->current_adaptationset_->mimeType_.c_str(), "text", 4) == 0) | |
710 | 714 | dash->current_adaptationset_->type_ = DASHTree::SUBTITLE; |
711 | 715 | } |
712 | 716 | if (strstr(dash->current_adaptationset_->mimeType_.c_str(), "/webm")) |
718 | 722 | attr += 2; |
719 | 723 | } |
720 | 724 | |
725 | if (dash->current_representation_->codecs_.empty()) | |
726 | { | |
727 | if (dash->current_adaptationset_->mimeType_ == "text/vtt") | |
728 | dash->current_representation_->codecs_ = "wvtt"; | |
729 | else if (dash->current_adaptationset_->mimeType_ == "application/ttml+xml") | |
730 | dash->current_representation_->codecs_ = "ttml"; | |
731 | } | |
732 | ||
733 | if (dash->current_adaptationset_->type_ != DASHTree::SUBTITLE) | |
734 | { | |
735 | if (dash->current_representation_->codecs_ == "wvtt") | |
736 | { | |
737 | dash->current_adaptationset_->type_ = DASHTree::SUBTITLE; | |
738 | dash->current_adaptationset_->mimeType_ = "text/vtt"; | |
739 | } | |
740 | else if (dash->current_representation_->codecs_ == "ttml") | |
741 | { | |
742 | dash->current_adaptationset_->type_ = DASHTree::SUBTITLE; | |
743 | dash->current_adaptationset_->mimeType_ = "application/ttml+xml"; | |
744 | } | |
745 | } | |
746 | ||
721 | 747 | if (dash->current_adaptationset_->type_ == DASHTree::SUBTITLE && |
722 | 748 | (dash->current_adaptationset_->mimeType_ == "application/ttml+xml" || |
723 | 749 | dash->current_adaptationset_->mimeType_ == "text/vtt")) |
727 | 753 | else |
728 | 754 | dash->current_representation_->containerType_ = AdaptiveTree::CONTAINERTYPE_TEXT; |
729 | 755 | } |
730 | ||
731 | if (dash->current_adaptationset_->type_ != DASHTree::SUBTITLE && | |
732 | dash->current_representation_->codecs_ == "wvtt") | |
733 | dash->current_adaptationset_->type_ = DASHTree::SUBTITLE; | |
734 | ||
735 | if (dash->current_adaptationset_->mimeType_ == "text/vtt" && | |
736 | dash->current_representation_->codecs_.empty()) | |
737 | dash->current_representation_->codecs_ = "wvtt"; | |
738 | 756 | |
739 | 757 | dash->current_representation_->segtpl_ = dash->current_adaptationset_->segtpl_; |
740 | 758 | if (!dash->current_adaptationset_->segtpl_.media.empty()) |
853 | 871 | dash->adpwidth_ = 0; |
854 | 872 | dash->adpheight_ = 0; |
855 | 873 | dash->adpfpsRate_ = 0; |
874 | dash->adpfpsScale_ = 1; | |
856 | 875 | dash->adpaspect_ = 0.0f; |
857 | 876 | dash->adp_pssh_set_ = 0; |
858 | 877 | dash->adpContainerType_ = AdaptiveTree::CONTAINERTYPE_MP4; |
881 | 900 | else if (strcmp((const char*)*attr, "group") == 0) |
882 | 901 | dash->current_adaptationset_->group_ = (const char*)*(attr + 1); |
883 | 902 | else if (strcmp((const char*)*attr, "lang") == 0) |
884 | dash->current_adaptationset_->language_ = ltranslate((const char*)*(attr + 1)); | |
903 | dash->current_adaptationset_->language_ = (const char*)*(attr + 1); | |
885 | 904 | else if (strcmp((const char*)*attr, "mimeType") == 0) |
886 | 905 | dash->current_adaptationset_->mimeType_ = (const char*)*(attr + 1); |
887 | 906 | else if (strcmp((const char*)*attr, "name") == 0) |
893 | 912 | else if (strcmp((const char*)*attr, "height") == 0) |
894 | 913 | dash->adpheight_ = static_cast<uint16_t>(atoi((const char*)*(attr + 1))); |
895 | 914 | else if (strcmp((const char*)*attr, "frameRate") == 0) |
896 | dash->adpfpsRate_ = static_cast<uint32_t>(atoi((const char*)*(attr + 1))); | |
915 | sscanf((const char*)*(attr + 1), "%" SCNu32 "/%" SCNu32, | |
916 | &dash->adpfpsRate_, | |
917 | &dash->adpfpsScale_); | |
897 | 918 | else if (strcmp((const char*)*attr, "par") == 0) |
898 | 919 | { |
899 | 920 | int w, h; |
1001 | 1022 | else if (strcmp(el, "MPD") == 0) |
1002 | 1023 | { |
1003 | 1024 | const char *mpt(0), *tsbd(0); |
1004 | bool bStatic(false); | |
1005 | 1025 | |
1006 | 1026 | dash->firstStartNumber_ = 0; |
1007 | 1027 | |
1008 | 1028 | dash->overallSeconds_ = 0; |
1009 | dash->stream_start_ = time(0); | |
1029 | dash->stream_start_ = dash->GetNowTime(); | |
1010 | 1030 | dash->mpd_url_ = dash->base_url_; |
1011 | 1031 | |
1012 | 1032 | for (; *attr;) |
1014 | 1034 | if (strcmp((const char*)*attr, "mediaPresentationDuration") == 0) |
1015 | 1035 | { |
1016 | 1036 | mpt = (const char*)*(attr + 1); |
1017 | bStatic = true; | |
1018 | 1037 | } |
1019 | else if (strcmp((const char*)*attr, "type") == 0) | |
1038 | else if (strcmp((const char*)*attr, "type") == 0 && | |
1039 | strcmp((const char*)*(attr + 1), "dynamic") == 0) | |
1020 | 1040 | { |
1021 | bStatic = strcmp((const char*)*(attr + 1), "static") == 0; | |
1041 | dash->has_timeshift_buffer_ = true; | |
1022 | 1042 | } |
1023 | 1043 | else if (strcmp((const char*)*attr, "timeShiftBufferDepth") == 0) |
1024 | 1044 | { |
1027 | 1047 | } |
1028 | 1048 | else if (strcmp((const char*)*attr, "availabilityStartTime") == 0) |
1029 | 1049 | dash->available_time_ = getTime((const char*)*(attr + 1)); |
1030 | else if (strcmp((const char*)*attr, "publishTime") == 0) | |
1031 | dash->publish_time_ = getTime((const char*)*(attr + 1)); | |
1032 | else if (strcmp((const char*)*attr, "testTime") == 0) | |
1033 | dash->stream_start_ = getTime((const char*)*(attr + 1)); | |
1034 | 1050 | else if (strcmp((const char*)*attr, "minimumUpdatePeriod") == 0) |
1035 | 1051 | { |
1036 | 1052 | uint64_t dur(0); |
1042 | 1058 | |
1043 | 1059 | if (!mpt) |
1044 | 1060 | mpt = tsbd; |
1045 | dash->has_timeshift_buffer_ = !bStatic; | |
1046 | 1061 | |
1047 | 1062 | AddDuration(mpt, dash->overallSeconds_, 1); |
1048 | 1063 | dash->has_overall_seconds_ = dash->overallSeconds_ > 0; |
1049 | 1064 | |
1050 | 1065 | uint64_t overallsecs(dash->overallSeconds_ ? dash->overallSeconds_ + 60 : 86400); |
1051 | if (!dash->base_time_ && dash->publish_time_ && dash->available_time_ && | |
1052 | dash->publish_time_ - dash->available_time_ > overallsecs) | |
1053 | dash->base_time_ = dash->publish_time_ - dash->available_time_ - overallsecs; | |
1054 | 1066 | dash->minPresentationOffset = ~0ULL; |
1055 | 1067 | |
1056 | 1068 | dash->currentNode_ |= MPDNODE_MPD; |
1148 | 1160 | { |
1149 | 1161 | if (dash->currentNode_ & MPDNODE_PSSH) |
1150 | 1162 | { |
1151 | if (strcmp(el, "cenc:pssh") == 0) | |
1163 | if (endswith(el, "pssh")) | |
1152 | 1164 | { |
1153 | 1165 | dash->current_pssh_ = dash->strXMLText_; |
1154 | 1166 | dash->currentNode_ &= ~MPDNODE_PSSH; |
1239 | 1251 | if (!timeBased && dash->has_timeshift_buffer_ && |
1240 | 1252 | tpl.duration) |
1241 | 1253 | { |
1242 | // get the closest time to calculate start_number | |
1243 | uint64_t calc_time = | |
1244 | dash->publish_time_ ? dash->publish_time_ : dash->stream_start_; | |
1245 | uint64_t sample_time = tpl.presentationTimeOffset | |
1246 | ? tpl.presentationTimeOffset / tpl.timescale | |
1247 | : dash->current_period_->start_ / 1000; | |
1248 | ||
1249 | seg.range_end_ += (static_cast<int64_t>(calc_time - dash->available_time_ - | |
1254 | uint64_t sample_time = dash->current_period_->start_ / 1000; | |
1255 | ||
1256 | seg.range_end_ += (static_cast<int64_t>(dash->stream_start_ - dash->available_time_ - | |
1250 | 1257 | overallSeconds - sample_time)) * |
1251 | 1258 | tpl.timescale / tpl.duration + |
1252 | 1259 | 1; |
1347 | 1354 | { |
1348 | 1355 | if (dash->currentNode_ & MPDNODE_PSSH) |
1349 | 1356 | { |
1350 | if (strcmp(el, "cenc:pssh") == 0) | |
1357 | if (endswith(el, "pssh")) | |
1351 | 1358 | { |
1352 | 1359 | dash->current_pssh_ = dash->strXMLText_; |
1353 | 1360 | dash->currentNode_ &= ~MPDNODE_PSSH; |
35 | 35 | Representation* rep, |
36 | 36 | StreamType type) override; |
37 | 37 | |
38 | virtual uint64_t GetNowTime() { return time(0); }; | |
38 | 39 | void SetUpdateInterval(uint32_t interval) { updateInterval_ = interval; }; |
39 | 40 | uint64_t pts_helper_, timeline_time_; |
40 | 41 | uint32_t firstStartNumber_; |
0 | /* | |
1 | * Copyright (C) 2020 peak3d | |
2 | * http://www.peak3d.de | |
3 | * | |
4 | * This Program is free software; you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License as published by | |
6 | * the Free Software Foundation; either version 2, or (at your option) | |
7 | * any later version. | |
8 | * | |
9 | * This Program is distributed in the hope that it will be useful, | |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | * GNU General Public License for more details. | |
13 | * | |
14 | * <http://www.gnu.org/licenses/>. | |
15 | * | |
16 | */ | |
17 | ||
18 | #include "DASHTree.h" | |
19 | #include "../log.h" | |
20 | #include <fstream> | |
21 | #include <iomanip> | |
22 | #include <sstream> | |
23 | ||
24 | std::string testfile; | |
25 | ||
26 | void Log(const LogLevel loglevel, const char* format, ...) | |
27 | { | |
28 | } | |
29 | ||
30 | void print_hex_string(std::ostream& os, std::string const str) | |
31 | { | |
32 | std::ios_base::fmtflags f( os.flags() ); | |
33 | ||
34 | os << "{"; | |
35 | ||
36 | for (auto f : str) | |
37 | { | |
38 | os << " 0x" << std::hex << std::setw(2) | |
39 | << std::setfill('0') << static_cast<unsigned short>(f & 0x00FF); | |
40 | } | |
41 | ||
42 | os << " }"; | |
43 | ||
44 | os.flags( f ); | |
45 | } | |
46 | ||
47 | bool adaptive::AdaptiveTree::download(const char* url, | |
48 | const std::map<std::string, std::string>& manifestHeaders, | |
49 | void* opaque, | |
50 | bool scanEffectiveURL) | |
51 | { | |
52 | FILE* f = fopen(testfile.c_str(), "rb"); | |
53 | if (!f) | |
54 | return false; | |
55 | ||
56 | // read the file | |
57 | static const unsigned int CHUNKSIZE = 16384; | |
58 | char buf[CHUNKSIZE]; | |
59 | size_t nbRead; | |
60 | ||
61 | while ((nbRead = fread(buf, 1, CHUNKSIZE, f)) > 0 && ~nbRead && write_data(buf, nbRead, opaque)) | |
62 | ; | |
63 | ||
64 | fclose(f); | |
65 | ||
66 | SortTree(); | |
67 | ||
68 | return nbRead == 0; | |
69 | } | |
70 | ||
71 | int main(int argc, char** argv) | |
72 | { | |
73 | if (argc < 2) | |
74 | { | |
75 | printf("Usage: <filename>)"); | |
76 | exit(1); | |
77 | } | |
78 | ||
79 | adaptive::DASHTree tree; | |
80 | //only widevine supported for this test | |
81 | tree.supportedKeySystem_ = "urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"; | |
82 | ||
83 | testfile = argv[1]; | |
84 | if (!tree.open("", "")) | |
85 | { | |
86 | printf("open() failed %s", argv[1]); | |
87 | exit(1); | |
88 | } | |
89 | ||
90 | //Write the raw structure of the tree | |
91 | std::stringstream sstreamCur; | |
92 | sstreamCur << "Root: available_time_: " << tree.available_time_ | |
93 | << ", base_time_: " << tree.base_time_ << ", firstStartNumber_: " << tree.firstStartNumber_ | |
94 | << ", has_overall_seconds_: " << tree.has_overall_seconds_ | |
95 | << ", has_timeshift_buffer_:" << tree.has_timeshift_buffer_ | |
96 | << ", publish_time_: " << tree.publish_time_ << ", stream_start_: " << tree.stream_start_ | |
97 | << ", #periods: " << tree.periods_.size() << "\n"; | |
98 | ||
99 | for (const adaptive::AdaptiveTree::Period* period : tree.periods_) | |
100 | { | |
101 | sstreamCur << "Period: base_url_: " << period->base_url_ << ", duration_ : " << period->duration_ | |
102 | << ", encryptionState_: " << period->encryptionState_ << ", id_: " << period->id_ | |
103 | << ", included_types_: " << period->included_types_ | |
104 | << ", need_secure_decoder_:" << period->need_secure_decoder_ | |
105 | << ", start_: " << period->start_ << ", startNumber_: " << period->startNumber_ | |
106 | << ", startPTS_: " << period->startPTS_ << ", #psshsets: " << period->psshSets_.size() | |
107 | << ", #adaptationSets: " << period->adaptationSets_.size() << "\n"; | |
108 | for (const adaptive::AdaptiveTree::Period::PSSH pssh : period->psshSets_) | |
109 | { | |
110 | sstreamCur << "\tPSSH: defaultKID_: "; | |
111 | ||
112 | print_hex_string(sstreamCur, pssh.defaultKID_); | |
113 | ||
114 | sstreamCur << ", iv: "; | |
115 | ||
116 | print_hex_string(sstreamCur, pssh.iv); | |
117 | ||
118 | sstreamCur << ", media_: " << pssh.media_ << ", pssh_: " << pssh.pssh_ << "\n"; | |
119 | } | |
120 | for (const adaptive::AdaptiveTree::AdaptationSet* adp : period->adaptationSets_) | |
121 | { | |
122 | sstreamCur << "\tADP: audio_track_id_: " << adp->audio_track_id_ | |
123 | << ", base_url_: " << adp->base_url_ << ", codecs_: " << adp->codecs_ | |
124 | << ", default_: " << adp->default_ << ", duration_: " << adp->duration_ | |
125 | << ", forced_: " << adp->forced_ << ", group_: " << adp->group_ | |
126 | << ", id_: " << adp->id_ << ", impaired_: " << adp->impaired_ | |
127 | << ", language_: " << adp->language_ << ", mimeType_: " << adp->mimeType_ | |
128 | << ", name_: " << adp->name_ << ", original_: " << adp->original_ | |
129 | << ", startNumber_: " << adp->startNumber_ << ", startPTS_: " << adp->startPTS_ | |
130 | << ", type_: " << adp->type_ | |
131 | << ", #segment_durations_: " << adp->segment_durations_.size() | |
132 | << ", #representations_: " << adp->representations_.size() << "\n"; | |
133 | sstreamCur << "\t\tSegTpl: duration: " << adp->segtpl_.duration | |
134 | << ", initialization: " << adp->segtpl_.initialization | |
135 | << ", media: " << adp->segtpl_.media | |
136 | << ", presentationTimeOffset: " << adp->segtpl_.presentationTimeOffset | |
137 | << ", timescale:" << adp->segtpl_.timescale << "\n"; | |
138 | sstreamCur << "\t\t\tSegment durations:"; | |
139 | for (const uint32_t dur : adp->segment_durations_.data) | |
140 | sstreamCur << ", " << dur; | |
141 | sstreamCur << "\n"; | |
142 | ||
143 | for (const adaptive::AdaptiveTree::Representation* rep : adp->representations_) | |
144 | { | |
145 | sstreamCur << "\t\t\tRep: aspect_: " << rep->aspect_ << ", bandwidth_ : " << rep->bandwidth_ | |
146 | << ", channelCount_ : " << static_cast<unsigned int>(rep->channelCount_) << ", codecs_ : " << rep->codecs_ | |
147 | << ", codec_private_data_ : " << rep->codec_private_data_ | |
148 | << ", containerType_ : " << static_cast<unsigned int>(rep->containerType_) << ", duration_ : " << rep->duration_ | |
149 | << ", flags_ : " << rep->flags_ << ", fpsRate_ : " << rep->fpsRate_ | |
150 | << ", fpsScale_ : " << rep->fpsScale_ << ", hdcpVersion_ : " << rep->hdcpVersion_ | |
151 | << ", height_ : " << rep->height_ << ", id : " << rep->id | |
152 | << ", indexRangeMax_ : " << rep->indexRangeMax_ << ", indexRangeMin_ : " << rep->indexRangeMin_ | |
153 | << ", nalLengthSize_ : " << static_cast<unsigned int>(rep->nalLengthSize_) << ", pssh_set_ : " << rep->pssh_set_ | |
154 | << ", ptsOffset_ : " << rep->ptsOffset_ << ", samplingRate_ : " << rep->samplingRate_ | |
155 | << ", source_url_ : " << rep->source_url_ << ", startNumber_ : " << rep->startNumber_ | |
156 | << ", timescale_ : " << rep->timescale_ << ", timescale_ext_ : " << rep->timescale_ext_ | |
157 | << ", timescale_int_ : " << rep->timescale_int_ << ", url_ : " << rep->url_ | |
158 | << ", width_ : " << rep->width_ << "\n"; | |
159 | sstreamCur << "\t\t\t\tSegTpl: duration: " << rep->segtpl_.duration | |
160 | << ", initialization: " << rep->segtpl_.initialization | |
161 | << ", media: " << rep->segtpl_.media | |
162 | << ", presentationTimeOffset: " << rep->segtpl_.presentationTimeOffset | |
163 | << ", timescale:" << rep->segtpl_.timescale << "\n"; | |
164 | sstreamCur << "\t\t\t\tInit: pssh_set_: " << rep->initialization_.pssh_set_ | |
165 | << std::hex << ", range_begin_: 0x" << rep->initialization_.range_begin_ | |
166 | << ", range_end_: 0x" << rep->initialization_.range_end_ | |
167 | << std::dec << ", startPTS_: " << rep->initialization_.startPTS_ | |
168 | << ", url:" << (rep->initialization_.url ? rep->initialization_.url : "NULL") | |
169 | << "\n"; | |
170 | for (const adaptive::AdaptiveTree::Segment &seg : rep->segments_.data) | |
171 | { | |
172 | sstreamCur << "\t\t\t\tSeg: pssh_set_: " << seg.pssh_set_ << std::hex | |
173 | << ", range_begin_: 0x" << seg.range_begin_ << ", range_end_: 0x" | |
174 | << seg.range_end_ << std::dec << ", startPTS_: " << seg.startPTS_ | |
175 | << ", url:" << (seg.url ? seg.url : "NULL") << "\n"; | |
176 | } | |
177 | } | |
178 | } | |
179 | } | |
180 | ||
181 | // Write current test results to _generated | |
182 | std::string fn_current = argv[1]; | |
183 | fn_current += "_current"; | |
184 | ||
185 | FILE* f_current = fopen(fn_current.c_str(), "wb"); | |
186 | if (!f_current) | |
187 | { | |
188 | printf("cannot create %s", fn_current.c_str()); | |
189 | exit(1); | |
190 | } | |
191 | fwrite(sstreamCur.str().c_str(), 1, sstreamCur.str().size(), f_current); | |
192 | fclose(f_current); | |
193 | ||
194 | // Read the file _target which contains the valid results | |
195 | std::string fn_target = argv[1]; | |
196 | fn_target += "_target"; | |
197 | std::stringstream sstreamTgt; | |
198 | ||
199 | std::ifstream streamTarget(fn_target, std::ios::in | std::ios::binary); | |
200 | if (!streamTarget.is_open()) | |
201 | { | |
202 | printf("cannot read %s", fn_target.c_str()); | |
203 | exit(1); | |
204 | } | |
205 | sstreamTgt << streamTarget.rdbuf(); | |
206 | ||
207 | return sstreamTgt.str() == sstreamCur.str() ? 0 : -1; | |
208 | } |
17 | 17 | |
18 | 18 | #include "HLSTree.h" |
19 | 19 | |
20 | #include "../aes_decrypter.h" | |
20 | #include "../Iaes_decrypter.h" | |
21 | 21 | #include "../helpers.h" |
22 | 22 | #include "../log.h" |
23 | 23 |
24 | 24 | |
25 | 25 | #include <kodi/AddonBase.h> |
26 | 26 | |
27 | class AESDecrypter; | |
27 | class IAESDecrypter; | |
28 | 28 | |
29 | 29 | namespace adaptive |
30 | 30 | { |
40 | 40 | ENCRYPTIONTYPE_WIDEVINE = 3, |
41 | 41 | ENCRYPTIONTYPE_UNKNOWN = 4, |
42 | 42 | }; |
43 | HLSTree(AESDecrypter* decrypter) : AdaptiveTree(), m_decrypter(decrypter){}; | |
43 | HLSTree(IAESDecrypter* decrypter) : AdaptiveTree(), m_decrypter(decrypter){}; | |
44 | 44 | virtual ~HLSTree(); |
45 | 45 | |
46 | 46 | virtual bool open(const std::string& url, const std::string& manifestUpdateParam) override; |
88 | 88 | std::map<std::string, EXTGROUP> m_extGroups; |
89 | 89 | bool m_refreshPlayList = true; |
90 | 90 | uint8_t m_segmentIntervalSec = 4; |
91 | AESDecrypter *m_decrypter; | |
91 | IAESDecrypter *m_decrypter; | |
92 | 92 | std::stringstream manifest_stream; |
93 | 93 | bool m_hasDiscontSeq = false; |
94 | 94 | uint32_t m_discontSeq = 0; |
0 | <?xml version="1.0" ?> | |
1 | <!-- Just In Time Delivered by Quortex Solution --> | |
2 | <MPD testTime="2020-06-07T12:00:01Z" availabilityStartTime="1970-01-01T00:00:06Z" minBufferTime="PT6S" minimumUpdatePeriod="PT6S" profiles="urn:mpeg:dash:profile:isoff-live:2011,urn:hbbtv:dash:profile:isoff-live:2012" publishTime="2020-06-07T11:59:55Z" suggestedPresentationDelay="PT12S" timeShiftBufferDepth="PT1M18S" type="dynamic" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"> | |
3 | <Period id="0" start="PT1588628086S"> | |
4 | <AdaptationSet contentType="video" id="1" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
5 | <SegmentTemplate initialization="$RepresentationID$/init.mp4?id=8c1bbb709229e110fbb0d1e544266504" media="$RepresentationID$/segment_$Number$.m4s" presentationTimeOffset="1738747575" startNumber="487050" timescale="90000"> | |
6 | <SegmentTimeline> | |
7 | <S d="540000" r="12" t="263007000000"/> | |
8 | </SegmentTimeline> | |
9 | </SegmentTemplate> | |
10 | <Representation bandwidth="300000" codecs="avc1.42001e" frameRate="25" height="224" id="videosd-400x224" sar="224:225" scanType="progressive" width="400"> | |
11 | <ContentProtection cenc:default_KID="934bc7c6-a029-3d5b-9e26-1a7324777503" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
12 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
13 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgB4AHMAZABMAGsAeQBtAGcAVwB6ADIAZQBKAGgAcAB6AEoASABkADEAQQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4ARgBUAGwALwBUAEUAQgAvAFcAZQBRAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
14 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AeABzAGQATABrAHkAbQBnAFcAegAyAGUASgBoAHAAegBKAEgAZAAxAEEAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AEYAVABsAC8AVABFAEIALwBXAGUAUQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
15 | </ContentProtection> | |
16 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
17 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQk0vHxqApPVueJhpzJHd1AxoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
18 | </ContentProtection> | |
19 | </Representation> | |
20 | <Representation bandwidth="800000" codecs="avc1.42001e" frameRate="25" height="360" id="videosd-640x360" sar="1:1" scanType="progressive" width="640"> | |
21 | <ContentProtection cenc:default_KID="934bc7c6-a029-3d5b-9e26-1a7324777503" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
22 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
23 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgB4AHMAZABMAGsAeQBtAGcAVwB6ADIAZQBKAGgAcAB6AEoASABkADEAQQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4ARgBUAGwALwBUAEUAQgAvAFcAZQBRAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
24 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AeABzAGQATABrAHkAbQBnAFcAegAyAGUASgBoAHAAegBKAEgAZAAxAEEAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AEYAVABsAC8AVABFAEIALwBXAGUAUQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
25 | </ContentProtection> | |
26 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
27 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQk0vHxqApPVueJhpzJHd1AxoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
28 | </ContentProtection> | |
29 | </Representation> | |
30 | <Representation bandwidth="1500000" codecs="avc1.42001e" frameRate="25" height="404" id="videosd-720x404" sar="404:405" scanType="progressive" width="720"> | |
31 | <ContentProtection cenc:default_KID="934bc7c6-a029-3d5b-9e26-1a7324777503" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
32 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
33 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgB4AHMAZABMAGsAeQBtAGcAVwB6ADIAZQBKAGgAcAB6AEoASABkADEAQQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4ARgBUAGwALwBUAEUAQgAvAFcAZQBRAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
34 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AeABzAGQATABrAHkAbQBnAFcAegAyAGUASgBoAHAAegBKAEgAZAAxAEEAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AEYAVABsAC8AVABFAEIALwBXAGUAUQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
35 | </ContentProtection> | |
36 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
37 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQk0vHxqApPVueJhpzJHd1AxoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
38 | </ContentProtection> | |
39 | </Representation> | |
40 | <Representation bandwidth="2100000" codecs="avc1.64001f" frameRate="25" height="540" id="videosd-960x540" sar="1:1" scanType="progressive" width="960"> | |
41 | <ContentProtection cenc:default_KID="934bc7c6-a029-3d5b-9e26-1a7324777503" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
42 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
43 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgB4AHMAZABMAGsAeQBtAGcAVwB6ADIAZQBKAGgAcAB6AEoASABkADEAQQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4ARgBUAGwALwBUAEUAQgAvAFcAZQBRAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
44 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AeABzAGQATABrAHkAbQBnAFcAegAyAGUASgBoAHAAegBKAEgAZAAxAEEAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AEYAVABsAC8AVABFAEIALwBXAGUAUQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
45 | </ContentProtection> | |
46 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
47 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQk0vHxqApPVueJhpzJHd1AxoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
48 | </ContentProtection> | |
49 | </Representation> | |
50 | </AdaptationSet> | |
51 | <AdaptationSet contentType="audio" id="21" lang="fre" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
52 | <ContentProtection cenc:default_KID="91d9467b-d795-318b-a07c-4867ff4381e7" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
53 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
54 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBlADAAYgBaAGsAWgBYAFgAaQB6AEcAZwBmAEUAaABuAC8AMABPAEIANQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AUABrADkAawB3AFMAcgBEAEIAcgBBAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
55 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AZQAwAGIAWgBrAFoAWABYAGkAegBHAGcAZgBFAGgAbgAvADAATwBCADUAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AFAAawA5AGsAdwBTAHIARABCAHIAQQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
56 | </ContentProtection> | |
57 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
58 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQkdlGe9eVMYugfEhn/0OB5xoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
59 | </ContentProtection> | |
60 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
61 | <SegmentTemplate initialization="$RepresentationID$/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d" media="$RepresentationID$/segment_$Number$.m4s" presentationTimeOffset="927332040" startNumber="487050" timescale="48000"> | |
62 | <SegmentTimeline> | |
63 | <S d="288000" r="12" t="140270400000"/> | |
64 | </SegmentTimeline> | |
65 | </SegmentTemplate> | |
66 | <Representation audioSamplingRate="48000" bandwidth="96000" codecs="mp4a.40.2" id="audio-fre-96000"> | |
67 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
68 | </Representation> | |
69 | </AdaptationSet> | |
70 | <AdaptationSet contentType="audio" id="22" lang="qad" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
71 | <ContentProtection cenc:default_KID="91d9467b-d795-318b-a07c-4867ff4381e7" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
72 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
73 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBlADAAYgBaAGsAWgBYAFgAaQB6AEcAZwBmAEUAaABuAC8AMABPAEIANQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AUABrADkAawB3AFMAcgBEAEIAcgBBAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
74 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AZQAwAGIAWgBrAFoAWABYAGkAegBHAGcAZgBFAGgAbgAvADAATwBCADUAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AFAAawA5AGsAdwBTAHIARABCAHIAQQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
75 | </ContentProtection> | |
76 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
77 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQkdlGe9eVMYugfEhn/0OB5xoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
78 | </ContentProtection> | |
79 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
80 | <SegmentTemplate initialization="$RepresentationID$/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d" media="$RepresentationID$/segment_$Number$.m4s" presentationTimeOffset="927332040" startNumber="487050" timescale="48000"> | |
81 | <SegmentTimeline> | |
82 | <S d="288000" r="12" t="140270400000"/> | |
83 | </SegmentTimeline> | |
84 | </SegmentTemplate> | |
85 | <Representation audioSamplingRate="48000" bandwidth="96000" codecs="mp4a.40.2" id="audio-fre-audiodesc-96000"> | |
86 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
87 | </Representation> | |
88 | </AdaptationSet> | |
89 | <AdaptationSet contentType="audio" id="23" lang="qaa" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
90 | <ContentProtection cenc:default_KID="91d9467b-d795-318b-a07c-4867ff4381e7" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
91 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
92 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBlADAAYgBaAGsAWgBYAFgAaQB6AEcAZwBmAEUAaABuAC8AMABPAEIANQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AUABrADkAawB3AFMAcgBEAEIAcgBBAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
93 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AZQAwAGIAWgBrAFoAWABYAGkAegBHAGcAZgBFAGgAbgAvADAATwBCADUAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AFAAawA5AGsAdwBTAHIARABCAHIAQQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
94 | </ContentProtection> | |
95 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
96 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQkdlGe9eVMYugfEhn/0OB5xoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
97 | </ContentProtection> | |
98 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
99 | <SegmentTemplate initialization="$RepresentationID$/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d" media="$RepresentationID$/segment_$Number$.m4s" presentationTimeOffset="927332040" startNumber="487050" timescale="48000"> | |
100 | <SegmentTimeline> | |
101 | <S d="288000" r="12" t="140270400000"/> | |
102 | </SegmentTimeline> | |
103 | </SegmentTemplate> | |
104 | <Representation audioSamplingRate="48000" bandwidth="96000" codecs="mp4a.40.2" id="audio-original-96000"> | |
105 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
106 | </Representation> | |
107 | </AdaptationSet> | |
108 | </Period> | |
109 | <UTCTiming schemeIdUri="urn:mpeg:dash:utc:direct:2014" value="2020-06-07T11:59:55Z"/> | |
110 | </MPD> |
0 | Root: available_time_: 6, base_time_: 1591531051, firstStartNumber_: 0, has_overall_seconds_: 1, has_timeshift_buffer_:1, publish_time_: 1591531195, stream_start_: 1591531201, #periods: 1 | |
1 | Period: base_url_: , duration_ : 7020000, encryptionState_: 3, id_: 0, included_types_: 0, need_secure_decoder_:0, start_: 1588628086000, startNumber_: 1, startPTS_: 0, #psshsets: 3, #adaptationSets: 4 | |
2 | PSSH: defaultKID_: { }, iv: { }, media_: 0, pssh_: | |
3 | PSSH: defaultKID_: { 0x93 0x4b 0xc7 0xc6 0xa0 0x29 0x3d 0x5b 0x9e 0x26 0x1a 0x73 0x24 0x77 0x75 0x03 }, iv: { }, media_: 1, pssh_: AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQk0vHxqApPVueJhpzJHd1AxoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA== | |
4 | PSSH: defaultKID_: { 0x91 0xd9 0x46 0x7b 0xd7 0x95 0x31 0x8b 0xa0 0x7c 0x48 0x67 0xff 0x43 0x81 0xe7 }, iv: { }, media_: 2, pssh_: AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQkdlGe9eVMYugfEhn/0OB5xoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA== | |
5 | ADP: audio_track_id_: , base_url_: , codecs_: , default_: 0, duration_: 0, forced_: 0, group_: , id_: 1, impaired_: 0, language_: unk, mimeType_: video/mp4, name_: , original_: 0, startNumber_: 487050, startPTS_: 263007000000, type_: 1, #segment_durations_: 13, #representations_: 4 | |
6 | SegTpl: duration: 0, initialization: $RepresentationID$/init.mp4?id=8c1bbb709229e110fbb0d1e544266504, media: $RepresentationID$/segment_$Number$.m4s, presentationTimeOffset: 1738747575, timescale:90000 | |
7 | Segment durations:, 540000, 540000, 540000, 540000, 540000, 540000, 540000, 540000, 540000, 540000, 540000, 540000, 540000 | |
8 | Rep: aspect_: 0, bandwidth_ : 300000, channelCount_ : 0, codecs_ : avc1.42001e, codec_private_data_ : , containerType_ : 2, duration_ : 0, flags_ : 14, fpsRate_ : 25, fpsScale_ : 1, hdcpVersion_ : 0, height_ : 224, id : videosd-400x224, indexRangeMax_ : 0, indexRangeMin_ : 0, nalLengthSize_ : 0, pssh_set_ : 1, ptsOffset_ : 0, samplingRate_ : 0, source_url_ : , startNumber_ : 487050, timescale_ : 90000, timescale_ext_ : 100, timescale_int_ : 9, url_ : videosd-400x224/init.mp4?id=8c1bbb709229e110fbb0d1e544266504, width_ : 400 | |
9 | SegTpl: duration: 540000, initialization: videosd-400x224/init.mp4?id=8c1bbb709229e110fbb0d1e544266504, media: videosd-400x224/segment_$Number$.m4s, presentationTimeOffset: 1738747575, timescale:90000 | |
10 | Init: pssh_set_: 0, range_begin_: 0x0, range_end_: 0xffffffffffffffff, startPTS_: 0, url:NULL | |
11 | Seg: pssh_set_: 0, range_begin_: 0x3d3c7055c0, range_end_: 0x76e8a, startPTS_: 0, url:NULL | |
12 | Seg: pssh_set_: 0, range_begin_: 0x3d3c789320, range_end_: 0x76e8b, startPTS_: 540000, url:NULL | |
13 | Seg: pssh_set_: 0, range_begin_: 0x3d3c80d080, range_end_: 0x76e8c, startPTS_: 1080000, url:NULL | |
14 | Seg: pssh_set_: 0, range_begin_: 0x3d3c890de0, range_end_: 0x76e8d, startPTS_: 1620000, url:NULL | |
15 | Seg: pssh_set_: 0, range_begin_: 0x3d3c914b40, range_end_: 0x76e8e, startPTS_: 2160000, url:NULL | |
16 | Seg: pssh_set_: 0, range_begin_: 0x3d3c9988a0, range_end_: 0x76e8f, startPTS_: 2700000, url:NULL | |
17 | Seg: pssh_set_: 0, range_begin_: 0x3d3ca1c600, range_end_: 0x76e90, startPTS_: 3240000, url:NULL | |
18 | Seg: pssh_set_: 0, range_begin_: 0x3d3caa0360, range_end_: 0x76e91, startPTS_: 3780000, url:NULL | |
19 | Seg: pssh_set_: 0, range_begin_: 0x3d3cb240c0, range_end_: 0x76e92, startPTS_: 4320000, url:NULL | |
20 | Seg: pssh_set_: 0, range_begin_: 0x3d3cba7e20, range_end_: 0x76e93, startPTS_: 4860000, url:NULL | |
21 | Seg: pssh_set_: 0, range_begin_: 0x3d3cc2bb80, range_end_: 0x76e94, startPTS_: 5400000, url:NULL | |
22 | Seg: pssh_set_: 0, range_begin_: 0x3d3ccaf8e0, range_end_: 0x76e95, startPTS_: 5940000, url:NULL | |
23 | Seg: pssh_set_: 0, range_begin_: 0x3d3cd33640, range_end_: 0x76e96, startPTS_: 6480000, url:NULL | |
24 | Rep: aspect_: 0, bandwidth_ : 800000, channelCount_ : 0, codecs_ : avc1.42001e, codec_private_data_ : , containerType_ : 2, duration_ : 0, flags_ : 14, fpsRate_ : 25, fpsScale_ : 1, hdcpVersion_ : 0, height_ : 360, id : videosd-640x360, indexRangeMax_ : 0, indexRangeMin_ : 0, nalLengthSize_ : 0, pssh_set_ : 1, ptsOffset_ : 0, samplingRate_ : 0, source_url_ : , startNumber_ : 487050, timescale_ : 90000, timescale_ext_ : 100, timescale_int_ : 9, url_ : videosd-640x360/init.mp4?id=8c1bbb709229e110fbb0d1e544266504, width_ : 640 | |
25 | SegTpl: duration: 540000, initialization: videosd-640x360/init.mp4?id=8c1bbb709229e110fbb0d1e544266504, media: videosd-640x360/segment_$Number$.m4s, presentationTimeOffset: 1738747575, timescale:90000 | |
26 | Init: pssh_set_: 0, range_begin_: 0x0, range_end_: 0xffffffffffffffff, startPTS_: 0, url:NULL | |
27 | Seg: pssh_set_: 0, range_begin_: 0x3d3c7055c0, range_end_: 0x76e8a, startPTS_: 0, url:NULL | |
28 | Seg: pssh_set_: 0, range_begin_: 0x3d3c789320, range_end_: 0x76e8b, startPTS_: 540000, url:NULL | |
29 | Seg: pssh_set_: 0, range_begin_: 0x3d3c80d080, range_end_: 0x76e8c, startPTS_: 1080000, url:NULL | |
30 | Seg: pssh_set_: 0, range_begin_: 0x3d3c890de0, range_end_: 0x76e8d, startPTS_: 1620000, url:NULL | |
31 | Seg: pssh_set_: 0, range_begin_: 0x3d3c914b40, range_end_: 0x76e8e, startPTS_: 2160000, url:NULL | |
32 | Seg: pssh_set_: 0, range_begin_: 0x3d3c9988a0, range_end_: 0x76e8f, startPTS_: 2700000, url:NULL | |
33 | Seg: pssh_set_: 0, range_begin_: 0x3d3ca1c600, range_end_: 0x76e90, startPTS_: 3240000, url:NULL | |
34 | Seg: pssh_set_: 0, range_begin_: 0x3d3caa0360, range_end_: 0x76e91, startPTS_: 3780000, url:NULL | |
35 | Seg: pssh_set_: 0, range_begin_: 0x3d3cb240c0, range_end_: 0x76e92, startPTS_: 4320000, url:NULL | |
36 | Seg: pssh_set_: 0, range_begin_: 0x3d3cba7e20, range_end_: 0x76e93, startPTS_: 4860000, url:NULL | |
37 | Seg: pssh_set_: 0, range_begin_: 0x3d3cc2bb80, range_end_: 0x76e94, startPTS_: 5400000, url:NULL | |
38 | Seg: pssh_set_: 0, range_begin_: 0x3d3ccaf8e0, range_end_: 0x76e95, startPTS_: 5940000, url:NULL | |
39 | Seg: pssh_set_: 0, range_begin_: 0x3d3cd33640, range_end_: 0x76e96, startPTS_: 6480000, url:NULL | |
40 | Rep: aspect_: 0, bandwidth_ : 1500000, channelCount_ : 0, codecs_ : avc1.42001e, codec_private_data_ : , containerType_ : 2, duration_ : 0, flags_ : 14, fpsRate_ : 25, fpsScale_ : 1, hdcpVersion_ : 0, height_ : 404, id : videosd-720x404, indexRangeMax_ : 0, indexRangeMin_ : 0, nalLengthSize_ : 0, pssh_set_ : 1, ptsOffset_ : 0, samplingRate_ : 0, source_url_ : , startNumber_ : 487050, timescale_ : 90000, timescale_ext_ : 100, timescale_int_ : 9, url_ : videosd-720x404/init.mp4?id=8c1bbb709229e110fbb0d1e544266504, width_ : 720 | |
41 | SegTpl: duration: 540000, initialization: videosd-720x404/init.mp4?id=8c1bbb709229e110fbb0d1e544266504, media: videosd-720x404/segment_$Number$.m4s, presentationTimeOffset: 1738747575, timescale:90000 | |
42 | Init: pssh_set_: 0, range_begin_: 0x0, range_end_: 0xffffffffffffffff, startPTS_: 0, url:NULL | |
43 | Seg: pssh_set_: 0, range_begin_: 0x3d3c7055c0, range_end_: 0x76e8a, startPTS_: 0, url:NULL | |
44 | Seg: pssh_set_: 0, range_begin_: 0x3d3c789320, range_end_: 0x76e8b, startPTS_: 540000, url:NULL | |
45 | Seg: pssh_set_: 0, range_begin_: 0x3d3c80d080, range_end_: 0x76e8c, startPTS_: 1080000, url:NULL | |
46 | Seg: pssh_set_: 0, range_begin_: 0x3d3c890de0, range_end_: 0x76e8d, startPTS_: 1620000, url:NULL | |
47 | Seg: pssh_set_: 0, range_begin_: 0x3d3c914b40, range_end_: 0x76e8e, startPTS_: 2160000, url:NULL | |
48 | Seg: pssh_set_: 0, range_begin_: 0x3d3c9988a0, range_end_: 0x76e8f, startPTS_: 2700000, url:NULL | |
49 | Seg: pssh_set_: 0, range_begin_: 0x3d3ca1c600, range_end_: 0x76e90, startPTS_: 3240000, url:NULL | |
50 | Seg: pssh_set_: 0, range_begin_: 0x3d3caa0360, range_end_: 0x76e91, startPTS_: 3780000, url:NULL | |
51 | Seg: pssh_set_: 0, range_begin_: 0x3d3cb240c0, range_end_: 0x76e92, startPTS_: 4320000, url:NULL | |
52 | Seg: pssh_set_: 0, range_begin_: 0x3d3cba7e20, range_end_: 0x76e93, startPTS_: 4860000, url:NULL | |
53 | Seg: pssh_set_: 0, range_begin_: 0x3d3cc2bb80, range_end_: 0x76e94, startPTS_: 5400000, url:NULL | |
54 | Seg: pssh_set_: 0, range_begin_: 0x3d3ccaf8e0, range_end_: 0x76e95, startPTS_: 5940000, url:NULL | |
55 | Seg: pssh_set_: 0, range_begin_: 0x3d3cd33640, range_end_: 0x76e96, startPTS_: 6480000, url:NULL | |
56 | Rep: aspect_: 0, bandwidth_ : 2100000, channelCount_ : 0, codecs_ : avc1.64001f, codec_private_data_ : , containerType_ : 2, duration_ : 0, flags_ : 14, fpsRate_ : 25, fpsScale_ : 1, hdcpVersion_ : 0, height_ : 540, id : videosd-960x540, indexRangeMax_ : 0, indexRangeMin_ : 0, nalLengthSize_ : 0, pssh_set_ : 1, ptsOffset_ : 0, samplingRate_ : 0, source_url_ : , startNumber_ : 487050, timescale_ : 90000, timescale_ext_ : 100, timescale_int_ : 9, url_ : videosd-960x540/init.mp4?id=8c1bbb709229e110fbb0d1e544266504, width_ : 960 | |
57 | SegTpl: duration: 540000, initialization: videosd-960x540/init.mp4?id=8c1bbb709229e110fbb0d1e544266504, media: videosd-960x540/segment_$Number$.m4s, presentationTimeOffset: 1738747575, timescale:90000 | |
58 | Init: pssh_set_: 0, range_begin_: 0x0, range_end_: 0xffffffffffffffff, startPTS_: 0, url:NULL | |
59 | Seg: pssh_set_: 0, range_begin_: 0x3d3c7055c0, range_end_: 0x76e8a, startPTS_: 0, url:NULL | |
60 | Seg: pssh_set_: 0, range_begin_: 0x3d3c789320, range_end_: 0x76e8b, startPTS_: 540000, url:NULL | |
61 | Seg: pssh_set_: 0, range_begin_: 0x3d3c80d080, range_end_: 0x76e8c, startPTS_: 1080000, url:NULL | |
62 | Seg: pssh_set_: 0, range_begin_: 0x3d3c890de0, range_end_: 0x76e8d, startPTS_: 1620000, url:NULL | |
63 | Seg: pssh_set_: 0, range_begin_: 0x3d3c914b40, range_end_: 0x76e8e, startPTS_: 2160000, url:NULL | |
64 | Seg: pssh_set_: 0, range_begin_: 0x3d3c9988a0, range_end_: 0x76e8f, startPTS_: 2700000, url:NULL | |
65 | Seg: pssh_set_: 0, range_begin_: 0x3d3ca1c600, range_end_: 0x76e90, startPTS_: 3240000, url:NULL | |
66 | Seg: pssh_set_: 0, range_begin_: 0x3d3caa0360, range_end_: 0x76e91, startPTS_: 3780000, url:NULL | |
67 | Seg: pssh_set_: 0, range_begin_: 0x3d3cb240c0, range_end_: 0x76e92, startPTS_: 4320000, url:NULL | |
68 | Seg: pssh_set_: 0, range_begin_: 0x3d3cba7e20, range_end_: 0x76e93, startPTS_: 4860000, url:NULL | |
69 | Seg: pssh_set_: 0, range_begin_: 0x3d3cc2bb80, range_end_: 0x76e94, startPTS_: 5400000, url:NULL | |
70 | Seg: pssh_set_: 0, range_begin_: 0x3d3ccaf8e0, range_end_: 0x76e95, startPTS_: 5940000, url:NULL | |
71 | Seg: pssh_set_: 0, range_begin_: 0x3d3cd33640, range_end_: 0x76e96, startPTS_: 6480000, url:NULL | |
72 | ADP: audio_track_id_: , base_url_: , codecs_: , default_: 1, duration_: 7020000, forced_: 0, group_: , id_: 21, impaired_: 0, language_: fre, mimeType_: audio/mp4, name_: , original_: 0, startNumber_: 487050, startPTS_: 140270400000, type_: 2, #segment_durations_: 13, #representations_: 1 | |
73 | SegTpl: duration: 0, initialization: $RepresentationID$/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d, media: $RepresentationID$/segment_$Number$.m4s, presentationTimeOffset: 927332040, timescale:48000 | |
74 | Segment durations:, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000 | |
75 | Rep: aspect_: 0, bandwidth_ : 96000, channelCount_ : 2, codecs_ : mp4a.40.2, codec_private_data_ : , containerType_ : 2, duration_ : 7020000, flags_ : 14, fpsRate_ : 0, fpsScale_ : 1, hdcpVersion_ : 0, height_ : 0, id : audio-fre-96000, indexRangeMax_ : 0, indexRangeMin_ : 0, nalLengthSize_ : 0, pssh_set_ : 2, ptsOffset_ : 0, samplingRate_ : 48000, source_url_ : , startNumber_ : 487050, timescale_ : 48000, timescale_ext_ : 1000, timescale_int_ : 48, url_ : audio-fre-96000/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d, width_ : 0 | |
76 | SegTpl: duration: 288000, initialization: audio-fre-96000/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d, media: audio-fre-96000/segment_$Number$.m4s, presentationTimeOffset: 927332040, timescale:48000 | |
77 | Init: pssh_set_: 0, range_begin_: 0x0, range_end_: 0xffffffffffffffff, startPTS_: 0, url:NULL | |
78 | Seg: pssh_set_: 0, range_begin_: 0x20a8c47200, range_end_: 0x76e8a, startPTS_: 0, url:NULL | |
79 | Seg: pssh_set_: 0, range_begin_: 0x20a8c8d700, range_end_: 0x76e8b, startPTS_: 288000, url:NULL | |
80 | Seg: pssh_set_: 0, range_begin_: 0x20a8cd3c00, range_end_: 0x76e8c, startPTS_: 576000, url:NULL | |
81 | Seg: pssh_set_: 0, range_begin_: 0x20a8d1a100, range_end_: 0x76e8d, startPTS_: 864000, url:NULL | |
82 | Seg: pssh_set_: 0, range_begin_: 0x20a8d60600, range_end_: 0x76e8e, startPTS_: 1152000, url:NULL | |
83 | Seg: pssh_set_: 0, range_begin_: 0x20a8da6b00, range_end_: 0x76e8f, startPTS_: 1440000, url:NULL | |
84 | Seg: pssh_set_: 0, range_begin_: 0x20a8ded000, range_end_: 0x76e90, startPTS_: 1728000, url:NULL | |
85 | Seg: pssh_set_: 0, range_begin_: 0x20a8e33500, range_end_: 0x76e91, startPTS_: 2016000, url:NULL | |
86 | Seg: pssh_set_: 0, range_begin_: 0x20a8e79a00, range_end_: 0x76e92, startPTS_: 2304000, url:NULL | |
87 | Seg: pssh_set_: 0, range_begin_: 0x20a8ebff00, range_end_: 0x76e93, startPTS_: 2592000, url:NULL | |
88 | Seg: pssh_set_: 0, range_begin_: 0x20a8f06400, range_end_: 0x76e94, startPTS_: 2880000, url:NULL | |
89 | Seg: pssh_set_: 0, range_begin_: 0x20a8f4c900, range_end_: 0x76e95, startPTS_: 3168000, url:NULL | |
90 | Seg: pssh_set_: 0, range_begin_: 0x20a8f92e00, range_end_: 0x76e96, startPTS_: 3456000, url:NULL | |
91 | ADP: audio_track_id_: , base_url_: , codecs_: , default_: 1, duration_: 7020000, forced_: 0, group_: , id_: 23, impaired_: 0, language_: qaa, mimeType_: audio/mp4, name_: , original_: 0, startNumber_: 487050, startPTS_: 140270400000, type_: 2, #segment_durations_: 13, #representations_: 1 | |
92 | SegTpl: duration: 0, initialization: $RepresentationID$/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d, media: $RepresentationID$/segment_$Number$.m4s, presentationTimeOffset: 927332040, timescale:48000 | |
93 | Segment durations:, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000 | |
94 | Rep: aspect_: 0, bandwidth_ : 96000, channelCount_ : 2, codecs_ : mp4a.40.2, codec_private_data_ : , containerType_ : 2, duration_ : 7020000, flags_ : 14, fpsRate_ : 0, fpsScale_ : 1, hdcpVersion_ : 0, height_ : 0, id : audio-original-96000, indexRangeMax_ : 0, indexRangeMin_ : 0, nalLengthSize_ : 0, pssh_set_ : 2, ptsOffset_ : 0, samplingRate_ : 48000, source_url_ : , startNumber_ : 487050, timescale_ : 48000, timescale_ext_ : 1000, timescale_int_ : 48, url_ : audio-original-96000/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d, width_ : 0 | |
95 | SegTpl: duration: 288000, initialization: audio-original-96000/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d, media: audio-original-96000/segment_$Number$.m4s, presentationTimeOffset: 927332040, timescale:48000 | |
96 | Init: pssh_set_: 0, range_begin_: 0x0, range_end_: 0xffffffffffffffff, startPTS_: 0, url:NULL | |
97 | Seg: pssh_set_: 0, range_begin_: 0x20a8c47200, range_end_: 0x76e8a, startPTS_: 0, url:NULL | |
98 | Seg: pssh_set_: 0, range_begin_: 0x20a8c8d700, range_end_: 0x76e8b, startPTS_: 288000, url:NULL | |
99 | Seg: pssh_set_: 0, range_begin_: 0x20a8cd3c00, range_end_: 0x76e8c, startPTS_: 576000, url:NULL | |
100 | Seg: pssh_set_: 0, range_begin_: 0x20a8d1a100, range_end_: 0x76e8d, startPTS_: 864000, url:NULL | |
101 | Seg: pssh_set_: 0, range_begin_: 0x20a8d60600, range_end_: 0x76e8e, startPTS_: 1152000, url:NULL | |
102 | Seg: pssh_set_: 0, range_begin_: 0x20a8da6b00, range_end_: 0x76e8f, startPTS_: 1440000, url:NULL | |
103 | Seg: pssh_set_: 0, range_begin_: 0x20a8ded000, range_end_: 0x76e90, startPTS_: 1728000, url:NULL | |
104 | Seg: pssh_set_: 0, range_begin_: 0x20a8e33500, range_end_: 0x76e91, startPTS_: 2016000, url:NULL | |
105 | Seg: pssh_set_: 0, range_begin_: 0x20a8e79a00, range_end_: 0x76e92, startPTS_: 2304000, url:NULL | |
106 | Seg: pssh_set_: 0, range_begin_: 0x20a8ebff00, range_end_: 0x76e93, startPTS_: 2592000, url:NULL | |
107 | Seg: pssh_set_: 0, range_begin_: 0x20a8f06400, range_end_: 0x76e94, startPTS_: 2880000, url:NULL | |
108 | Seg: pssh_set_: 0, range_begin_: 0x20a8f4c900, range_end_: 0x76e95, startPTS_: 3168000, url:NULL | |
109 | Seg: pssh_set_: 0, range_begin_: 0x20a8f92e00, range_end_: 0x76e96, startPTS_: 3456000, url:NULL | |
110 | ADP: audio_track_id_: , base_url_: , codecs_: , default_: 1, duration_: 7020000, forced_: 0, group_: , id_: 22, impaired_: 0, language_: qad, mimeType_: audio/mp4, name_: , original_: 0, startNumber_: 487050, startPTS_: 140270400000, type_: 2, #segment_durations_: 13, #representations_: 1 | |
111 | SegTpl: duration: 0, initialization: $RepresentationID$/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d, media: $RepresentationID$/segment_$Number$.m4s, presentationTimeOffset: 927332040, timescale:48000 | |
112 | Segment durations:, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000, 288000 | |
113 | Rep: aspect_: 0, bandwidth_ : 96000, channelCount_ : 2, codecs_ : mp4a.40.2, codec_private_data_ : , containerType_ : 2, duration_ : 7020000, flags_ : 14, fpsRate_ : 0, fpsScale_ : 1, hdcpVersion_ : 0, height_ : 0, id : audio-fre-audiodesc-96000, indexRangeMax_ : 0, indexRangeMin_ : 0, nalLengthSize_ : 0, pssh_set_ : 2, ptsOffset_ : 0, samplingRate_ : 48000, source_url_ : , startNumber_ : 487050, timescale_ : 48000, timescale_ext_ : 1000, timescale_int_ : 48, url_ : audio-fre-audiodesc-96000/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d, width_ : 0 | |
114 | SegTpl: duration: 288000, initialization: audio-fre-audiodesc-96000/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d, media: audio-fre-audiodesc-96000/segment_$Number$.m4s, presentationTimeOffset: 927332040, timescale:48000 | |
115 | Init: pssh_set_: 0, range_begin_: 0x0, range_end_: 0xffffffffffffffff, startPTS_: 0, url:NULL | |
116 | Seg: pssh_set_: 0, range_begin_: 0x20a8c47200, range_end_: 0x76e8a, startPTS_: 0, url:NULL | |
117 | Seg: pssh_set_: 0, range_begin_: 0x20a8c8d700, range_end_: 0x76e8b, startPTS_: 288000, url:NULL | |
118 | Seg: pssh_set_: 0, range_begin_: 0x20a8cd3c00, range_end_: 0x76e8c, startPTS_: 576000, url:NULL | |
119 | Seg: pssh_set_: 0, range_begin_: 0x20a8d1a100, range_end_: 0x76e8d, startPTS_: 864000, url:NULL | |
120 | Seg: pssh_set_: 0, range_begin_: 0x20a8d60600, range_end_: 0x76e8e, startPTS_: 1152000, url:NULL | |
121 | Seg: pssh_set_: 0, range_begin_: 0x20a8da6b00, range_end_: 0x76e8f, startPTS_: 1440000, url:NULL | |
122 | Seg: pssh_set_: 0, range_begin_: 0x20a8ded000, range_end_: 0x76e90, startPTS_: 1728000, url:NULL | |
123 | Seg: pssh_set_: 0, range_begin_: 0x20a8e33500, range_end_: 0x76e91, startPTS_: 2016000, url:NULL | |
124 | Seg: pssh_set_: 0, range_begin_: 0x20a8e79a00, range_end_: 0x76e92, startPTS_: 2304000, url:NULL | |
125 | Seg: pssh_set_: 0, range_begin_: 0x20a8ebff00, range_end_: 0x76e93, startPTS_: 2592000, url:NULL | |
126 | Seg: pssh_set_: 0, range_begin_: 0x20a8f06400, range_end_: 0x76e94, startPTS_: 2880000, url:NULL | |
127 | Seg: pssh_set_: 0, range_begin_: 0x20a8f4c900, range_end_: 0x76e95, startPTS_: 3168000, url:NULL | |
128 | Seg: pssh_set_: 0, range_begin_: 0x20a8f92e00, range_end_: 0x76e96, startPTS_: 3456000, url:NULL |
0 | <?xml version="1.0" encoding="utf-8"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" testTime="2020-06-08T18:54:24Z" availabilityStartTime="1970-01-01T00:00:00Z" id="Config part of url maybe?" maxSegmentDuration="PT2S" minBufferTime="PT2S" minimumUpdatePeriod="P100Y" profiles="urn:mpeg:dash:profile:isoff-live:2011,http://dashif.org/guidelines/dash-if-simple" publishTime="2020-06-08T18:54:24Z" timeShiftBufferDepth="PT5M" type="dynamic" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"> | |
2 | <ProgramInformation> | |
3 | <Title>Media Presentation Description from DASH-IF live simulator</Title> | |
4 | </ProgramInformation> | |
5 | <BaseURL>http://livesim.dashif.org/livesim/sts_1591642463/sid_049301ca/testpic_2s/</BaseURL> | |
6 | <Period id="p0" start="PT0S"> | |
7 | <AdaptationSet contentType="audio" lang="en" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
8 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
9 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" startNumber="0" /> | |
10 | <Representation audioSamplingRate="48000" bandwidth="48000" codecs="mp4a.40.2" id="A48"> | |
11 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" /> | |
12 | </Representation> | |
13 | </AdaptationSet> | |
14 | <AdaptationSet contentType="video" maxFrameRate="60/2" maxHeight="360" maxWidth="640" mimeType="video/mp4" minHeight="360" minWidth="640" par="16:9" segmentAlignment="true" startWithSAP="1"> | |
15 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
16 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" startNumber="0" /> | |
17 | <Representation bandwidth="300000" codecs="avc1.64001e" frameRate="60/2" height="360" id="V300" sar="1:1" width="640" /> | |
18 | </AdaptationSet> | |
19 | </Period> | |
20 | </MPD>⏎ |
0 | #KODIPROP:inputstreamaddon=inputstream.adaptive | |
1 | #KODIPROP:inputstream=inputstream.adaptive | |
2 | #KODIPROP:inputstream.adaptive.manifest_type=mpd | |
3 | #KODIPROP:mimetype=application/dash+xml | |
4 | http://livesim.dashif.org/livesim/testpic_2s/Manifest.mpd⏎ |
0 | <?xml version="1.0" encoding="utf-8"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" availabilityStartTime="1970-01-01T00:30:00Z" id="Config part of url maybe?" maxSegmentDuration="PT2S" minBufferTime="PT2S" minimumUpdatePeriod="PT10S" profiles="urn:mpeg:dash:profile:isoff-live:2011,http://dashif.org/guidelines/dash-if-simple" testTime="2020-06-08T22:16:31Z" publishTime="2020-06-08T22:16:31Z" timeShiftBufferDepth="PT5M" type="dynamic" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"> | |
2 | <ProgramInformation> | |
3 | <Title>Media Presentation Description from DASH-IF live simulator</Title> | |
4 | </ProgramInformation> | |
5 | <BaseURL>http://livesim.dashif.org/livesim/sts_1591654591/sid_8737f209/start_1800/testpic_2s/</BaseURL> | |
6 | <Period id="p0" start="PT0S"> | |
7 | <AdaptationSet contentType="audio" lang="en" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
8 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
9 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" startNumber="0" /> | |
10 | <Representation audioSamplingRate="48000" bandwidth="48000" codecs="mp4a.40.2" id="A48"> | |
11 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" /> | |
12 | </Representation> | |
13 | </AdaptationSet> | |
14 | <AdaptationSet contentType="video" maxFrameRate="60/2" maxHeight="360" maxWidth="640" mimeType="video/mp4" minHeight="360" minWidth="640" par="16:9" segmentAlignment="true" startWithSAP="1"> | |
15 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
16 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" startNumber="0" /> | |
17 | <Representation bandwidth="300000" codecs="avc1.64001e" frameRate="60/2" height="360" id="V300" sar="1:1" width="640" /> | |
18 | </AdaptationSet> | |
19 | </Period> | |
20 | </MPD>⏎ |
0 | #KODIPROP:inputstreamaddon=inputstream.adaptive | |
1 | #KODIPROP:inputstream=inputstream.adaptive | |
2 | #KODIPROP:inputstream.adaptive.manifest_type=mpd | |
3 | #KODIPROP:mimetype=application/dash+xml | |
4 | http://livesim.dashif.org/livesim/start_1800/testpic_2s/Manifest.mpd⏎ |
0 | <?xml version="1.0" encoding="utf-8"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" availabilityStartTime="1970-01-01T00:00:00Z" id="Config part of url maybe?" minBufferTime="PT2S" minimumUpdatePeriod="PT0S" profiles="urn:mpeg:dash:profile:isoff-live:2011,http://dashif.org/guidelines/dash-if-simple" testTime="2020-06-08T22:03:36Z" publishTime="2020-06-08T22:03:36Z" timeShiftBufferDepth="PT5M" type="dynamic" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"> | |
2 | <ProgramInformation> | |
3 | <Title>Media Presentation Description from DASH-IF live simulator</Title> | |
4 | </ProgramInformation> | |
5 | <BaseURL>http://livesim.dashif.org/livesim/sts_1591653816/sid_3801e658/segtimeline_1/testpic_2s/</BaseURL> | |
6 | <Period id="p0" start="PT0S"> | |
7 | <AdaptationSet contentType="audio" lang="en" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
8 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
9 | <SegmentTemplate initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/t$Time$.m4s" timescale="48000"> | |
10 | <SegmentTimeline> | |
11 | <S d="96256" r="1" t="76399368672256" /> | |
12 | <S d="95232" /> | |
13 | <S d="96256" r="2" /> | |
14 | <S d="95232" /> | |
15 | <S d="96256" r="2" /> | |
16 | <S d="95232" /> | |
17 | <S d="96256" r="2" /> | |
18 | <S d="95232" /> | |
19 | <S d="96256" r="2" /> | |
20 | <S d="95232" /> | |
21 | <S d="96256" r="2" /> | |
22 | <S d="95232" /> | |
23 | <S d="96256" r="2" /> | |
24 | <S d="95232" /> | |
25 | <S d="96256" r="2" /> | |
26 | <S d="95232" /> | |
27 | <S d="96256" r="2" /> | |
28 | <S d="95232" /> | |
29 | <S d="96256" r="2" /> | |
30 | <S d="95232" /> | |
31 | <S d="96256" r="2" /> | |
32 | <S d="95232" /> | |
33 | <S d="96256" r="2" /> | |
34 | <S d="95232" /> | |
35 | <S d="96256" r="2" /> | |
36 | <S d="95232" /> | |
37 | <S d="96256" r="2" /> | |
38 | <S d="95232" /> | |
39 | <S d="96256" r="2" /> | |
40 | <S d="95232" /> | |
41 | <S d="96256" r="2" /> | |
42 | <S d="95232" /> | |
43 | <S d="96256" r="2" /> | |
44 | <S d="95232" /> | |
45 | <S d="96256" r="2" /> | |
46 | <S d="95232" /> | |
47 | <S d="96256" r="2" /> | |
48 | <S d="95232" /> | |
49 | <S d="96256" r="2" /> | |
50 | <S d="95232" /> | |
51 | <S d="96256" r="2" /> | |
52 | <S d="95232" /> | |
53 | <S d="96256" r="2" /> | |
54 | <S d="95232" /> | |
55 | <S d="96256" r="2" /> | |
56 | <S d="95232" /> | |
57 | <S d="96256" r="2" /> | |
58 | <S d="95232" /> | |
59 | <S d="96256" r="2" /> | |
60 | <S d="95232" /> | |
61 | <S d="96256" r="2" /> | |
62 | <S d="95232" /> | |
63 | <S d="96256" r="2" /> | |
64 | <S d="95232" /> | |
65 | <S d="96256" r="2" /> | |
66 | <S d="95232" /> | |
67 | <S d="96256" r="2" /> | |
68 | <S d="95232" /> | |
69 | <S d="96256" r="2" /> | |
70 | <S d="95232" /> | |
71 | <S d="96256" r="2" /> | |
72 | <S d="95232" /> | |
73 | <S d="96256" r="2" /> | |
74 | <S d="95232" /> | |
75 | <S d="96256" r="2" /> | |
76 | <S d="95232" /> | |
77 | <S d="96256" r="2" /> | |
78 | <S d="95232" /> | |
79 | <S d="96256" r="2" /> | |
80 | <S d="95232" /> | |
81 | <S d="96256" r="2" /> | |
82 | <S d="95232" /> | |
83 | <S d="96256" r="2" /> | |
84 | <S d="95232" /> | |
85 | <S d="96256" r="2" /> | |
86 | <S d="95232" /> | |
87 | </SegmentTimeline> | |
88 | </SegmentTemplate> | |
89 | <Representation audioSamplingRate="48000" bandwidth="48000" codecs="mp4a.40.2" id="A48"> | |
90 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" /> | |
91 | </Representation> | |
92 | </AdaptationSet> | |
93 | <AdaptationSet contentType="video" maxFrameRate="60/2" maxHeight="360" maxWidth="640" mimeType="video/mp4" minHeight="360" minWidth="640" par="16:9" segmentAlignment="true" startWithSAP="1"> | |
94 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
95 | <SegmentTemplate initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/t$Time$.m4s" timescale="90000"> | |
96 | <SegmentTimeline> | |
97 | <S d="180000" r="149" t="143248816260000" /> | |
98 | <S d="180000" r="107" /> | |
99 | </SegmentTimeline> | |
100 | </SegmentTemplate> | |
101 | <Representation bandwidth="300000" codecs="avc1.64001e" frameRate="60/2" height="360" id="V300" sar="1:1" width="640" /> | |
102 | </AdaptationSet> | |
103 | </Period> | |
104 | </MPD>⏎ |
0 | #KODIPROP:inputstreamaddon=inputstream.adaptive | |
1 | #KODIPROP:inputstream=inputstream.adaptive | |
2 | #KODIPROP:inputstream.adaptive.manifest_type=mpd | |
3 | #KODIPROP:mimetype=application/dash+xml | |
4 | http://livesim.dashif.org/livesim/segtimeline_1/testpic_2s/Manifest.mpd⏎ |
0 | <?xml version="1.0" encoding="UTF-8"?> | |
1 | <MPD xmlns:cenc="urn:mpeg:cenc:2013" xmlns:ms="urn:microsoft" xmlns:mspr="urn:microsoft:playready" xmlns="urn:mpeg:dash:schema:mpd:2011" mediaPresentationDuration="PT22M32.880000S" minBufferTime="PT4.096S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" type="static"> | |
2 | <Period duration="PT45.263999S" id="c-0-000-012"> | |
3 | <AssetIdentifier schemeIdUri="urn:org:dashif:asset-id:2013" value="8e38f89295bc497fabe10d272f0888a5"/> | |
4 | <AdaptationSet audioSamplingRate="48000" contentType="audio" group="1" lang="en" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
5 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="dd87d434-f1a2-4159-9137-0fe5382fe325"/> | |
6 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
7 | <cenc:pssh>AAAAk3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHMIARIgZGQ4N2Q0MzRmMWEyNDE1OTkxMzcwZmU1MzgyZmUzMjUaBHZkbXMiRzhlMzhmODkyOTViYzQ5N2ZhYmUxMGQyNzJmMDg4OGE1X2F1c2UyXzEwMjA2ZjRjN2ZhNDQ3ODI4ZTIyNDhlNGE5ZDkwMDJh</cenc:pssh> | |
8 | <ms:laurl licenseUrl="https://content-ause2.uplynk.com/wv?b=8e38f89295bc497fabe10d272f0888a5&v=8e38f89295bc497fabe10d272f0888a5&pbs=10206f4c7fa447828e2248e4a9d9002a"/> | |
9 | <!--If asked for a license URL specify: https://content.uplynk.com/wv (widevine) or https://content.uplynk.com/pr (playready)--> | |
10 | </ContentProtection> | |
11 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 3.0"> | |
12 | <cenc:pssh>AAAEinBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABGo8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAyAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARABTAD4APABLAEkARAAgAEEATABHAEkARAA9ACIAQQBFAFMAQwBUAFIAIgAgAFYAQQBMAFUARQA9ACIATgBOAFMASAAzAGEATAB4AFcAVQBHAFIATgB3AC8AbABPAEMALwBqAEoAUQA9AD0AIgA+ADwALwBLAEkARAA+ADwALwBLAEkARABTAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AdABlAG4AdAAtAGEAdQBzAGUAMgAuAHUAcABsAHkAbgBrAC4AYwBvAG0ALwBwAHIAPwBiAD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwB2AD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwBwAGIAcwA9ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8ATABBAF8AVQBSAEwAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMATwBOAFQARQBOAFQAXwBJAEQAPgA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAPAAvAEMATwBOAFQARQBOAFQAXwBJAEQAPgA8AEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4AYQB1AHMAZQAyADwALwBDAE8ATgBUAEUATgBUAF8AWgBPAE4ARQA+ADwAUABCAFMAPgAxADAAMgAwADYAZgA0AGMANwBmAGEANAA0ADcAOAAyADgAZQAyADIANAA4AGUANABhADkAZAA5ADAAMAAyAGEAPAAvAFAAQgBTAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
13 | <mspr:pro>dAQAAAEAAQBqBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADIALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAFMAPgA8AEsASQBEACAAQQBMAEcASQBEAD0AIgBBAEUAUwBDAFQAUgAiACAAVgBBAEwAVQBFAD0AIgBOAE4AUwBIADMAYQBMAHgAVwBVAEcAUgBOAHcALwBsAE8AQwAvAGoASgBRAD0APQAiAD4APAAvAEsASQBEAD4APAAvAEsASQBEAFMAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBjAG8AbgB0AGUAbgB0AC0AYQB1AHMAZQAyAC4AdQBwAGwAeQBuAGsALgBjAG8AbQAvAHAAcgA/AGIAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHYAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHAAYgBzAD0AMQAwADIAMAA2AGYANABjADcAZgBhADQANAA3ADgAMgA4AGUAMgAyADQAOABlADQAYQA5AGQAOQAwADAAMgBhADwALwBMAEEAXwBVAFIATAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBPAE4AVABFAE4AVABfAEkARAA+ADgAZQAzADgAZgA4ADkAMgA5ADUAYgBjADQAOQA3AGYAYQBiAGUAMQAwAGQAMgA3ADIAZgAwADgAOAA4AGEANQA8AC8AQwBPAE4AVABFAE4AVABfAEkARAA+ADwAQwBPAE4AVABFAE4AVABfAFoATwBOAEUAPgBhAHUAcwBlADIAPAAvAEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4APABQAEIAUwA+ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8AUABCAFMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro> | |
14 | </ContentProtection> | |
15 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
16 | <Representation bandwidth="129359" codecs="mp4a.40.5" id="0"> | |
17 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
18 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
19 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/TK_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="TK_$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" startNumber="0" timescale="90000"/> | |
20 | </Representation> | |
21 | </AdaptationSet> | |
22 | <AdaptationSet contentType="video" id="1" maxFrameRate="30" maxHeight="648" maxWidth="1152" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
23 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="07af427b-8873-49b7-aaec-73cf2643b3c9"/> | |
24 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
25 | <cenc:pssh>AAAAk3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHMIARIgMDdhZjQyN2I4ODczNDliN2FhZWM3M2NmMjY0M2IzYzkaBHZkbXMiRzhlMzhmODkyOTViYzQ5N2ZhYmUxMGQyNzJmMDg4OGE1X2F1c2UyXzEwMjA2ZjRjN2ZhNDQ3ODI4ZTIyNDhlNGE5ZDkwMDJh</cenc:pssh> | |
26 | <ms:laurl licenseUrl="https://content-ause2.uplynk.com/wv?b=8e38f89295bc497fabe10d272f0888a5&v=8e38f89295bc497fabe10d272f0888a5&pbs=10206f4c7fa447828e2248e4a9d9002a"/> | |
27 | <!--If asked for a license URL specify: https://content.uplynk.com/wv (widevine) or https://content.uplynk.com/pr (playready)--> | |
28 | </ContentProtection> | |
29 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 3.0"> | |
30 | <cenc:pssh>AAAEinBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABGo8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAyAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARABTAD4APABLAEkARAAgAEEATABHAEkARAA9ACIAQQBFAFMAQwBUAFIAIgAgAFYAQQBMAFUARQA9ACIAZQAwAEsAdgBCADMATwBJAHQAMABtAHEANwBIAFAAUABKAGsATwB6AHkAUQA9AD0AIgA+ADwALwBLAEkARAA+ADwALwBLAEkARABTAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AdABlAG4AdAAtAGEAdQBzAGUAMgAuAHUAcABsAHkAbgBrAC4AYwBvAG0ALwBwAHIAPwBiAD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwB2AD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwBwAGIAcwA9ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8ATABBAF8AVQBSAEwAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMATwBOAFQARQBOAFQAXwBJAEQAPgA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAPAAvAEMATwBOAFQARQBOAFQAXwBJAEQAPgA8AEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4AYQB1AHMAZQAyADwALwBDAE8ATgBUAEUATgBUAF8AWgBPAE4ARQA+ADwAUABCAFMAPgAxADAAMgAwADYAZgA0AGMANwBmAGEANAA0ADcAOAAyADgAZQAyADIANAA4AGUANABhADkAZAA5ADAAMAAyAGEAPAAvAFAAQgBTAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
31 | <mspr:pro>dAQAAAEAAQBqBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADIALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAFMAPgA8AEsASQBEACAAQQBMAEcASQBEAD0AIgBBAEUAUwBDAFQAUgAiACAAVgBBAEwAVQBFAD0AIgBlADAASwB2AEIAMwBPAEkAdAAwAG0AcQA3AEgAUABQAEoAawBPAHoAeQBRAD0APQAiAD4APAAvAEsASQBEAD4APAAvAEsASQBEAFMAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBjAG8AbgB0AGUAbgB0AC0AYQB1AHMAZQAyAC4AdQBwAGwAeQBuAGsALgBjAG8AbQAvAHAAcgA/AGIAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHYAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHAAYgBzAD0AMQAwADIAMAA2AGYANABjADcAZgBhADQANAA3ADgAMgA4AGUAMgAyADQAOABlADQAYQA5AGQAOQAwADAAMgBhADwALwBMAEEAXwBVAFIATAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBPAE4AVABFAE4AVABfAEkARAA+ADgAZQAzADgAZgA4ADkAMgA5ADUAYgBjADQAOQA3AGYAYQBiAGUAMQAwAGQAMgA3ADIAZgAwADgAOAA4AGEANQA8AC8AQwBPAE4AVABFAE4AVABfAEkARAA+ADwAQwBPAE4AVABFAE4AVABfAFoATwBOAEUAPgBhAHUAcwBlADIAPAAvAEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4APABQAEIAUwA+ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8AUABCAFMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro> | |
32 | </ContentProtection> | |
33 | <SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="2"/> | |
34 | <InbandEventStream schemeIdUri="com.uplynk.asset.metadata"/> | |
35 | <Accessibility schemeIdUri="urn:scte:dash:cc:cea-608:2015"/> | |
36 | <Representation bandwidth="1833286" codecs="avc1.4d001f" frameRate="30" height="612" id="H" scanType="progressive" width="1088"> | |
37 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
38 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" startNumber="0" timescale="90000"/> | |
39 | </Representation> | |
40 | <Representation bandwidth="2323480" codecs="avc1.4d001f" frameRate="30" height="648" id="I" scanType="progressive" width="1152"> | |
41 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
42 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" startNumber="0" timescale="90000"/> | |
43 | </Representation> | |
44 | <Representation bandwidth="1480429" codecs="avc1.4d001f" frameRate="30" height="594" id="G" scanType="progressive" width="1056"> | |
45 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
46 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" startNumber="0" timescale="90000"/> | |
47 | </Representation> | |
48 | <Representation bandwidth="1016365" codecs="avc1.4d001f" frameRate="30" height="558" id="F" scanType="progressive" width="992"> | |
49 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
50 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" startNumber="0" timescale="90000"/> | |
51 | </Representation> | |
52 | <Representation bandwidth="590220" codecs="avc1.4d001e" frameRate="30" height="432" id="E" scanType="progressive" width="768"> | |
53 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
54 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" startNumber="0" timescale="90000"/> | |
55 | </Representation> | |
56 | <Representation bandwidth="301685" codecs="avc1.420015" frameRate="30" height="252" id="D" scanType="progressive" width="448"> | |
57 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
58 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" startNumber="0" timescale="90000"/> | |
59 | </Representation> | |
60 | <Representation bandwidth="148829" codecs="avc1.42000c" frameRate="15" height="162" id="C" scanType="progressive" width="288"> | |
61 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
62 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" startNumber="0" timescale="90000"/> | |
63 | </Representation> | |
64 | <Representation bandwidth="69733" codecs="avc1.42000b" frameRate="15" height="108" id="B" scanType="progressive" width="192"> | |
65 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
66 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" startNumber="0" timescale="90000"/> | |
67 | </Representation> | |
68 | <Representation bandwidth="21404" codecs="avc1.42000a" frameRate="6" height="54" id="A" scanType="progressive" width="96"> | |
69 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
70 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" startNumber="0" timescale="90000"/> | |
71 | </Representation> | |
72 | </AdaptationSet> | |
73 | <AdaptationSet contentType="video" id="2" maxFrameRate="30" maxHeight="1080" maxWidth="1920" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
74 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="f6e37a5f-4967-49ed-a553-42b75aa6fbe0"/> | |
75 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
76 | <cenc:pssh>AAAAk3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHMIARIgZjZlMzdhNWY0OTY3NDllZGE1NTM0MmI3NWFhNmZiZTAaBHZkbXMiRzhlMzhmODkyOTViYzQ5N2ZhYmUxMGQyNzJmMDg4OGE1X2F1c2UyXzEwMjA2ZjRjN2ZhNDQ3ODI4ZTIyNDhlNGE5ZDkwMDJh</cenc:pssh> | |
77 | <ms:laurl licenseUrl="https://content-ause2.uplynk.com/wv?b=8e38f89295bc497fabe10d272f0888a5&v=8e38f89295bc497fabe10d272f0888a5&pbs=10206f4c7fa447828e2248e4a9d9002a"/> | |
78 | <!--If asked for a license URL specify: https://content.uplynk.com/wv (widevine) or https://content.uplynk.com/pr (playready)--> | |
79 | </ContentProtection> | |
80 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 3.0"> | |
81 | <cenc:pssh>AAAEinBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABGo8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAyAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARABTAD4APABLAEkARAAgAEEATABHAEkARAA9ACIAQQBFAFMAQwBUAFIAIgAgAFYAQQBMAFUARQA9ACIAWAAzAHIAagA5AG0AZABKADcAVQBtAGwAVQAwAEsAMwBXAHEAYgA3ADQAQQA9AD0AIgA+ADwALwBLAEkARAA+ADwALwBLAEkARABTAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AdABlAG4AdAAtAGEAdQBzAGUAMgAuAHUAcABsAHkAbgBrAC4AYwBvAG0ALwBwAHIAPwBiAD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwB2AD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwBwAGIAcwA9ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8ATABBAF8AVQBSAEwAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMATwBOAFQARQBOAFQAXwBJAEQAPgA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAPAAvAEMATwBOAFQARQBOAFQAXwBJAEQAPgA8AEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4AYQB1AHMAZQAyADwALwBDAE8ATgBUAEUATgBUAF8AWgBPAE4ARQA+ADwAUABCAFMAPgAxADAAMgAwADYAZgA0AGMANwBmAGEANAA0ADcAOAAyADgAZQAyADIANAA4AGUANABhADkAZAA5ADAAMAAyAGEAPAAvAFAAQgBTAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
82 | <mspr:pro>dAQAAAEAAQBqBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADIALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAFMAPgA8AEsASQBEACAAQQBMAEcASQBEAD0AIgBBAEUAUwBDAFQAUgAiACAAVgBBAEwAVQBFAD0AIgBYADMAcgBqADkAbQBkAEoANwBVAG0AbABVADAASwAzAFcAcQBiADcANABBAD0APQAiAD4APAAvAEsASQBEAD4APAAvAEsASQBEAFMAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBjAG8AbgB0AGUAbgB0AC0AYQB1AHMAZQAyAC4AdQBwAGwAeQBuAGsALgBjAG8AbQAvAHAAcgA/AGIAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHYAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHAAYgBzAD0AMQAwADIAMAA2AGYANABjADcAZgBhADQANAA3ADgAMgA4AGUAMgAyADQAOABlADQAYQA5AGQAOQAwADAAMgBhADwALwBMAEEAXwBVAFIATAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBPAE4AVABFAE4AVABfAEkARAA+ADgAZQAzADgAZgA4ADkAMgA5ADUAYgBjADQAOQA3AGYAYQBiAGUAMQAwAGQAMgA3ADIAZgAwADgAOAA4AGEANQA8AC8AQwBPAE4AVABFAE4AVABfAEkARAA+ADwAQwBPAE4AVABFAE4AVABfAFoATwBOAEUAPgBhAHUAcwBlADIAPAAvAEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4APABQAEIAUwA+ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8AUABCAFMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro> | |
83 | </ContentProtection> | |
84 | <SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="1"/> | |
85 | <InbandEventStream schemeIdUri="com.uplynk.asset.metadata"/> | |
86 | <Accessibility schemeIdUri="urn:scte:dash:cc:cea-608:2015"/> | |
87 | <Representation bandwidth="4829881" codecs="avc1.640028" frameRate="30" height="1080" id="K" scanType="progressive" width="1920"> | |
88 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
89 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" startNumber="0" timescale="90000"/> | |
90 | </Representation> | |
91 | <Representation bandwidth="3274750" codecs="avc1.64001f" frameRate="30" height="720" id="J" scanType="progressive" width="1280"> | |
92 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
93 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" startNumber="0" timescale="90000"/> | |
94 | </Representation> | |
95 | </AdaptationSet> | |
96 | <AdaptationSet contentType="text" group="2" lang="en" mimeType="application/mp4" segmentAlignment="true"> | |
97 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="subtitle"/> | |
98 | <Representation bandwidth="150" codecs="wvtt" id="3" startWithSAP="1"> | |
99 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
100 | <SegmentTemplate duration="368640" initialization="SUB$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="SUB$RepresentationID$_$Number%08d$.m4s?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" startNumber="0" timescale="90000"/> | |
101 | </Representation> | |
102 | </AdaptationSet> | |
103 | </Period> | |
104 | <Period duration="PT10M38.615999S" id="c-0-012-168"> | |
105 | <AssetIdentifier schemeIdUri="urn:org:dashif:asset-id:2013" value="8e38f89295bc497fabe10d272f0888a5"/> | |
106 | <AdaptationSet audioSamplingRate="48000" contentType="audio" group="1" lang="en" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
107 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="dd87d434-f1a2-4159-9137-0fe5382fe325"/> | |
108 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
109 | <cenc:pssh>AAAAk3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHMIARIgZGQ4N2Q0MzRmMWEyNDE1OTkxMzcwZmU1MzgyZmUzMjUaBHZkbXMiRzhlMzhmODkyOTViYzQ5N2ZhYmUxMGQyNzJmMDg4OGE1X2F1c2UyXzEwMjA2ZjRjN2ZhNDQ3ODI4ZTIyNDhlNGE5ZDkwMDJh</cenc:pssh> | |
110 | <ms:laurl licenseUrl="https://content-ause2.uplynk.com/wv?b=8e38f89295bc497fabe10d272f0888a5&v=8e38f89295bc497fabe10d272f0888a5&pbs=10206f4c7fa447828e2248e4a9d9002a"/> | |
111 | <!--If asked for a license URL specify: https://content.uplynk.com/wv (widevine) or https://content.uplynk.com/pr (playready)--> | |
112 | </ContentProtection> | |
113 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 3.0"> | |
114 | <cenc:pssh>AAAEinBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABGo8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAyAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARABTAD4APABLAEkARAAgAEEATABHAEkARAA9ACIAQQBFAFMAQwBUAFIAIgAgAFYAQQBMAFUARQA9ACIATgBOAFMASAAzAGEATAB4AFcAVQBHAFIATgB3AC8AbABPAEMALwBqAEoAUQA9AD0AIgA+ADwALwBLAEkARAA+ADwALwBLAEkARABTAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AdABlAG4AdAAtAGEAdQBzAGUAMgAuAHUAcABsAHkAbgBrAC4AYwBvAG0ALwBwAHIAPwBiAD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwB2AD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwBwAGIAcwA9ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8ATABBAF8AVQBSAEwAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMATwBOAFQARQBOAFQAXwBJAEQAPgA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAPAAvAEMATwBOAFQARQBOAFQAXwBJAEQAPgA8AEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4AYQB1AHMAZQAyADwALwBDAE8ATgBUAEUATgBUAF8AWgBPAE4ARQA+ADwAUABCAFMAPgAxADAAMgAwADYAZgA0AGMANwBmAGEANAA0ADcAOAAyADgAZQAyADIANAA4AGUANABhADkAZAA5ADAAMAAyAGEAPAAvAFAAQgBTAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
115 | <mspr:pro>dAQAAAEAAQBqBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADIALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAFMAPgA8AEsASQBEACAAQQBMAEcASQBEAD0AIgBBAEUAUwBDAFQAUgAiACAAVgBBAEwAVQBFAD0AIgBOAE4AUwBIADMAYQBMAHgAVwBVAEcAUgBOAHcALwBsAE8AQwAvAGoASgBRAD0APQAiAD4APAAvAEsASQBEAD4APAAvAEsASQBEAFMAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBjAG8AbgB0AGUAbgB0AC0AYQB1AHMAZQAyAC4AdQBwAGwAeQBuAGsALgBjAG8AbQAvAHAAcgA/AGIAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHYAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHAAYgBzAD0AMQAwADIAMAA2AGYANABjADcAZgBhADQANAA3ADgAMgA4AGUAMgAyADQAOABlADQAYQA5AGQAOQAwADAAMgBhADwALwBMAEEAXwBVAFIATAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBPAE4AVABFAE4AVABfAEkARAA+ADgAZQAzADgAZgA4ADkAMgA5ADUAYgBjADQAOQA3AGYAYQBiAGUAMQAwAGQAMgA3ADIAZgAwADgAOAA4AGEANQA8AC8AQwBPAE4AVABFAE4AVABfAEkARAA+ADwAQwBPAE4AVABFAE4AVABfAFoATwBOAEUAPgBhAHUAcwBlADIAPAAvAEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4APABQAEIAUwA+ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8AUABCAFMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro> | |
116 | </ContentProtection> | |
117 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
118 | <Representation bandwidth="129359" codecs="mp4a.40.5" id="0"> | |
119 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
120 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
121 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/TK_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="TK_$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="4075919" startNumber="12" timescale="90000"/> | |
122 | </Representation> | |
123 | </AdaptationSet> | |
124 | <AdaptationSet contentType="video" id="1" maxFrameRate="30" maxHeight="648" maxWidth="1152" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
125 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="07af427b-8873-49b7-aaec-73cf2643b3c9"/> | |
126 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
127 | <cenc:pssh>AAAAk3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHMIARIgMDdhZjQyN2I4ODczNDliN2FhZWM3M2NmMjY0M2IzYzkaBHZkbXMiRzhlMzhmODkyOTViYzQ5N2ZhYmUxMGQyNzJmMDg4OGE1X2F1c2UyXzEwMjA2ZjRjN2ZhNDQ3ODI4ZTIyNDhlNGE5ZDkwMDJh</cenc:pssh> | |
128 | <ms:laurl licenseUrl="https://content-ause2.uplynk.com/wv?b=8e38f89295bc497fabe10d272f0888a5&v=8e38f89295bc497fabe10d272f0888a5&pbs=10206f4c7fa447828e2248e4a9d9002a"/> | |
129 | <!--If asked for a license URL specify: https://content.uplynk.com/wv (widevine) or https://content.uplynk.com/pr (playready)--> | |
130 | </ContentProtection> | |
131 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 3.0"> | |
132 | <cenc:pssh>AAAEinBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABGo8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAyAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARABTAD4APABLAEkARAAgAEEATABHAEkARAA9ACIAQQBFAFMAQwBUAFIAIgAgAFYAQQBMAFUARQA9ACIAZQAwAEsAdgBCADMATwBJAHQAMABtAHEANwBIAFAAUABKAGsATwB6AHkAUQA9AD0AIgA+ADwALwBLAEkARAA+ADwALwBLAEkARABTAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AdABlAG4AdAAtAGEAdQBzAGUAMgAuAHUAcABsAHkAbgBrAC4AYwBvAG0ALwBwAHIAPwBiAD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwB2AD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwBwAGIAcwA9ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8ATABBAF8AVQBSAEwAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMATwBOAFQARQBOAFQAXwBJAEQAPgA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAPAAvAEMATwBOAFQARQBOAFQAXwBJAEQAPgA8AEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4AYQB1AHMAZQAyADwALwBDAE8ATgBUAEUATgBUAF8AWgBPAE4ARQA+ADwAUABCAFMAPgAxADAAMgAwADYAZgA0AGMANwBmAGEANAA0ADcAOAAyADgAZQAyADIANAA4AGUANABhADkAZAA5ADAAMAAyAGEAPAAvAFAAQgBTAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
133 | <mspr:pro>dAQAAAEAAQBqBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADIALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAFMAPgA8AEsASQBEACAAQQBMAEcASQBEAD0AIgBBAEUAUwBDAFQAUgAiACAAVgBBAEwAVQBFAD0AIgBlADAASwB2AEIAMwBPAEkAdAAwAG0AcQA3AEgAUABQAEoAawBPAHoAeQBRAD0APQAiAD4APAAvAEsASQBEAD4APAAvAEsASQBEAFMAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBjAG8AbgB0AGUAbgB0AC0AYQB1AHMAZQAyAC4AdQBwAGwAeQBuAGsALgBjAG8AbQAvAHAAcgA/AGIAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHYAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHAAYgBzAD0AMQAwADIAMAA2AGYANABjADcAZgBhADQANAA3ADgAMgA4AGUAMgAyADQAOABlADQAYQA5AGQAOQAwADAAMgBhADwALwBMAEEAXwBVAFIATAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBPAE4AVABFAE4AVABfAEkARAA+ADgAZQAzADgAZgA4ADkAMgA5ADUAYgBjADQAOQA3AGYAYQBiAGUAMQAwAGQAMgA3ADIAZgAwADgAOAA4AGEANQA8AC8AQwBPAE4AVABFAE4AVABfAEkARAA+ADwAQwBPAE4AVABFAE4AVABfAFoATwBOAEUAPgBhAHUAcwBlADIAPAAvAEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4APABQAEIAUwA+ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8AUABCAFMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro> | |
134 | </ContentProtection> | |
135 | <SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="2"/> | |
136 | <InbandEventStream schemeIdUri="com.uplynk.asset.metadata"/> | |
137 | <Accessibility schemeIdUri="urn:scte:dash:cc:cea-608:2015"/> | |
138 | <Representation bandwidth="1833286" codecs="avc1.4d001f" frameRate="30" height="612" id="H" scanType="progressive" width="1088"> | |
139 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
140 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="4075919" startNumber="12" timescale="90000"/> | |
141 | </Representation> | |
142 | <Representation bandwidth="2323480" codecs="avc1.4d001f" frameRate="30" height="648" id="I" scanType="progressive" width="1152"> | |
143 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
144 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="4075919" startNumber="12" timescale="90000"/> | |
145 | </Representation> | |
146 | <Representation bandwidth="1480429" codecs="avc1.4d001f" frameRate="30" height="594" id="G" scanType="progressive" width="1056"> | |
147 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
148 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="4075919" startNumber="12" timescale="90000"/> | |
149 | </Representation> | |
150 | <Representation bandwidth="1016365" codecs="avc1.4d001f" frameRate="30" height="558" id="F" scanType="progressive" width="992"> | |
151 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
152 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="4075919" startNumber="12" timescale="90000"/> | |
153 | </Representation> | |
154 | <Representation bandwidth="590220" codecs="avc1.4d001e" frameRate="30" height="432" id="E" scanType="progressive" width="768"> | |
155 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
156 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="4075919" startNumber="12" timescale="90000"/> | |
157 | </Representation> | |
158 | <Representation bandwidth="301685" codecs="avc1.420015" frameRate="30" height="252" id="D" scanType="progressive" width="448"> | |
159 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
160 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="4075919" startNumber="12" timescale="90000"/> | |
161 | </Representation> | |
162 | <Representation bandwidth="148829" codecs="avc1.42000c" frameRate="15" height="162" id="C" scanType="progressive" width="288"> | |
163 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
164 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="4075919" startNumber="12" timescale="90000"/> | |
165 | </Representation> | |
166 | <Representation bandwidth="69733" codecs="avc1.42000b" frameRate="15" height="108" id="B" scanType="progressive" width="192"> | |
167 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
168 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="4075919" startNumber="12" timescale="90000"/> | |
169 | </Representation> | |
170 | <Representation bandwidth="21404" codecs="avc1.42000a" frameRate="6" height="54" id="A" scanType="progressive" width="96"> | |
171 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
172 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="4075919" startNumber="12" timescale="90000"/> | |
173 | </Representation> | |
174 | </AdaptationSet> | |
175 | <AdaptationSet contentType="video" id="2" maxFrameRate="30" maxHeight="1080" maxWidth="1920" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
176 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="f6e37a5f-4967-49ed-a553-42b75aa6fbe0"/> | |
177 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
178 | <cenc:pssh>AAAAk3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHMIARIgZjZlMzdhNWY0OTY3NDllZGE1NTM0MmI3NWFhNmZiZTAaBHZkbXMiRzhlMzhmODkyOTViYzQ5N2ZhYmUxMGQyNzJmMDg4OGE1X2F1c2UyXzEwMjA2ZjRjN2ZhNDQ3ODI4ZTIyNDhlNGE5ZDkwMDJh</cenc:pssh> | |
179 | <ms:laurl licenseUrl="https://content-ause2.uplynk.com/wv?b=8e38f89295bc497fabe10d272f0888a5&v=8e38f89295bc497fabe10d272f0888a5&pbs=10206f4c7fa447828e2248e4a9d9002a"/> | |
180 | <!--If asked for a license URL specify: https://content.uplynk.com/wv (widevine) or https://content.uplynk.com/pr (playready)--> | |
181 | </ContentProtection> | |
182 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 3.0"> | |
183 | <cenc:pssh>AAAEinBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABGo8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAyAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARABTAD4APABLAEkARAAgAEEATABHAEkARAA9ACIAQQBFAFMAQwBUAFIAIgAgAFYAQQBMAFUARQA9ACIAWAAzAHIAagA5AG0AZABKADcAVQBtAGwAVQAwAEsAMwBXAHEAYgA3ADQAQQA9AD0AIgA+ADwALwBLAEkARAA+ADwALwBLAEkARABTAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AdABlAG4AdAAtAGEAdQBzAGUAMgAuAHUAcABsAHkAbgBrAC4AYwBvAG0ALwBwAHIAPwBiAD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwB2AD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwBwAGIAcwA9ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8ATABBAF8AVQBSAEwAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMATwBOAFQARQBOAFQAXwBJAEQAPgA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAPAAvAEMATwBOAFQARQBOAFQAXwBJAEQAPgA8AEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4AYQB1AHMAZQAyADwALwBDAE8ATgBUAEUATgBUAF8AWgBPAE4ARQA+ADwAUABCAFMAPgAxADAAMgAwADYAZgA0AGMANwBmAGEANAA0ADcAOAAyADgAZQAyADIANAA4AGUANABhADkAZAA5ADAAMAAyAGEAPAAvAFAAQgBTAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
184 | <mspr:pro>dAQAAAEAAQBqBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADIALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAFMAPgA8AEsASQBEACAAQQBMAEcASQBEAD0AIgBBAEUAUwBDAFQAUgAiACAAVgBBAEwAVQBFAD0AIgBYADMAcgBqADkAbQBkAEoANwBVAG0AbABVADAASwAzAFcAcQBiADcANABBAD0APQAiAD4APAAvAEsASQBEAD4APAAvAEsASQBEAFMAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBjAG8AbgB0AGUAbgB0AC0AYQB1AHMAZQAyAC4AdQBwAGwAeQBuAGsALgBjAG8AbQAvAHAAcgA/AGIAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHYAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHAAYgBzAD0AMQAwADIAMAA2AGYANABjADcAZgBhADQANAA3ADgAMgA4AGUAMgAyADQAOABlADQAYQA5AGQAOQAwADAAMgBhADwALwBMAEEAXwBVAFIATAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBPAE4AVABFAE4AVABfAEkARAA+ADgAZQAzADgAZgA4ADkAMgA5ADUAYgBjADQAOQA3AGYAYQBiAGUAMQAwAGQAMgA3ADIAZgAwADgAOAA4AGEANQA8AC8AQwBPAE4AVABFAE4AVABfAEkARAA+ADwAQwBPAE4AVABFAE4AVABfAFoATwBOAEUAPgBhAHUAcwBlADIAPAAvAEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4APABQAEIAUwA+ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8AUABCAFMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro> | |
185 | </ContentProtection> | |
186 | <SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="1"/> | |
187 | <InbandEventStream schemeIdUri="com.uplynk.asset.metadata"/> | |
188 | <Accessibility schemeIdUri="urn:scte:dash:cc:cea-608:2015"/> | |
189 | <Representation bandwidth="4829881" codecs="avc1.640028" frameRate="30" height="1080" id="K" scanType="progressive" width="1920"> | |
190 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
191 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="4075919" startNumber="12" timescale="90000"/> | |
192 | </Representation> | |
193 | <Representation bandwidth="3274750" codecs="avc1.64001f" frameRate="30" height="720" id="J" scanType="progressive" width="1280"> | |
194 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
195 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="4075919" startNumber="12" timescale="90000"/> | |
196 | </Representation> | |
197 | </AdaptationSet> | |
198 | <AdaptationSet contentType="text" group="2" lang="en" mimeType="application/mp4" segmentAlignment="true"> | |
199 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="subtitle"/> | |
200 | <Representation bandwidth="150" codecs="wvtt" id="3" startWithSAP="1"> | |
201 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
202 | <SegmentTemplate duration="368640" initialization="SUB$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="SUB$RepresentationID$_$Number%08d$.m4s?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="4075919" startNumber="12" timescale="90000"/> | |
203 | </Representation> | |
204 | </AdaptationSet> | |
205 | </Period> | |
206 | <Period duration="PT10M38.615999S" id="c-0-168-324"> | |
207 | <AssetIdentifier schemeIdUri="urn:org:dashif:asset-id:2013" value="8e38f89295bc497fabe10d272f0888a5"/> | |
208 | <AdaptationSet audioSamplingRate="48000" contentType="audio" group="1" lang="en" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
209 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="dd87d434-f1a2-4159-9137-0fe5382fe325"/> | |
210 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
211 | <cenc:pssh>AAAAk3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHMIARIgZGQ4N2Q0MzRmMWEyNDE1OTkxMzcwZmU1MzgyZmUzMjUaBHZkbXMiRzhlMzhmODkyOTViYzQ5N2ZhYmUxMGQyNzJmMDg4OGE1X2F1c2UyXzEwMjA2ZjRjN2ZhNDQ3ODI4ZTIyNDhlNGE5ZDkwMDJh</cenc:pssh> | |
212 | <ms:laurl licenseUrl="https://content-ause2.uplynk.com/wv?b=8e38f89295bc497fabe10d272f0888a5&v=8e38f89295bc497fabe10d272f0888a5&pbs=10206f4c7fa447828e2248e4a9d9002a"/> | |
213 | <!--If asked for a license URL specify: https://content.uplynk.com/wv (widevine) or https://content.uplynk.com/pr (playready)--> | |
214 | </ContentProtection> | |
215 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 3.0"> | |
216 | <cenc:pssh>AAAEinBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABGo8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAyAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARABTAD4APABLAEkARAAgAEEATABHAEkARAA9ACIAQQBFAFMAQwBUAFIAIgAgAFYAQQBMAFUARQA9ACIATgBOAFMASAAzAGEATAB4AFcAVQBHAFIATgB3AC8AbABPAEMALwBqAEoAUQA9AD0AIgA+ADwALwBLAEkARAA+ADwALwBLAEkARABTAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AdABlAG4AdAAtAGEAdQBzAGUAMgAuAHUAcABsAHkAbgBrAC4AYwBvAG0ALwBwAHIAPwBiAD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwB2AD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwBwAGIAcwA9ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8ATABBAF8AVQBSAEwAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMATwBOAFQARQBOAFQAXwBJAEQAPgA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAPAAvAEMATwBOAFQARQBOAFQAXwBJAEQAPgA8AEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4AYQB1AHMAZQAyADwALwBDAE8ATgBUAEUATgBUAF8AWgBPAE4ARQA+ADwAUABCAFMAPgAxADAAMgAwADYAZgA0AGMANwBmAGEANAA0ADcAOAAyADgAZQAyADIANAA4AGUANABhADkAZAA5ADAAMAAyAGEAPAAvAFAAQgBTAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
217 | <mspr:pro>dAQAAAEAAQBqBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADIALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAFMAPgA8AEsASQBEACAAQQBMAEcASQBEAD0AIgBBAEUAUwBDAFQAUgAiACAAVgBBAEwAVQBFAD0AIgBOAE4AUwBIADMAYQBMAHgAVwBVAEcAUgBOAHcALwBsAE8AQwAvAGoASgBRAD0APQAiAD4APAAvAEsASQBEAD4APAAvAEsASQBEAFMAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBjAG8AbgB0AGUAbgB0AC0AYQB1AHMAZQAyAC4AdQBwAGwAeQBuAGsALgBjAG8AbQAvAHAAcgA/AGIAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHYAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHAAYgBzAD0AMQAwADIAMAA2AGYANABjADcAZgBhADQANAA3ADgAMgA4AGUAMgAyADQAOABlADQAYQA5AGQAOQAwADAAMgBhADwALwBMAEEAXwBVAFIATAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBPAE4AVABFAE4AVABfAEkARAA+ADgAZQAzADgAZgA4ADkAMgA5ADUAYgBjADQAOQA3AGYAYQBiAGUAMQAwAGQAMgA3ADIAZgAwADgAOAA4AGEANQA8AC8AQwBPAE4AVABFAE4AVABfAEkARAA+ADwAQwBPAE4AVABFAE4AVABfAFoATwBOAEUAPgBhAHUAcwBlADIAPAAvAEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4APABQAEIAUwA+ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8AUABCAFMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro> | |
218 | </ContentProtection> | |
219 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
220 | <Representation bandwidth="129359" codecs="mp4a.40.5" id="0"> | |
221 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
222 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
223 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/TK_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="TK_$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="61553520" startNumber="168" timescale="90000"/> | |
224 | </Representation> | |
225 | </AdaptationSet> | |
226 | <AdaptationSet contentType="video" id="1" maxFrameRate="30" maxHeight="648" maxWidth="1152" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
227 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="07af427b-8873-49b7-aaec-73cf2643b3c9"/> | |
228 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
229 | <cenc:pssh>AAAAk3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHMIARIgMDdhZjQyN2I4ODczNDliN2FhZWM3M2NmMjY0M2IzYzkaBHZkbXMiRzhlMzhmODkyOTViYzQ5N2ZhYmUxMGQyNzJmMDg4OGE1X2F1c2UyXzEwMjA2ZjRjN2ZhNDQ3ODI4ZTIyNDhlNGE5ZDkwMDJh</cenc:pssh> | |
230 | <ms:laurl licenseUrl="https://content-ause2.uplynk.com/wv?b=8e38f89295bc497fabe10d272f0888a5&v=8e38f89295bc497fabe10d272f0888a5&pbs=10206f4c7fa447828e2248e4a9d9002a"/> | |
231 | <!--If asked for a license URL specify: https://content.uplynk.com/wv (widevine) or https://content.uplynk.com/pr (playready)--> | |
232 | </ContentProtection> | |
233 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 3.0"> | |
234 | <cenc:pssh>AAAEinBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABGo8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAyAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARABTAD4APABLAEkARAAgAEEATABHAEkARAA9ACIAQQBFAFMAQwBUAFIAIgAgAFYAQQBMAFUARQA9ACIAZQAwAEsAdgBCADMATwBJAHQAMABtAHEANwBIAFAAUABKAGsATwB6AHkAUQA9AD0AIgA+ADwALwBLAEkARAA+ADwALwBLAEkARABTAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AdABlAG4AdAAtAGEAdQBzAGUAMgAuAHUAcABsAHkAbgBrAC4AYwBvAG0ALwBwAHIAPwBiAD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwB2AD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwBwAGIAcwA9ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8ATABBAF8AVQBSAEwAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMATwBOAFQARQBOAFQAXwBJAEQAPgA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAPAAvAEMATwBOAFQARQBOAFQAXwBJAEQAPgA8AEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4AYQB1AHMAZQAyADwALwBDAE8ATgBUAEUATgBUAF8AWgBPAE4ARQA+ADwAUABCAFMAPgAxADAAMgAwADYAZgA0AGMANwBmAGEANAA0ADcAOAAyADgAZQAyADIANAA4AGUANABhADkAZAA5ADAAMAAyAGEAPAAvAFAAQgBTAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
235 | <mspr:pro>dAQAAAEAAQBqBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADIALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAFMAPgA8AEsASQBEACAAQQBMAEcASQBEAD0AIgBBAEUAUwBDAFQAUgAiACAAVgBBAEwAVQBFAD0AIgBlADAASwB2AEIAMwBPAEkAdAAwAG0AcQA3AEgAUABQAEoAawBPAHoAeQBRAD0APQAiAD4APAAvAEsASQBEAD4APAAvAEsASQBEAFMAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBjAG8AbgB0AGUAbgB0AC0AYQB1AHMAZQAyAC4AdQBwAGwAeQBuAGsALgBjAG8AbQAvAHAAcgA/AGIAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHYAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHAAYgBzAD0AMQAwADIAMAA2AGYANABjADcAZgBhADQANAA3ADgAMgA4AGUAMgAyADQAOABlADQAYQA5AGQAOQAwADAAMgBhADwALwBMAEEAXwBVAFIATAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBPAE4AVABFAE4AVABfAEkARAA+ADgAZQAzADgAZgA4ADkAMgA5ADUAYgBjADQAOQA3AGYAYQBiAGUAMQAwAGQAMgA3ADIAZgAwADgAOAA4AGEANQA8AC8AQwBPAE4AVABFAE4AVABfAEkARAA+ADwAQwBPAE4AVABFAE4AVABfAFoATwBOAEUAPgBhAHUAcwBlADIAPAAvAEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4APABQAEIAUwA+ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8AUABCAFMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro> | |
236 | </ContentProtection> | |
237 | <SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="2"/> | |
238 | <InbandEventStream schemeIdUri="com.uplynk.asset.metadata"/> | |
239 | <Accessibility schemeIdUri="urn:scte:dash:cc:cea-608:2015"/> | |
240 | <Representation bandwidth="1833286" codecs="avc1.4d001f" frameRate="30" height="612" id="H" scanType="progressive" width="1088"> | |
241 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
242 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="61553520" startNumber="168" timescale="90000"/> | |
243 | </Representation> | |
244 | <Representation bandwidth="2323480" codecs="avc1.4d001f" frameRate="30" height="648" id="I" scanType="progressive" width="1152"> | |
245 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
246 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="61553520" startNumber="168" timescale="90000"/> | |
247 | </Representation> | |
248 | <Representation bandwidth="1480429" codecs="avc1.4d001f" frameRate="30" height="594" id="G" scanType="progressive" width="1056"> | |
249 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
250 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="61553520" startNumber="168" timescale="90000"/> | |
251 | </Representation> | |
252 | <Representation bandwidth="1016365" codecs="avc1.4d001f" frameRate="30" height="558" id="F" scanType="progressive" width="992"> | |
253 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
254 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="61553520" startNumber="168" timescale="90000"/> | |
255 | </Representation> | |
256 | <Representation bandwidth="590220" codecs="avc1.4d001e" frameRate="30" height="432" id="E" scanType="progressive" width="768"> | |
257 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
258 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="61553520" startNumber="168" timescale="90000"/> | |
259 | </Representation> | |
260 | <Representation bandwidth="301685" codecs="avc1.420015" frameRate="30" height="252" id="D" scanType="progressive" width="448"> | |
261 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
262 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="61553520" startNumber="168" timescale="90000"/> | |
263 | </Representation> | |
264 | <Representation bandwidth="148829" codecs="avc1.42000c" frameRate="15" height="162" id="C" scanType="progressive" width="288"> | |
265 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
266 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="61553520" startNumber="168" timescale="90000"/> | |
267 | </Representation> | |
268 | <Representation bandwidth="69733" codecs="avc1.42000b" frameRate="15" height="108" id="B" scanType="progressive" width="192"> | |
269 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
270 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="61553520" startNumber="168" timescale="90000"/> | |
271 | </Representation> | |
272 | <Representation bandwidth="21404" codecs="avc1.42000a" frameRate="6" height="54" id="A" scanType="progressive" width="96"> | |
273 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
274 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="61553520" startNumber="168" timescale="90000"/> | |
275 | </Representation> | |
276 | </AdaptationSet> | |
277 | <AdaptationSet contentType="video" id="2" maxFrameRate="30" maxHeight="1080" maxWidth="1920" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
278 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="f6e37a5f-4967-49ed-a553-42b75aa6fbe0"/> | |
279 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
280 | <cenc:pssh>AAAAk3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHMIARIgZjZlMzdhNWY0OTY3NDllZGE1NTM0MmI3NWFhNmZiZTAaBHZkbXMiRzhlMzhmODkyOTViYzQ5N2ZhYmUxMGQyNzJmMDg4OGE1X2F1c2UyXzEwMjA2ZjRjN2ZhNDQ3ODI4ZTIyNDhlNGE5ZDkwMDJh</cenc:pssh> | |
281 | <ms:laurl licenseUrl="https://content-ause2.uplynk.com/wv?b=8e38f89295bc497fabe10d272f0888a5&v=8e38f89295bc497fabe10d272f0888a5&pbs=10206f4c7fa447828e2248e4a9d9002a"/> | |
282 | <!--If asked for a license URL specify: https://content.uplynk.com/wv (widevine) or https://content.uplynk.com/pr (playready)--> | |
283 | </ContentProtection> | |
284 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 3.0"> | |
285 | <cenc:pssh>AAAEinBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABGo8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAyAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARABTAD4APABLAEkARAAgAEEATABHAEkARAA9ACIAQQBFAFMAQwBUAFIAIgAgAFYAQQBMAFUARQA9ACIAWAAzAHIAagA5AG0AZABKADcAVQBtAGwAVQAwAEsAMwBXAHEAYgA3ADQAQQA9AD0AIgA+ADwALwBLAEkARAA+ADwALwBLAEkARABTAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AdABlAG4AdAAtAGEAdQBzAGUAMgAuAHUAcABsAHkAbgBrAC4AYwBvAG0ALwBwAHIAPwBiAD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwB2AD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwBwAGIAcwA9ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8ATABBAF8AVQBSAEwAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMATwBOAFQARQBOAFQAXwBJAEQAPgA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAPAAvAEMATwBOAFQARQBOAFQAXwBJAEQAPgA8AEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4AYQB1AHMAZQAyADwALwBDAE8ATgBUAEUATgBUAF8AWgBPAE4ARQA+ADwAUABCAFMAPgAxADAAMgAwADYAZgA0AGMANwBmAGEANAA0ADcAOAAyADgAZQAyADIANAA4AGUANABhADkAZAA5ADAAMAAyAGEAPAAvAFAAQgBTAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
286 | <mspr:pro>dAQAAAEAAQBqBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADIALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAFMAPgA8AEsASQBEACAAQQBMAEcASQBEAD0AIgBBAEUAUwBDAFQAUgAiACAAVgBBAEwAVQBFAD0AIgBYADMAcgBqADkAbQBkAEoANwBVAG0AbABVADAASwAzAFcAcQBiADcANABBAD0APQAiAD4APAAvAEsASQBEAD4APAAvAEsASQBEAFMAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBjAG8AbgB0AGUAbgB0AC0AYQB1AHMAZQAyAC4AdQBwAGwAeQBuAGsALgBjAG8AbQAvAHAAcgA/AGIAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHYAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHAAYgBzAD0AMQAwADIAMAA2AGYANABjADcAZgBhADQANAA3ADgAMgA4AGUAMgAyADQAOABlADQAYQA5AGQAOQAwADAAMgBhADwALwBMAEEAXwBVAFIATAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBPAE4AVABFAE4AVABfAEkARAA+ADgAZQAzADgAZgA4ADkAMgA5ADUAYgBjADQAOQA3AGYAYQBiAGUAMQAwAGQAMgA3ADIAZgAwADgAOAA4AGEANQA8AC8AQwBPAE4AVABFAE4AVABfAEkARAA+ADwAQwBPAE4AVABFAE4AVABfAFoATwBOAEUAPgBhAHUAcwBlADIAPAAvAEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4APABQAEIAUwA+ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8AUABCAFMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro> | |
287 | </ContentProtection> | |
288 | <SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="1"/> | |
289 | <InbandEventStream schemeIdUri="com.uplynk.asset.metadata"/> | |
290 | <Accessibility schemeIdUri="urn:scte:dash:cc:cea-608:2015"/> | |
291 | <Representation bandwidth="4829881" codecs="avc1.640028" frameRate="30" height="1080" id="K" scanType="progressive" width="1920"> | |
292 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
293 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="61553520" startNumber="168" timescale="90000"/> | |
294 | </Representation> | |
295 | <Representation bandwidth="3274750" codecs="avc1.64001f" frameRate="30" height="720" id="J" scanType="progressive" width="1280"> | |
296 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
297 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="61553520" startNumber="168" timescale="90000"/> | |
298 | </Representation> | |
299 | </AdaptationSet> | |
300 | <AdaptationSet contentType="text" group="2" lang="en" mimeType="application/mp4" segmentAlignment="true"> | |
301 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="subtitle"/> | |
302 | <Representation bandwidth="150" codecs="wvtt" id="3" startWithSAP="1"> | |
303 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
304 | <SegmentTemplate duration="368640" initialization="SUB$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="SUB$RepresentationID$_$Number%08d$.m4s?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="61553520" startNumber="168" timescale="90000"/> | |
305 | </Representation> | |
306 | </AdaptationSet> | |
307 | </Period> | |
308 | <Period duration="PT30.384000S" id="c-0-324-332"> | |
309 | <AssetIdentifier schemeIdUri="urn:org:dashif:asset-id:2013" value="8e38f89295bc497fabe10d272f0888a5"/> | |
310 | <AdaptationSet audioSamplingRate="48000" contentType="audio" group="1" lang="en" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
311 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="dd87d434-f1a2-4159-9137-0fe5382fe325"/> | |
312 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
313 | <cenc:pssh>AAAAk3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHMIARIgZGQ4N2Q0MzRmMWEyNDE1OTkxMzcwZmU1MzgyZmUzMjUaBHZkbXMiRzhlMzhmODkyOTViYzQ5N2ZhYmUxMGQyNzJmMDg4OGE1X2F1c2UyXzEwMjA2ZjRjN2ZhNDQ3ODI4ZTIyNDhlNGE5ZDkwMDJh</cenc:pssh> | |
314 | <ms:laurl licenseUrl="https://content-ause2.uplynk.com/wv?b=8e38f89295bc497fabe10d272f0888a5&v=8e38f89295bc497fabe10d272f0888a5&pbs=10206f4c7fa447828e2248e4a9d9002a"/> | |
315 | <!--If asked for a license URL specify: https://content.uplynk.com/wv (widevine) or https://content.uplynk.com/pr (playready)--> | |
316 | </ContentProtection> | |
317 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 3.0"> | |
318 | <cenc:pssh>AAAEinBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABGo8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAyAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARABTAD4APABLAEkARAAgAEEATABHAEkARAA9ACIAQQBFAFMAQwBUAFIAIgAgAFYAQQBMAFUARQA9ACIATgBOAFMASAAzAGEATAB4AFcAVQBHAFIATgB3AC8AbABPAEMALwBqAEoAUQA9AD0AIgA+ADwALwBLAEkARAA+ADwALwBLAEkARABTAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AdABlAG4AdAAtAGEAdQBzAGUAMgAuAHUAcABsAHkAbgBrAC4AYwBvAG0ALwBwAHIAPwBiAD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwB2AD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwBwAGIAcwA9ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8ATABBAF8AVQBSAEwAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMATwBOAFQARQBOAFQAXwBJAEQAPgA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAPAAvAEMATwBOAFQARQBOAFQAXwBJAEQAPgA8AEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4AYQB1AHMAZQAyADwALwBDAE8ATgBUAEUATgBUAF8AWgBPAE4ARQA+ADwAUABCAFMAPgAxADAAMgAwADYAZgA0AGMANwBmAGEANAA0ADcAOAAyADgAZQAyADIANAA4AGUANABhADkAZAA5ADAAMAAyAGEAPAAvAFAAQgBTAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
319 | <mspr:pro>dAQAAAEAAQBqBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADIALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAFMAPgA8AEsASQBEACAAQQBMAEcASQBEAD0AIgBBAEUAUwBDAFQAUgAiACAAVgBBAEwAVQBFAD0AIgBOAE4AUwBIADMAYQBMAHgAVwBVAEcAUgBOAHcALwBsAE8AQwAvAGoASgBRAD0APQAiAD4APAAvAEsASQBEAD4APAAvAEsASQBEAFMAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBjAG8AbgB0AGUAbgB0AC0AYQB1AHMAZQAyAC4AdQBwAGwAeQBuAGsALgBjAG8AbQAvAHAAcgA/AGIAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHYAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHAAYgBzAD0AMQAwADIAMAA2AGYANABjADcAZgBhADQANAA3ADgAMgA4AGUAMgAyADQAOABlADQAYQA5AGQAOQAwADAAMgBhADwALwBMAEEAXwBVAFIATAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBPAE4AVABFAE4AVABfAEkARAA+ADgAZQAzADgAZgA4ADkAMgA5ADUAYgBjADQAOQA3AGYAYQBiAGUAMQAwAGQAMgA3ADIAZgAwADgAOAA4AGEANQA8AC8AQwBPAE4AVABFAE4AVABfAEkARAA+ADwAQwBPAE4AVABFAE4AVABfAFoATwBOAEUAPgBhAHUAcwBlADIAPAAvAEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4APABQAEIAUwA+ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8AUABCAFMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro> | |
320 | </ContentProtection> | |
321 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
322 | <Representation bandwidth="129359" codecs="mp4a.40.5" id="0"> | |
323 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
324 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
325 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/TK_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="TK_$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="119031120" startNumber="324" timescale="90000"/> | |
326 | </Representation> | |
327 | </AdaptationSet> | |
328 | <AdaptationSet contentType="video" id="1" maxFrameRate="30" maxHeight="648" maxWidth="1152" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
329 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="07af427b-8873-49b7-aaec-73cf2643b3c9"/> | |
330 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
331 | <cenc:pssh>AAAAk3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHMIARIgMDdhZjQyN2I4ODczNDliN2FhZWM3M2NmMjY0M2IzYzkaBHZkbXMiRzhlMzhmODkyOTViYzQ5N2ZhYmUxMGQyNzJmMDg4OGE1X2F1c2UyXzEwMjA2ZjRjN2ZhNDQ3ODI4ZTIyNDhlNGE5ZDkwMDJh</cenc:pssh> | |
332 | <ms:laurl licenseUrl="https://content-ause2.uplynk.com/wv?b=8e38f89295bc497fabe10d272f0888a5&v=8e38f89295bc497fabe10d272f0888a5&pbs=10206f4c7fa447828e2248e4a9d9002a"/> | |
333 | <!--If asked for a license URL specify: https://content.uplynk.com/wv (widevine) or https://content.uplynk.com/pr (playready)--> | |
334 | </ContentProtection> | |
335 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 3.0"> | |
336 | <cenc:pssh>AAAEinBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABGo8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAyAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARABTAD4APABLAEkARAAgAEEATABHAEkARAA9ACIAQQBFAFMAQwBUAFIAIgAgAFYAQQBMAFUARQA9ACIAZQAwAEsAdgBCADMATwBJAHQAMABtAHEANwBIAFAAUABKAGsATwB6AHkAUQA9AD0AIgA+ADwALwBLAEkARAA+ADwALwBLAEkARABTAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AdABlAG4AdAAtAGEAdQBzAGUAMgAuAHUAcABsAHkAbgBrAC4AYwBvAG0ALwBwAHIAPwBiAD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwB2AD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwBwAGIAcwA9ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8ATABBAF8AVQBSAEwAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMATwBOAFQARQBOAFQAXwBJAEQAPgA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAPAAvAEMATwBOAFQARQBOAFQAXwBJAEQAPgA8AEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4AYQB1AHMAZQAyADwALwBDAE8ATgBUAEUATgBUAF8AWgBPAE4ARQA+ADwAUABCAFMAPgAxADAAMgAwADYAZgA0AGMANwBmAGEANAA0ADcAOAAyADgAZQAyADIANAA4AGUANABhADkAZAA5ADAAMAAyAGEAPAAvAFAAQgBTAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
337 | <mspr:pro>dAQAAAEAAQBqBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADIALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAFMAPgA8AEsASQBEACAAQQBMAEcASQBEAD0AIgBBAEUAUwBDAFQAUgAiACAAVgBBAEwAVQBFAD0AIgBlADAASwB2AEIAMwBPAEkAdAAwAG0AcQA3AEgAUABQAEoAawBPAHoAeQBRAD0APQAiAD4APAAvAEsASQBEAD4APAAvAEsASQBEAFMAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBjAG8AbgB0AGUAbgB0AC0AYQB1AHMAZQAyAC4AdQBwAGwAeQBuAGsALgBjAG8AbQAvAHAAcgA/AGIAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHYAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHAAYgBzAD0AMQAwADIAMAA2AGYANABjADcAZgBhADQANAA3ADgAMgA4AGUAMgAyADQAOABlADQAYQA5AGQAOQAwADAAMgBhADwALwBMAEEAXwBVAFIATAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBPAE4AVABFAE4AVABfAEkARAA+ADgAZQAzADgAZgA4ADkAMgA5ADUAYgBjADQAOQA3AGYAYQBiAGUAMQAwAGQAMgA3ADIAZgAwADgAOAA4AGEANQA8AC8AQwBPAE4AVABFAE4AVABfAEkARAA+ADwAQwBPAE4AVABFAE4AVABfAFoATwBOAEUAPgBhAHUAcwBlADIAPAAvAEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4APABQAEIAUwA+ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8AUABCAFMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro> | |
338 | </ContentProtection> | |
339 | <SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="2"/> | |
340 | <InbandEventStream schemeIdUri="com.uplynk.asset.metadata"/> | |
341 | <Accessibility schemeIdUri="urn:scte:dash:cc:cea-608:2015"/> | |
342 | <Representation bandwidth="1833286" codecs="avc1.4d001f" frameRate="30" height="612" id="H" scanType="progressive" width="1088"> | |
343 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
344 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="119031120" startNumber="324" timescale="90000"/> | |
345 | </Representation> | |
346 | <Representation bandwidth="2323480" codecs="avc1.4d001f" frameRate="30" height="648" id="I" scanType="progressive" width="1152"> | |
347 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
348 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="119031120" startNumber="324" timescale="90000"/> | |
349 | </Representation> | |
350 | <Representation bandwidth="1480429" codecs="avc1.4d001f" frameRate="30" height="594" id="G" scanType="progressive" width="1056"> | |
351 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
352 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="119031120" startNumber="324" timescale="90000"/> | |
353 | </Representation> | |
354 | <Representation bandwidth="1016365" codecs="avc1.4d001f" frameRate="30" height="558" id="F" scanType="progressive" width="992"> | |
355 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
356 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="119031120" startNumber="324" timescale="90000"/> | |
357 | </Representation> | |
358 | <Representation bandwidth="590220" codecs="avc1.4d001e" frameRate="30" height="432" id="E" scanType="progressive" width="768"> | |
359 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
360 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="119031120" startNumber="324" timescale="90000"/> | |
361 | </Representation> | |
362 | <Representation bandwidth="301685" codecs="avc1.420015" frameRate="30" height="252" id="D" scanType="progressive" width="448"> | |
363 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
364 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="119031120" startNumber="324" timescale="90000"/> | |
365 | </Representation> | |
366 | <Representation bandwidth="148829" codecs="avc1.42000c" frameRate="15" height="162" id="C" scanType="progressive" width="288"> | |
367 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
368 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="119031120" startNumber="324" timescale="90000"/> | |
369 | </Representation> | |
370 | <Representation bandwidth="69733" codecs="avc1.42000b" frameRate="15" height="108" id="B" scanType="progressive" width="192"> | |
371 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
372 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="119031120" startNumber="324" timescale="90000"/> | |
373 | </Representation> | |
374 | <Representation bandwidth="21404" codecs="avc1.42000a" frameRate="6" height="54" id="A" scanType="progressive" width="96"> | |
375 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
376 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="119031120" startNumber="324" timescale="90000"/> | |
377 | </Representation> | |
378 | </AdaptationSet> | |
379 | <AdaptationSet contentType="video" id="2" maxFrameRate="30" maxHeight="1080" maxWidth="1920" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
380 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="f6e37a5f-4967-49ed-a553-42b75aa6fbe0"/> | |
381 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
382 | <cenc:pssh>AAAAk3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHMIARIgZjZlMzdhNWY0OTY3NDllZGE1NTM0MmI3NWFhNmZiZTAaBHZkbXMiRzhlMzhmODkyOTViYzQ5N2ZhYmUxMGQyNzJmMDg4OGE1X2F1c2UyXzEwMjA2ZjRjN2ZhNDQ3ODI4ZTIyNDhlNGE5ZDkwMDJh</cenc:pssh> | |
383 | <ms:laurl licenseUrl="https://content-ause2.uplynk.com/wv?b=8e38f89295bc497fabe10d272f0888a5&v=8e38f89295bc497fabe10d272f0888a5&pbs=10206f4c7fa447828e2248e4a9d9002a"/> | |
384 | <!--If asked for a license URL specify: https://content.uplynk.com/wv (widevine) or https://content.uplynk.com/pr (playready)--> | |
385 | </ContentProtection> | |
386 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="MSPR 3.0"> | |
387 | <cenc:pssh>AAAEinBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABGo8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAyAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARABTAD4APABLAEkARAAgAEEATABHAEkARAA9ACIAQQBFAFMAQwBUAFIAIgAgAFYAQQBMAFUARQA9ACIAWAAzAHIAagA5AG0AZABKADcAVQBtAGwAVQAwAEsAMwBXAHEAYgA3ADQAQQA9AD0AIgA+ADwALwBLAEkARAA+ADwALwBLAEkARABTAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AdABlAG4AdAAtAGEAdQBzAGUAMgAuAHUAcABsAHkAbgBrAC4AYwBvAG0ALwBwAHIAPwBiAD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwB2AD0AOABlADMAOABmADgAOQAyADkANQBiAGMANAA5ADcAZgBhAGIAZQAxADAAZAAyADcAMgBmADAAOAA4ADgAYQA1ACYAYQBtAHAAOwBwAGIAcwA9ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8ATABBAF8AVQBSAEwAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMATwBOAFQARQBOAFQAXwBJAEQAPgA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAPAAvAEMATwBOAFQARQBOAFQAXwBJAEQAPgA8AEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4AYQB1AHMAZQAyADwALwBDAE8ATgBUAEUATgBUAF8AWgBPAE4ARQA+ADwAUABCAFMAPgAxADAAMgAwADYAZgA0AGMANwBmAGEANAA0ADcAOAAyADgAZQAyADIANAA4AGUANABhADkAZAA5ADAAMAAyAGEAPAAvAFAAQgBTAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
388 | <mspr:pro>dAQAAAEAAQBqBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADIALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAFMAPgA8AEsASQBEACAAQQBMAEcASQBEAD0AIgBBAEUAUwBDAFQAUgAiACAAVgBBAEwAVQBFAD0AIgBYADMAcgBqADkAbQBkAEoANwBVAG0AbABVADAASwAzAFcAcQBiADcANABBAD0APQAiAD4APAAvAEsASQBEAD4APAAvAEsASQBEAFMAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBjAG8AbgB0AGUAbgB0AC0AYQB1AHMAZQAyAC4AdQBwAGwAeQBuAGsALgBjAG8AbQAvAHAAcgA/AGIAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHYAPQA4AGUAMwA4AGYAOAA5ADIAOQA1AGIAYwA0ADkANwBmAGEAYgBlADEAMABkADIANwAyAGYAMAA4ADgAOABhADUAJgBhAG0AcAA7AHAAYgBzAD0AMQAwADIAMAA2AGYANABjADcAZgBhADQANAA3ADgAMgA4AGUAMgAyADQAOABlADQAYQA5AGQAOQAwADAAMgBhADwALwBMAEEAXwBVAFIATAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBPAE4AVABFAE4AVABfAEkARAA+ADgAZQAzADgAZgA4ADkAMgA5ADUAYgBjADQAOQA3AGYAYQBiAGUAMQAwAGQAMgA3ADIAZgAwADgAOAA4AGEANQA8AC8AQwBPAE4AVABFAE4AVABfAEkARAA+ADwAQwBPAE4AVABFAE4AVABfAFoATwBOAEUAPgBhAHUAcwBlADIAPAAvAEMATwBOAFQARQBOAFQAXwBaAE8ATgBFAD4APABQAEIAUwA+ADEAMAAyADAANgBmADQAYwA3AGYAYQA0ADQANwA4ADIAOABlADIAMgA0ADgAZQA0AGEAOQBkADkAMAAwADIAYQA8AC8AUABCAFMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro> | |
389 | </ContentProtection> | |
390 | <SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="1"/> | |
391 | <InbandEventStream schemeIdUri="com.uplynk.asset.metadata"/> | |
392 | <Accessibility schemeIdUri="urn:scte:dash:cc:cea-608:2015"/> | |
393 | <Representation bandwidth="4829881" codecs="avc1.640028" frameRate="30" height="1080" id="K" scanType="progressive" width="1920"> | |
394 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
395 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="119031120" startNumber="324" timescale="90000"/> | |
396 | </Representation> | |
397 | <Representation bandwidth="3274750" codecs="avc1.64001f" frameRate="30" height="720" id="J" scanType="progressive" width="1280"> | |
398 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
399 | <SegmentTemplate duration="368640" initialization="https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="$RepresentationID$$Number%08d$.m4f?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="119031120" startNumber="324" timescale="90000"/> | |
400 | </Representation> | |
401 | </AdaptationSet> | |
402 | <AdaptationSet contentType="text" group="2" lang="en" mimeType="application/mp4" segmentAlignment="true"> | |
403 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="subtitle"/> | |
404 | <Representation bandwidth="150" codecs="wvtt" id="3" startWithSAP="1"> | |
405 | <BaseURL>https://x-disney-datg-stgec.uplynk.com/ausw/slices/8e3/21885d134fa441488df8e1d7acee8c66/8e38f89295bc497fabe10d272f0888a5/</BaseURL> | |
406 | <SegmentTemplate duration="368640" initialization="SUB$RepresentationID$_init.mp4?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" media="SUB$RepresentationID$_$Number%08d$.m4s?pbs=10206f4c7fa447828e2248e4a9d9002a&drm=1" presentationTimeOffset="119031120" startNumber="324" timescale="90000"/> | |
407 | </Representation> | |
408 | </AdaptationSet> | |
409 | </Period> | |
410 | </MPD>⏎ |
0 | <?xml version="1.0" encoding="utf-8"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" availabilityStartTime="1970-01-01T00:00:00Z" id="Config part of url maybe?" maxSegmentDuration="PT2S" minBufferTime="PT2S" minimumUpdatePeriod="PT1795S" profiles="urn:mpeg:dash:profile:isoff-live:2011,http://dashif.org/guidelines/dash-if-simple" publishTime="2020-06-10T12:33:21Z" timeShiftBufferDepth="PT5M" type="dynamic" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"> | |
2 | <ProgramInformation> | |
3 | <Title>Media Presentation Description from DASH-IF live simulator</Title> | |
4 | </ProgramInformation> | |
5 | <BaseURL>https://livesim.dashif.org/livesim/sts_1591792401/sid_61fca6ec/periods_1/testpic_2s/</BaseURL> | |
6 | <Period id="p442164" start="PT1591790400S"> | |
7 | <AdaptationSet contentType="audio" lang="en" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
8 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
9 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" presentationTimeOffset="1591790400" startNumber="795895200" /> | |
10 | <Representation audioSamplingRate="48000" bandwidth="48000" codecs="mp4a.40.2" id="A48"> | |
11 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" /> | |
12 | </Representation> | |
13 | </AdaptationSet> | |
14 | <AdaptationSet contentType="video" maxFrameRate="60/2" maxHeight="360" maxWidth="640" mimeType="video/mp4" minHeight="360" minWidth="640" par="16:9" segmentAlignment="true" startWithSAP="1"> | |
15 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
16 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" presentationTimeOffset="1591790400" startNumber="795895200" /> | |
17 | <Representation bandwidth="300000" codecs="avc1.64001e" frameRate="60/2" height="360" id="V300" sar="1:1" width="640" /> | |
18 | </AdaptationSet> | |
19 | </Period> | |
20 | <Period id="p442165" start="PT1591794000S"> | |
21 | <AdaptationSet contentType="audio" lang="en" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
22 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
23 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" presentationTimeOffset="1591794000" startNumber="795897000" /> | |
24 | <Representation audioSamplingRate="48000" bandwidth="48000" codecs="mp4a.40.2" id="A48"> | |
25 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" /> | |
26 | </Representation> | |
27 | </AdaptationSet> | |
28 | <AdaptationSet contentType="video" maxFrameRate="60/2" maxHeight="360" maxWidth="640" mimeType="video/mp4" minHeight="360" minWidth="640" par="16:9" segmentAlignment="true" startWithSAP="1"> | |
29 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
30 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" presentationTimeOffset="1591794000" startNumber="795897000" /> | |
31 | <Representation bandwidth="300000" codecs="avc1.64001e" frameRate="60/2" height="360" id="V300" sar="1:1" width="640" /> | |
32 | </AdaptationSet> | |
33 | </Period> | |
34 | </MPD>⏎ |
0 | #KODIPROP:inputstreamaddon=inputstream.adaptive | |
1 | #KODIPROP:inputstream=inputstream.adaptive | |
2 | #KODIPROP:inputstream.adaptive.manifest_type=mpd | |
3 | #KODIPROP:mimetype=application/dash+xml | |
4 | https://livesim.dashif.org/livesim/periods_1/testpic_2s/Manifest.mpd⏎ |
0 | <?xml version="1.0" encoding="utf-8"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" availabilityStartTime="1970-01-01T00:00:00Z" id="Config part of url maybe?" maxSegmentDuration="PT2S" minBufferTime="PT2S" minimumUpdatePeriod="P100Y" profiles="urn:mpeg:dash:profile:isoff-live:2011,http://dashif.org/guidelines/dash-if-simple" testTime="2020-06-09T07:17:36Z" publishTime="2020-06-09T07:17:36Z" timeShiftBufferDepth="PT5M" type="dynamic" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"> | |
2 | <ProgramInformation> | |
3 | <Title>Media Presentation Description from DASH-IF live simulator</Title> | |
4 | </ProgramInformation> | |
5 | <BaseURL>http://livesim.dashif.org/livesim/sts_1591687056/sid_4e83ea2b/snr_1/testpic_2s/</BaseURL> | |
6 | <Period id="p0" start="PT0S"> | |
7 | <AdaptationSet contentType="audio" lang="en" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
8 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
9 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" startNumber="1" /> | |
10 | <Representation audioSamplingRate="48000" bandwidth="48000" codecs="mp4a.40.2" id="A48"> | |
11 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" /> | |
12 | </Representation> | |
13 | </AdaptationSet> | |
14 | <AdaptationSet contentType="video" maxFrameRate="60/2" maxHeight="360" maxWidth="640" mimeType="video/mp4" minHeight="360" minWidth="640" par="16:9" segmentAlignment="true" startWithSAP="1"> | |
15 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
16 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" startNumber="1" /> | |
17 | <Representation bandwidth="300000" codecs="avc1.64001e" frameRate="60/2" height="360" id="V300" sar="1:1" width="640" /> | |
18 | </AdaptationSet> | |
19 | </Period> | |
20 | </MPD>⏎ |
0 | #KODIPROP:inputstreamaddon=inputstream.adaptive | |
1 | #KODIPROP:inputstream=inputstream.adaptive | |
2 | #KODIPROP:inputstream.adaptive.manifest_type=mpd | |
3 | #KODIPROP:mimetype=application/dash+xml | |
4 | http://livesim.dashif.org/livesim/snr_1/testpic_2s/Manifest.mpd⏎ |
0 | <?xml version="1.0" encoding="utf-8"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" availabilityStartTime="1970-01-01T00:00:00Z" id="Config part of url maybe?" maxSegmentDuration="PT2S" minBufferTime="PT2S" minimumUpdatePeriod="P100Y" profiles="urn:mpeg:dash:profile:isoff-live:2011,http://dashif.org/guidelines/dash-if-simple" testTime="2020-06-08T22:31:20Z" publishTime="2020-06-08T22:31:20Z" timeShiftBufferDepth="PT5M" type="dynamic" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"> | |
2 | <ProgramInformation> | |
3 | <Title>Media Presentation Description from DASH-IF live simulator</Title> | |
4 | </ProgramInformation> | |
5 | <BaseURL>http://livesim.dashif.org/livesim/sts_1591655480/sid_44bedc8d/snr_200/testpic_2s/</BaseURL> | |
6 | <Period id="p0" start="PT0S"> | |
7 | <AdaptationSet contentType="audio" lang="en" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
8 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
9 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" startNumber="200" /> | |
10 | <Representation audioSamplingRate="48000" bandwidth="48000" codecs="mp4a.40.2" id="A48"> | |
11 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" /> | |
12 | </Representation> | |
13 | </AdaptationSet> | |
14 | <AdaptationSet contentType="video" maxFrameRate="60/2" maxHeight="360" maxWidth="640" mimeType="video/mp4" minHeight="360" minWidth="640" par="16:9" segmentAlignment="true" startWithSAP="1"> | |
15 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
16 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" startNumber="200" /> | |
17 | <Representation bandwidth="300000" codecs="avc1.64001e" frameRate="60/2" height="360" id="V300" sar="1:1" width="640" /> | |
18 | </AdaptationSet> | |
19 | </Period> | |
20 | </MPD>⏎ |
0 | #KODIPROP:inputstreamaddon=inputstream.adaptive | |
1 | #KODIPROP:inputstream=inputstream.adaptive | |
2 | #KODIPROP:inputstream.adaptive.manifest_type=mpd | |
3 | #KODIPROP:mimetype=application/dash+xml | |
4 | http://livesim.dashif.org/livesim/snr_200/testpic_2s/Manifest.mpd⏎ |
0 | set(BINARY Test${CMAKE_PROJECT_NAME}) | |
1 | ||
2 | find_package( Threads ) | |
3 | ||
4 | add_executable(${BINARY} | |
5 | TestMain.cpp | |
6 | TestDASHTree.cpp | |
7 | TestHLSTree.cpp | |
8 | TestHelper.cpp | |
9 | ../parser/DASHTree.cpp | |
10 | ../parser/HLSTree.cpp | |
11 | ../parser/PRProtectionParser.cpp | |
12 | ../common/AdaptiveStream.cpp | |
13 | ../common/AdaptiveTree.cpp | |
14 | ../helpers.cpp | |
15 | ../oscompat.cpp | |
16 | ) | |
17 | ||
18 | target_link_libraries(${BINARY} PRIVATE ${EXPAT_LIBRARIES} ${GTEST_LIBRARIES} Threads::Threads ${CMAKE_DL_LIBS}) | |
19 | ||
20 | set(TEST_DATA_DIR "${CMAKE_SOURCE_DIR}/src/test/manifests") | |
21 | add_test(NAME manifest_tests COMMAND ${BINARY} "${TEST_DATA_DIR}") |
0 | #include "TestHelper.h" | |
1 | ||
2 | #include <gtest/gtest.h> | |
3 | ||
4 | ||
5 | class DASHTreeTest : public ::testing::Test | |
6 | { | |
7 | protected: | |
8 | void SetUp() override | |
9 | { | |
10 | tree = new DASHTestTree; | |
11 | tree->supportedKeySystem_ = "urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"; | |
12 | } | |
13 | ||
14 | void TearDown() override | |
15 | { | |
16 | testHelper::effectiveUrl.clear(); | |
17 | delete tree; | |
18 | tree = nullptr; | |
19 | } | |
20 | ||
21 | void OpenTestFile(std::string testfilename, std::string url, std::string manifestHeaders) | |
22 | { | |
23 | SetFileName(testHelper::testFile, testfilename); | |
24 | if (!tree->open(url, manifestHeaders)) | |
25 | { | |
26 | printf("open() failed"); | |
27 | exit(1); | |
28 | } | |
29 | } | |
30 | ||
31 | DASHTestTree* tree; | |
32 | }; | |
33 | ||
34 | class DASHTreeAdaptiveStreamTest : public DASHTreeTest | |
35 | { | |
36 | protected: | |
37 | void SetUp() override | |
38 | { | |
39 | testHelper::lastDownloadUrl.clear(); | |
40 | DASHTreeTest::SetUp(); | |
41 | videoStream = new TestAdaptiveStream(*tree, adaptive::AdaptiveTree::StreamType::VIDEO); | |
42 | } | |
43 | ||
44 | void TearDown() override | |
45 | { | |
46 | delete videoStream; | |
47 | videoStream = nullptr; | |
48 | DASHTreeTest::TearDown(); | |
49 | } | |
50 | ||
51 | void ReadSegments(TestAdaptiveStream* stream, | |
52 | uint32_t bytesToRead, | |
53 | uint32_t reads, | |
54 | bool clearUrls = true) | |
55 | { | |
56 | // Rudimentary simulation of running a stream and consuming segment data. | |
57 | // Normally AdaptiveStream::read is called from a sample reader for the exact | |
58 | // amount of bytes needed to supply the next sample until the segment is | |
59 | // exhausted. Here our segments are a fixed size (16 bytes) and for testing we can | |
60 | // optimally call to read 1 segment per AdaptiveStream::read | |
61 | ||
62 | if (clearUrls) | |
63 | downloadedUrls.clear(); | |
64 | ||
65 | for (unsigned int i = 0; i < reads; i++) | |
66 | if (stream->read(buf, bytesToRead)) | |
67 | downloadedUrls.push_back(testHelper::lastDownloadUrl); | |
68 | else | |
69 | break; | |
70 | } | |
71 | ||
72 | TestAdaptiveStream* videoStream; | |
73 | std::vector<std::string> downloadedUrls; | |
74 | std::map<std::string, std::string> mediaHeaders; | |
75 | unsigned char buf[16]; | |
76 | }; | |
77 | ||
78 | ||
79 | TEST_F(DASHTreeTest, CalculateBaseURL) | |
80 | { | |
81 | // No BaseURL tags | |
82 | OpenTestFile("mpd/segtpl.mpd", "https://foo.bar/mpd/test.mpd", ""); | |
83 | EXPECT_EQ(tree->base_url_, "https://foo.bar/mpd/"); | |
84 | } | |
85 | ||
86 | TEST_F(DASHTreeTest, CalculateBaseDomain) | |
87 | { | |
88 | OpenTestFile("mpd/segtpl.mpd", "https://foo.bar/mpd/test.mpd", ""); | |
89 | ||
90 | EXPECT_EQ(tree->base_domain_, "https://foo.bar"); | |
91 | } | |
92 | ||
93 | TEST_F(DASHTreeTest, CalculateEffectiveUrlFromRedirect) | |
94 | { | |
95 | // like base_url_, effective_url_ should be path, not including filename | |
96 | testHelper::effectiveUrl = "https://foo.bar/mpd/stream.mpd"; | |
97 | OpenTestFile("mpd/segtpl.mpd", "https://bit.ly/abcd", ""); | |
98 | ||
99 | EXPECT_EQ(tree->effective_url_, "https://foo.bar/mpd/"); | |
100 | } | |
101 | ||
102 | TEST_F(DASHTreeTest, CalculateBaseURLFromBaseURLTag) | |
103 | { | |
104 | OpenTestFile("mpd/segtpl_baseurlinmpd.mpd", "https://bit.ly/abcd", ""); | |
105 | EXPECT_EQ(tree->current_period_->base_url_, "https://foo.bar/mpd/"); | |
106 | } | |
107 | ||
108 | TEST_F(DASHTreeTest, CalculateSegTplWithNoSlashs) | |
109 | { | |
110 | // BaseURL inside period with no trailing slash, uses segtpl, media/init doesn't start with slash | |
111 | OpenTestFile("mpd/segtpl_baseurl_noslashs.mpd", "https://foo.bar/initialpath/test.mpd", ""); | |
112 | ||
113 | adaptive::AdaptiveTree::SegmentTemplate segtpl = | |
114 | tree->periods_[0]->adaptationSets_[0]->representations_[0]->segtpl_; | |
115 | ||
116 | EXPECT_EQ(segtpl.initialization, "https://foo.bar/guid.ism/dash/media-video=66000.dash"); | |
117 | EXPECT_EQ(segtpl.media, "https://foo.bar/guid.ism/dash/media-video=66000-$Number$.m4s"); | |
118 | } | |
119 | ||
120 | TEST_F(DASHTreeTest, CalculateSegTplWithMediaInitSlash) | |
121 | { | |
122 | // BaseURL inside period with no trailing slash, uses segtpl, media/init starts with slash | |
123 | OpenTestFile("mpd/segtpl_slash_baseurl_noslash.mpd", "https://foo.bar/initialpath/test.mpd", ""); | |
124 | ||
125 | adaptive::AdaptiveTree::SegmentTemplate segtpl = | |
126 | tree->periods_[0]->adaptationSets_[0]->representations_[0]->segtpl_; | |
127 | ||
128 | EXPECT_EQ(segtpl.initialization, "https://foo.bar/media-video=66000.dash"); | |
129 | EXPECT_EQ(segtpl.media, "https://foo.bar/media-video=66000-$Number$.m4s"); | |
130 | } | |
131 | ||
132 | TEST_F(DASHTreeTest, CalculateSegTplWithBaseURLSlash) | |
133 | { | |
134 | // BaseURL inside period with trailing slash, uses segtpl, media/init doesn't start with slash | |
135 | OpenTestFile("mpd/segtpl_noslash_baseurl_slash.mpd", "https://foo.bar/initialpath/test.mpd", ""); | |
136 | ||
137 | adaptive::AdaptiveTree::SegmentTemplate segtpl = | |
138 | tree->periods_[0]->adaptationSets_[0]->representations_[0]->segtpl_; | |
139 | ||
140 | EXPECT_EQ(segtpl.initialization, "https://foo.bar/guid.ism/dash/media-video=66000.dash"); | |
141 | EXPECT_EQ(segtpl.media, "https://foo.bar/guid.ism/dash/media-video=66000-$Number$.m4s"); | |
142 | } | |
143 | ||
144 | TEST_F(DASHTreeTest, CalculateSegTplWithBaseURLAndMediaInitSlash) | |
145 | { | |
146 | // BaseURL inside period with trailing slash, uses segtpl, media/init starts with slash | |
147 | OpenTestFile("mpd/segtpl_slash_baseurl_slash.mpd", "https://foo.bar/initialpath/test.mpd", ""); | |
148 | ||
149 | adaptive::AdaptiveTree::SegmentTemplate segtpl = | |
150 | tree->periods_[0]->adaptationSets_[0]->representations_[0]->segtpl_; | |
151 | ||
152 | EXPECT_EQ(segtpl.initialization, "https://foo.bar/media-video=66000.dash"); | |
153 | EXPECT_EQ(segtpl.media, "https://foo.bar/media-video=66000-$Number$.m4s"); | |
154 | } | |
155 | ||
156 | TEST_F(DASHTreeTest, CalculateBaseURLInRepRangeBytes) | |
157 | { | |
158 | // Byteranged indexing | |
159 | OpenTestFile("mpd/segmentbase.mpd", "https://foo.bar/test.mpd", ""); | |
160 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[0]->representations_[0]->url_, | |
161 | "https://foo.bar/video/23.98p/r0/vid10.mp4"); | |
162 | } | |
163 | ||
164 | TEST_F(DASHTreeTest, CalculateCorrectSegmentNumbersFromSegmentTimeline) | |
165 | { | |
166 | // SegmentTimeline, availabilityStartTime is greater than epoch | |
167 | OpenTestFile("mpd/segtimeline_live_ast.mpd", "", ""); | |
168 | ||
169 | adaptive::SPINCACHE<adaptive::AdaptiveTree::Segment> segments = | |
170 | tree->periods_[0]->adaptationSets_[0]->representations_[0]->segments_; | |
171 | ||
172 | EXPECT_EQ(segments.size(), 13); | |
173 | EXPECT_EQ(segments[0]->range_end_, 487050); | |
174 | EXPECT_EQ(segments[12]->range_end_, 487062); | |
175 | } | |
176 | ||
177 | TEST_F(DASHTreeTest, CalculateCorrectSegmentNumbersFromSegmentTemplateWithPTO) | |
178 | { | |
179 | tree->mock_time = 1617223929L; | |
180 | ||
181 | OpenTestFile("mpd/segtpl_pto.mpd", "", ""); | |
182 | ||
183 | adaptive::SPINCACHE<adaptive::AdaptiveTree::Segment> segments = | |
184 | tree->periods_[0]->adaptationSets_[0]->representations_[0]->segments_; | |
185 | ||
186 | EXPECT_EQ(segments.size(), 451); | |
187 | EXPECT_EQ(segments[0]->range_end_, 404305525); | |
188 | EXPECT_EQ(segments[450]->range_end_, 404305975); | |
189 | } | |
190 | ||
191 | TEST_F(DASHTreeTest, CalculateCorrectSegmentNumbersFromSegmentTemplateWithOldPublishTime) | |
192 | { | |
193 | tree->mock_time = 1617229334L; | |
194 | ||
195 | OpenTestFile("mpd/segtpl_old_publish_time.mpd", "", ""); | |
196 | ||
197 | adaptive::SPINCACHE<adaptive::AdaptiveTree::Segment> segments = | |
198 | tree->periods_[0]->adaptationSets_[0]->representations_[0]->segments_; | |
199 | ||
200 | EXPECT_EQ(segments.size(), 31); | |
201 | EXPECT_EQ(segments[0]->range_end_, 603272); | |
202 | EXPECT_EQ(segments[30]->range_end_, 603302); | |
203 | } | |
204 | ||
205 | TEST_F(DASHTreeTest, CalculateLiveWithPresentationDuration) | |
206 | { | |
207 | OpenTestFile("mpd/segtimeline_live_pd.mpd", "", ""); | |
208 | EXPECT_EQ(tree->has_timeshift_buffer_, true); | |
209 | } | |
210 | ||
211 | TEST_F(DASHTreeTest, CalculateStaticWithPresentationDuration) | |
212 | { | |
213 | OpenTestFile("mpd/segtpl_slash_baseurl_slash.mpd", "", ""); | |
214 | EXPECT_EQ(tree->has_timeshift_buffer_, false); | |
215 | } | |
216 | ||
217 | TEST_F(DASHTreeTest, CalculateCorrectFpsScaleFromAdaptionSet) | |
218 | { | |
219 | OpenTestFile("mpd/fps_scale_adaptset.mpd", "", ""); | |
220 | ||
221 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[0]->representations_[0]->fpsRate_, 24000); | |
222 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[0]->representations_[0]->fpsScale_, 1001); | |
223 | ||
224 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[1]->representations_[0]->fpsRate_, 30); | |
225 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[1]->representations_[0]->fpsScale_, 1); | |
226 | ||
227 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[2]->representations_[0]->fpsRate_, 25); | |
228 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[2]->representations_[0]->fpsScale_, 1); | |
229 | ||
230 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[3]->representations_[0]->fpsRate_, 25000); | |
231 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[3]->representations_[0]->fpsScale_, 1000); | |
232 | ||
233 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[4]->representations_[0]->fpsRate_, 25); | |
234 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[4]->representations_[0]->fpsScale_, 1); | |
235 | ||
236 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[5]->representations_[0]->fpsRate_, 30); | |
237 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[5]->representations_[0]->fpsScale_, 1); | |
238 | ||
239 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[6]->representations_[0]->fpsRate_, 25000); | |
240 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[6]->representations_[0]->fpsScale_, 1000); | |
241 | } | |
242 | ||
243 | TEST_F(DASHTreeAdaptiveStreamTest, replacePlaceHolders) | |
244 | { | |
245 | OpenTestFile("mpd/placeholders.mpd", "https://foo.bar/placeholders.mpd", ""); | |
246 | ||
247 | videoStream->prepare_stream(tree->current_period_->adaptationSets_[0], 0, 0, 0, 0, 0, 0, 0, | |
248 | mediaHeaders); | |
249 | videoStream->start_stream(~0, 0, 0, true); | |
250 | ReadSegments(videoStream, 16, 5); | |
251 | EXPECT_EQ(downloadedUrls[0], "https://foo.bar/videosd-400x224/segment_487050.m4s"); | |
252 | EXPECT_EQ(downloadedUrls.back(), "https://foo.bar/videosd-400x224/segment_487054.m4s"); | |
253 | ||
254 | videoStream->prepare_stream(tree->current_period_->adaptationSets_[1], 0, 0, 0, 0, 0, 0, 0, | |
255 | mediaHeaders); | |
256 | videoStream->start_stream(~0, 0, 0, true); | |
257 | ReadSegments(videoStream, 16, 5); | |
258 | EXPECT_EQ(downloadedUrls[0], "https://foo.bar/videosd-400x224/segment_00487050.m4s"); | |
259 | EXPECT_EQ(downloadedUrls.back(), "https://foo.bar/videosd-400x224/segment_00487054.m4s"); | |
260 | ||
261 | videoStream->prepare_stream(tree->current_period_->adaptationSets_[2], 0, 0, 0, 0, 0, 0, 0, | |
262 | mediaHeaders); | |
263 | videoStream->start_stream(~0, 0, 0, true); | |
264 | ReadSegments(videoStream, 16, 5); | |
265 | EXPECT_EQ(downloadedUrls[0], "https://foo.bar/videosd-400x224/segment_263007000000.m4s"); | |
266 | EXPECT_EQ(downloadedUrls.back(), "https://foo.bar/videosd-400x224/segment_263009160000.m4s"); | |
267 | ||
268 | videoStream->prepare_stream(tree->current_period_->adaptationSets_[3], 0, 0, 0, 0, 0, 0, 0, | |
269 | mediaHeaders); | |
270 | videoStream->start_stream(~0, 0, 0, true); | |
271 | ReadSegments(videoStream, 16, 5); | |
272 | EXPECT_EQ(downloadedUrls[0], "https://foo.bar/videosd-400x224/segment_00263007000000"); | |
273 | EXPECT_EQ(downloadedUrls.back(), "https://foo.bar/videosd-400x224/segment_00263009160000"); | |
274 | ||
275 | videoStream->prepare_stream(tree->current_period_->adaptationSets_[4], 0, 0, 0, 0, 0, 0, 0, | |
276 | mediaHeaders); | |
277 | videoStream->start_stream(~0, 0, 0, true); | |
278 | ReadSegments(videoStream, 16, 5); | |
279 | EXPECT_EQ(downloadedUrls[0], "https://foo.bar/videosd-400x224/segment_487050.m4s?t=263007000000"); | |
280 | EXPECT_EQ(downloadedUrls.back(), "https://foo.bar/videosd-400x224/segment_487054.m4s?t=263009160000"); | |
281 | ||
282 | videoStream->prepare_stream(tree->current_period_->adaptationSets_[5], 0, 0, 0, 0, 0, 0, 0, | |
283 | mediaHeaders); | |
284 | videoStream->start_stream(~0, 0, 0, true); | |
285 | ReadSegments(videoStream, 16, 5); | |
286 | EXPECT_EQ(downloadedUrls[0], "https://foo.bar/videosd-400x224/segment_00487050.m4s?t=00263007000000"); | |
287 | EXPECT_EQ(downloadedUrls.back(), "https://foo.bar/videosd-400x224/segment_00487054.m4s?t=00263009160000"); | |
288 | ||
289 | videoStream->prepare_stream(tree->current_period_->adaptationSets_[6], 0, 0, 0, 0, 0, 0, 0, | |
290 | mediaHeaders); | |
291 | videoStream->start_stream(~0, 0, 0, true); | |
292 | ReadSegments(videoStream, 16, 5); | |
293 | EXPECT_EQ(downloadedUrls[0], "https://foo.bar/videosd-400x224/segment.m4s"); | |
294 | EXPECT_EQ(downloadedUrls.back(), "https://foo.bar/videosd-400x224/segment.m4s"); | |
295 | } | |
296 | ||
297 | TEST_F(DASHTreeTest, updateParameterLiveSegmentTimeline) | |
298 | { | |
299 | OpenTestFile("mpd/segtimeline_live_pd.mpd", "", ""); | |
300 | EXPECT_EQ(tree->update_parameter_, "full"); | |
301 | } | |
302 | ||
303 | TEST_F(DASHTreeTest, updateParameterProvidedLiveSegmentTimeline) | |
304 | { | |
305 | tree->update_parameter_ = "ABC"; | |
306 | OpenTestFile("mpd/segtimeline_live_pd.mpd", "", ""); | |
307 | EXPECT_EQ(tree->update_parameter_, "ABC"); | |
308 | } | |
309 | ||
310 | TEST_F(DASHTreeTest, updateParameterVODSegmentTimeline) | |
311 | { | |
312 | OpenTestFile("mpd/segtimeline_vod.mpd", "", ""); | |
313 | EXPECT_EQ(tree->update_parameter_, ""); | |
314 | } | |
315 | ||
316 | TEST_F(DASHTreeTest, updateParameterLiveSegmentTemplate) | |
317 | { | |
318 | OpenTestFile("mpd/segtpl_pto.mpd", "", ""); | |
319 | EXPECT_EQ(tree->update_parameter_, ""); | |
320 | } | |
321 | ||
322 | TEST_F(DASHTreeTest, updateParameterVODSegmentTemplate) | |
323 | { | |
324 | OpenTestFile("mpd/segtpl_baseurl_noslashs.mpd", "", ""); | |
325 | EXPECT_EQ(tree->update_parameter_, ""); | |
326 | } | |
327 | ||
328 | TEST_F(DASHTreeTest, CalculatePsshDefaultKid) | |
329 | { | |
330 | OpenTestFile("mpd/pssh_default_kid.mpd", "", ""); | |
331 | ||
332 | EXPECT_EQ(tree->periods_[0]->psshSets_[1].pssh_, "ABCDEFGH"); | |
333 | EXPECT_EQ(tree->periods_[0]->psshSets_[1].defaultKID_.length(), 16); | |
334 | ||
335 | EXPECT_EQ(tree->periods_[0]->psshSets_[2].pssh_, "HGFEDCBA"); | |
336 | EXPECT_EQ(tree->periods_[0]->psshSets_[2].defaultKID_.length(), 16); | |
337 | } | |
338 | ||
339 | TEST_F(DASHTreeAdaptiveStreamTest, subtitles) | |
340 | { | |
341 | OpenTestFile("mpd/subtitles.mpd", "https://foo.bar/subtitles.mpd", ""); | |
342 | ||
343 | // Required as gtest can not access the hidden attribute directly in EXPECT_EQ | |
344 | static const uint16_t SUBTITLESTREAM = DASHTestTree::Representation::SUBTITLESTREAM; | |
345 | ||
346 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[1]->type_, DASHTestTree::SUBTITLE); | |
347 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[1]->representations_[0]->flags_, SUBTITLESTREAM); | |
348 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[1]->representations_[0]->codecs_, "ttml"); | |
349 | ||
350 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[2]->type_, DASHTestTree::SUBTITLE); | |
351 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[2]->representations_[0]->flags_, SUBTITLESTREAM); | |
352 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[2]->representations_[0]->codecs_, "ttml"); | |
353 | ||
354 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[3]->type_, DASHTestTree::SUBTITLE); | |
355 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[3]->representations_[0]->flags_, SUBTITLESTREAM); | |
356 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[3]->representations_[0]->codecs_, "ttml"); | |
357 | ||
358 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[4]->type_, DASHTestTree::SUBTITLE); | |
359 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[4]->representations_[0]->flags_, SUBTITLESTREAM); | |
360 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[4]->representations_[0]->codecs_, "ttml"); | |
361 | ||
362 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[5]->type_, DASHTestTree::SUBTITLE); | |
363 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[5]->representations_[0]->flags_, SUBTITLESTREAM); | |
364 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[5]->representations_[0]->codecs_, "wvtt"); | |
365 | ||
366 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[6]->type_, DASHTestTree::SUBTITLE); | |
367 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[6]->representations_[0]->flags_, SUBTITLESTREAM); | |
368 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[6]->representations_[0]->codecs_, "wvtt"); | |
369 | ||
370 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[7]->type_, DASHTestTree::SUBTITLE); | |
371 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[7]->representations_[0]->flags_, SUBTITLESTREAM); | |
372 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[7]->representations_[0]->codecs_, "wvtt"); | |
373 | ||
374 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[8]->type_, DASHTestTree::SUBTITLE); | |
375 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[8]->representations_[0]->flags_, SUBTITLESTREAM); | |
376 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[8]->representations_[0]->codecs_, "wvtt"); | |
377 | ||
378 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[9]->type_, DASHTestTree::SUBTITLE); | |
379 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[9]->representations_[0]->flags_, SUBTITLESTREAM); | |
380 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[9]->representations_[0]->codecs_, "my_codec"); | |
381 | ||
382 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[10]->type_, DASHTestTree::SUBTITLE); | |
383 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[10]->representations_[0]->flags_, SUBTITLESTREAM); | |
384 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[10]->representations_[0]->codecs_, "ttml"); | |
385 | ||
386 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[11]->type_, DASHTestTree::SUBTITLE); | |
387 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[11]->mimeType_, "application/mp4"); | |
388 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[11]->representations_[0]->codecs_, "stpp"); | |
389 | videoStream->prepare_stream(tree->periods_[0]->adaptationSets_[11], 0, 0, 0, 0, 0, 0, 0, | |
390 | mediaHeaders); | |
391 | videoStream->start_stream(~0, 0, 0, true); | |
392 | ReadSegments(videoStream, 16, 5); | |
393 | EXPECT_EQ(downloadedUrls[0], "https://foo.bar/11/0001.m4s"); | |
394 | EXPECT_EQ(downloadedUrls.back(), "https://foo.bar/11/0005.m4s"); | |
395 | ||
396 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[12]->type_, DASHTestTree::SUBTITLE); | |
397 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[12]->mimeType_, "application/mp4"); | |
398 | EXPECT_EQ(tree->periods_[0]->adaptationSets_[12]->representations_[0]->codecs_, "stpp.ttml.im1t"); | |
399 | videoStream->prepare_stream(tree->periods_[0]->adaptationSets_[12], 0, 0, 0, 0, 0, 0, 0, | |
400 | mediaHeaders); | |
401 | videoStream->start_stream(~0, 0, 0, true); | |
402 | ReadSegments(videoStream, 16, 5); | |
403 | EXPECT_EQ(downloadedUrls[0], "https://foo.bar/tears-of-steel-multiple-subtitles-12-0.dash"); | |
404 | EXPECT_EQ(downloadedUrls.back(), "https://foo.bar/tears-of-steel-multiple-subtitles-12-16000.dash"); | |
405 | } |
0 | #include "TestHelper.h" | |
1 | #include <gtest/gtest.h> | |
2 | ||
3 | ||
4 | class HLSTreeTest : public ::testing::Test | |
5 | { | |
6 | protected: | |
7 | void SetUp() override | |
8 | { | |
9 | tree = new adaptive::HLSTree(new AESDecrypter(std::string())); | |
10 | tree->supportedKeySystem_ = "urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"; | |
11 | } | |
12 | ||
13 | void TearDown() override | |
14 | { | |
15 | testHelper::effectiveUrl.clear(); | |
16 | delete tree; | |
17 | tree = nullptr; | |
18 | } | |
19 | ||
20 | void OpenTestFileMaster(std::string testfilename, std::string url, std::string manifestHeaders) | |
21 | { | |
22 | SetFileName(testHelper::testFile, testfilename); | |
23 | if (!tree->open(url, manifestHeaders)) | |
24 | { | |
25 | printf("open() failed"); | |
26 | exit(1); | |
27 | } | |
28 | } | |
29 | ||
30 | adaptive::HLSTree::PREPARE_RESULT OpenTestFileVariant(std::string testfilename, | |
31 | std::string url, | |
32 | adaptive::AdaptiveTree::Period* per, | |
33 | adaptive::AdaptiveTree::AdaptationSet* adp, | |
34 | adaptive::AdaptiveTree::Representation* rep) | |
35 | { | |
36 | if (!url.empty()) | |
37 | rep->source_url_ = url; | |
38 | SetFileName(testHelper::testFile, testfilename); | |
39 | return tree->prepareRepresentation(per, adp, rep); | |
40 | } | |
41 | adaptive::HLSTree* tree; | |
42 | }; | |
43 | ||
44 | ||
45 | ||
46 | TEST_F(HLSTreeTest, CalculateSourceUrl) | |
47 | { | |
48 | OpenTestFileMaster("hls/1a2v_master.m3u8", "https://foo.bar/master.m3u8?param=foo", ""); | |
49 | adaptive::HLSTree::PREPARE_RESULT res = OpenTestFileVariant( | |
50 | "hls/fmp4_noenc_v_stream_2.m3u8", "https://foo.bar/stream_2/out.m3u8", | |
51 | tree->current_period_, tree->current_adaptationset_, tree->current_representation_); | |
52 | ||
53 | std::string rep_url = tree->BuildDownloadUrl( | |
54 | tree->current_period_->adaptationSets_[0]->representations_[0]->source_url_); | |
55 | EXPECT_EQ(tree->base_url_, "https://foo.bar/"); | |
56 | EXPECT_EQ(rep_url, "https://foo.bar/stream_2/out.m3u8"); | |
57 | } | |
58 | ||
59 | ||
60 | TEST_F(HLSTreeTest, CalculateSourceUrlFromRedirectedMasterRelativeUri) | |
61 | { | |
62 | testHelper::effectiveUrl = "https://foo.bar/master.m3u8"; | |
63 | ||
64 | OpenTestFileMaster("hls/1a2v_master.m3u8", "https://baz.qux/master.m3u8", ""); | |
65 | ||
66 | std::string rep_url = tree->BuildDownloadUrl( | |
67 | tree->current_period_->adaptationSets_[0]->representations_[0]->source_url_); | |
68 | ||
69 | EXPECT_EQ(rep_url, "https://foo.bar/stream_2/out.m3u8"); | |
70 | ||
71 | adaptive::HLSTree::PREPARE_RESULT res = OpenTestFileVariant( | |
72 | "hls/fmp4_noenc_v_stream_2.m3u8", "https://foo.bar/stream_2/out.m3u8", tree->current_period_, | |
73 | tree->current_adaptationset_, tree->current_representation_); | |
74 | ||
75 | rep_url = tree->BuildDownloadUrl( | |
76 | tree->current_period_->adaptationSets_[0]->representations_[0]->source_url_); | |
77 | // base_url_ should never change after opening stream regardless of redirects | |
78 | EXPECT_EQ(tree->base_url_, "https://baz.qux/"); | |
79 | EXPECT_EQ(res, adaptive::HLSTree::PREPARE_RESULT_OK); | |
80 | EXPECT_EQ(rep_url, "https://foo.bar/stream_2/out.m3u8"); | |
81 | } | |
82 | ||
83 | ||
84 | TEST_F(HLSTreeTest, CalculateSourceUrlFromRedirectedVariantAbsoluteUri) | |
85 | { | |
86 | OpenTestFileMaster("hls/redirect_absolute_1v_master.m3u8", "https://baz.qux/master.m3u8", ""); | |
87 | ||
88 | std::string rep_url = tree->BuildDownloadUrl( | |
89 | tree->current_period_->adaptationSets_[0]->representations_[0]->source_url_); | |
90 | ||
91 | EXPECT_EQ(rep_url, "https://bit.ly/abcd"); | |
92 | ||
93 | testHelper::effectiveUrl = "https://foo.bar/stream_2/out.m3u8"; | |
94 | ||
95 | adaptive::HLSTree::PREPARE_RESULT res = OpenTestFileVariant( | |
96 | "hls/fmp4_noenc_v_stream_2.m3u8", "https://bit.ly/abcd", | |
97 | tree->current_period_, tree->current_adaptationset_, tree->current_representation_); | |
98 | ||
99 | rep_url = tree->BuildDownloadUrl( | |
100 | tree->current_period_->adaptationSets_[0]->representations_[0]->source_url_); | |
101 | EXPECT_EQ(tree->base_url_, "https://baz.qux/"); | |
102 | EXPECT_EQ(res, adaptive::HLSTree::PREPARE_RESULT_OK); | |
103 | EXPECT_EQ(rep_url, "https://bit.ly/abcd"); | |
104 | } | |
105 | ||
106 | ||
107 | TEST_F(HLSTreeTest, CalculateSourceUrlFromRedirectedMasterAndRedirectedVariantAbsoluteUri) | |
108 | { | |
109 | testHelper::effectiveUrl = "https://baz.qux/master.m3u8"; | |
110 | ||
111 | OpenTestFileMaster("hls/redirect_absolute_1v_master.m3u8", "https://link.to/1234", ""); | |
112 | ||
113 | std::string rep_url = tree->BuildDownloadUrl( | |
114 | tree->current_period_->adaptationSets_[0]->representations_[0]->source_url_); | |
115 | ||
116 | EXPECT_EQ(rep_url, "https://bit.ly/abcd"); | |
117 | ||
118 | testHelper::effectiveUrl = "https://foo.bar/stream_2/out.m3u8"; | |
119 | ||
120 | adaptive::HLSTree::PREPARE_RESULT res = OpenTestFileVariant( | |
121 | "hls/fmp4_noenc_v_stream_2.m3u8", "https://bit.ly/abcd", tree->current_period_, | |
122 | tree->current_adaptationset_, tree->current_representation_); | |
123 | ||
124 | rep_url = tree->BuildDownloadUrl( | |
125 | tree->current_period_->adaptationSets_[0]->representations_[0]->source_url_); | |
126 | EXPECT_EQ(tree->base_url_, "https://link.to/"); | |
127 | EXPECT_EQ(res, adaptive::HLSTree::PREPARE_RESULT_OK); | |
128 | EXPECT_EQ(rep_url, "https://bit.ly/abcd"); | |
129 | } | |
130 | ||
131 | ||
132 | TEST_F(HLSTreeTest, | |
133 | CalculateSourceUrlFromRedirectedMasterAndRedirectedVariantAbsoluteUriSameDomains) | |
134 | { | |
135 | GTEST_SKIP(); | |
136 | testHelper::effectiveUrl = "https://baz.qux/master.m3u8"; | |
137 | ||
138 | OpenTestFileMaster("hls/redirect_absolute_1v_master.m3u8", "https://bit.ly/1234", ""); | |
139 | ||
140 | std::string rep_url = tree->BuildDownloadUrl( | |
141 | tree->current_period_->adaptationSets_[0]->representations_[0]->source_url_); | |
142 | ||
143 | EXPECT_EQ(rep_url, "https://bit.ly/abcd"); | |
144 | ||
145 | testHelper::effectiveUrl = "https://foo.bar/stream_2/out.m3u8"; | |
146 | ||
147 | adaptive::HLSTree::PREPARE_RESULT res = OpenTestFileVariant( | |
148 | "hls/fmp4_noenc_v_stream_2.m3u8", "https://bit.ly/abcd", tree->current_period_, | |
149 | tree->current_adaptationset_, tree->current_representation_); | |
150 | ||
151 | rep_url = tree->BuildDownloadUrl( | |
152 | tree->current_period_->adaptationSets_[0]->representations_[0]->source_url_); | |
153 | EXPECT_EQ(tree->base_url_, "https://bit.ly/"); | |
154 | EXPECT_EQ(res, adaptive::HLSTree::PREPARE_RESULT_OK); | |
155 | EXPECT_EQ(rep_url, "https://bit.ly/abcd"); | |
156 | } | |
157 | ||
158 | ||
159 | ||
160 | TEST_F(HLSTreeTest, OpenVariant) | |
161 | { | |
162 | OpenTestFileMaster("hls/1a2v_master.m3u8", "https://foo.bar/master.m3u8", ""); | |
163 | ||
164 | adaptive::HLSTree::PREPARE_RESULT res = OpenTestFileVariant( | |
165 | "hls/fmp4_noenc_v_stream_2.m3u8", "https://foo.bar/stream_2.m3u8", tree->current_period_, | |
166 | tree->current_adaptationset_, tree->current_representation_); | |
167 | ||
168 | EXPECT_EQ(res, adaptive::HLSTree::PREPARE_RESULT_OK); | |
169 | EXPECT_EQ(tree->base_url_, "https://foo.bar/"); | |
170 | } | |
171 | ||
172 | ||
173 | TEST_F(HLSTreeTest, ParseKeyUriStartingWithSlash) | |
174 | { | |
175 | OpenTestFileMaster("hls/1v_master.m3u8", | |
176 | "https://foo.bar/hls/video/stream_name/master.m3u8", ""); | |
177 | ||
178 | adaptive::HLSTree::PREPARE_RESULT res = OpenTestFileVariant( | |
179 | "hls/ts_aes_keyuriwithslash_stream_0.m3u8", | |
180 | "https://foo.bar/hls/video/stream_name/chunklist.m3u8", tree->current_period_, | |
181 | tree->current_adaptationset_, tree->current_representation_); | |
182 | ||
183 | std::string pssh_url = tree->BuildDownloadUrl(tree->current_period_->psshSets_[1].pssh_); | |
184 | EXPECT_EQ(res, adaptive::HLSTree::PREPARE_RESULT_OK); | |
185 | EXPECT_EQ(tree->base_url_, "https://foo.bar/hls/video/stream_name/"); | |
186 | EXPECT_EQ(pssh_url, | |
187 | "https://foo.bar/hls/key/key.php?stream=stream_name"); | |
188 | } | |
189 | ||
190 | TEST_F(HLSTreeTest, ParseKeyUriStartingWithSlashFromRedirect) | |
191 | { | |
192 | testHelper::effectiveUrl = "https://foo.bar/hls/video/stream_name/master.m3u8"; | |
193 | ||
194 | OpenTestFileMaster("hls/1v_master.m3u8", "https://baz.qux/hls/video/stream_name/master.m3u8", | |
195 | ""); | |
196 | ||
197 | adaptive::HLSTree::PREPARE_RESULT res = OpenTestFileVariant( | |
198 | "hls/ts_aes_keyuriwithslash_stream_0.m3u8", | |
199 | "https://foo.bar/hls/video/stream_name/chunklist.m3u8", tree->current_period_, | |
200 | tree->current_adaptationset_, tree->current_representation_); | |
201 | ||
202 | std::string pssh_url = tree->BuildDownloadUrl(tree->current_period_->psshSets_[1].pssh_); | |
203 | EXPECT_EQ(res, adaptive::HLSTree::PREPARE_RESULT_OK); | |
204 | EXPECT_EQ(tree->base_url_, "https://baz.qux/hls/video/stream_name/"); | |
205 | EXPECT_EQ(pssh_url, | |
206 | "https://foo.bar/hls/key/key.php?stream=stream_name"); | |
207 | } | |
208 | ||
209 | ||
210 | TEST_F(HLSTreeTest, ParseKeyUriAbsolute) | |
211 | { | |
212 | OpenTestFileMaster("hls/1v_master.m3u8", | |
213 | "https://foo.bar/hls/video/stream_name/master.m3u8", ""); | |
214 | ||
215 | adaptive::HLSTree::PREPARE_RESULT res = OpenTestFileVariant( | |
216 | "hls/ts_aes_keyuriabsolute_stream_0.m3u8", | |
217 | "https://foo.bar/hls/video/stream_name/chunklist.m3u8", tree->current_period_, | |
218 | tree->current_adaptationset_, tree->current_representation_); | |
219 | ||
220 | EXPECT_EQ(res, adaptive::HLSTree::PREPARE_RESULT_OK); | |
221 | EXPECT_EQ(tree->base_url_, "https://foo.bar/hls/video/stream_name/"); | |
222 | EXPECT_EQ(tree->current_period_->psshSets_[1].pssh_, | |
223 | "https://foo.bar/hls/key/key.php?stream=stream_name"); | |
224 | } | |
225 | ||
226 | ||
227 | TEST_F(HLSTreeTest, ParseKeyUriRelative) | |
228 | { | |
229 | OpenTestFileMaster("hls/1v_master.m3u8", "https://foo.bar/hls/video/stream_name/master.m3u8", | |
230 | ""); | |
231 | ||
232 | adaptive::HLSTree::PREPARE_RESULT res = OpenTestFileVariant( | |
233 | "hls/ts_aes_keyurirelative_stream_0.m3u8", | |
234 | "https://foo.bar/hls/video/stream_name/chunklist.m3u8", tree->current_period_, | |
235 | tree->current_adaptationset_, tree->current_representation_); | |
236 | ||
237 | std::string pssh_url = tree->BuildDownloadUrl(tree->current_period_->psshSets_[1].pssh_); | |
238 | EXPECT_EQ(res, adaptive::HLSTree::PREPARE_RESULT_OK); | |
239 | EXPECT_EQ(tree->base_url_, "https://foo.bar/hls/video/stream_name/"); | |
240 | EXPECT_EQ(pssh_url, | |
241 | "https://foo.bar/hls/video/stream_name/../../key/key.php?stream=stream_name"); | |
242 | } | |
243 | ||
244 | ||
245 | TEST_F(HLSTreeTest, ParseKeyUriRelativeFromRedirect) | |
246 | { | |
247 | testHelper::effectiveUrl = "https://foo.bar/hls/video/stream_name/master.m3u8"; | |
248 | ||
249 | OpenTestFileMaster("hls/1v_master.m3u8", | |
250 | "https://baz.qux/hls/video/stream_name/master.m3u8", ""); | |
251 | std::string var_download_url = tree->BuildDownloadUrl( | |
252 | tree->current_period_->adaptationSets_[0] | |
253 | ->representations_[0] | |
254 | ->source_url_); // https://baz.qux/hls/video/stream_name/ts_aes_uriwithslash_chunklist.m3u8 | |
255 | adaptive::HLSTree::PREPARE_RESULT res = OpenTestFileVariant( | |
256 | "hls/ts_aes_keyurirelative_stream_0.m3u8", | |
257 | var_download_url, | |
258 | tree->current_period_, | |
259 | tree->current_adaptationset_, | |
260 | tree->current_representation_); | |
261 | ||
262 | std::string pssh_url = tree->BuildDownloadUrl(tree->current_period_->psshSets_[1].pssh_); | |
263 | EXPECT_EQ(res, adaptive::HLSTree::PREPARE_RESULT_OK); | |
264 | EXPECT_EQ(tree->base_url_, "https://baz.qux/hls/video/stream_name/"); | |
265 | EXPECT_EQ(pssh_url, | |
266 | "https://foo.bar/hls/video/stream_name/../../key/key.php?stream=stream_name"); | |
267 | } |
0 | #include "TestHelper.h" | |
1 | ||
2 | std::string testHelper::testFile; | |
3 | std::string testHelper::effectiveUrl; | |
4 | std::string testHelper::lastDownloadUrl; | |
5 | ||
6 | void Log(const LogLevel loglevel, const char* format, ...){} | |
7 | ||
8 | std::string GetEnv(const std::string& var) | |
9 | { | |
10 | const char* val = std::getenv(var.c_str()); | |
11 | if (val == nullptr) | |
12 | return ""; | |
13 | else | |
14 | return val; | |
15 | } | |
16 | ||
17 | void SetFileName(std::string& file, std::string name) | |
18 | { | |
19 | file = GetEnv("DATADIR") + "/" + name; | |
20 | } | |
21 | ||
22 | bool adaptive::AdaptiveTree::download(const char* url, | |
23 | const std::map<std::string, std::string>& manifestHeaders, | |
24 | void* opaque, | |
25 | bool scanEffectiveURL) | |
26 | { | |
27 | FILE* f = fopen(testHelper::testFile.c_str(), "rb"); | |
28 | if (!f) | |
29 | return false; | |
30 | ||
31 | if (scanEffectiveURL && !testHelper::effectiveUrl.empty()) | |
32 | SetEffectiveURL(testHelper::effectiveUrl); | |
33 | ||
34 | // read the file | |
35 | static const unsigned int CHUNKSIZE = 16384; | |
36 | char buf[CHUNKSIZE]; | |
37 | size_t nbRead; | |
38 | ||
39 | while ((nbRead = fread(buf, 1, CHUNKSIZE, f)) > 0 && ~nbRead && write_data(buf, nbRead, opaque)) | |
40 | ; | |
41 | ||
42 | fclose(f); | |
43 | ||
44 | SortTree(); | |
45 | return nbRead == 0; | |
46 | } | |
47 | ||
48 | bool TestAdaptiveStream::download(const char* url, | |
49 | const std::map<std::string, std::string>& mediaHeaders) | |
50 | { | |
51 | testHelper::lastDownloadUrl = url; | |
52 | size_t nbRead = ~0UL; | |
53 | std::stringstream ss("Sixteen bytes!!!"); | |
54 | ||
55 | char buf[16]; | |
56 | size_t nbReadOverall = 0; | |
57 | while ((nbRead = ss.readsome(buf, 16)) > 0 && ~nbRead && write_data(buf, nbRead)) | |
58 | nbReadOverall += nbRead; | |
59 | ||
60 | if (!nbReadOverall) | |
61 | { | |
62 | return false; | |
63 | } | |
64 | ||
65 | return nbRead == 0; | |
66 | } | |
67 | ||
68 | void AESDecrypter::decrypt(const AP4_UI08* aes_key, | |
69 | const AP4_UI08* aes_iv, | |
70 | const AP4_UI08* src, | |
71 | AP4_UI08* dst, | |
72 | size_t dataSize){} | |
73 | ||
74 | std::string AESDecrypter::convertIV(const std::string& input) | |
75 | { | |
76 | std::string result; | |
77 | return result; | |
78 | } | |
79 | ||
80 | void AESDecrypter::ivFromSequence(uint8_t* buffer, uint64_t sid){} | |
81 | ||
82 | bool AESDecrypter::RenewLicense(const std::string& pluginUrl){return false;} | |
83 | ||
84 | DASHTestTree::DASHTestTree(){} |
0 | #include "../Iaes_decrypter.h" | |
1 | #include "../log.h" | |
2 | #include "../common/AdaptiveStream.h" | |
3 | #include "../parser/DASHTree.h" | |
4 | #include "../parser/HLSTree.h" | |
5 | ||
6 | std::string GetEnv(const std::string& var); | |
7 | void SetFileName(std::string& file, const std::string name); | |
8 | void Log(const LogLevel loglevel, const char* format, ...); | |
9 | ||
10 | class testHelper | |
11 | { | |
12 | public: | |
13 | static std::string testFile; | |
14 | static std::string effectiveUrl; | |
15 | static std::string lastDownloadUrl; | |
16 | }; | |
17 | ||
18 | class TestAdaptiveStream : public adaptive::AdaptiveStream | |
19 | { | |
20 | public: | |
21 | TestAdaptiveStream(adaptive::AdaptiveTree& tree, adaptive::AdaptiveTree::StreamType type) | |
22 | : adaptive::AdaptiveStream(tree, type){}; | |
23 | ||
24 | protected: | |
25 | virtual bool download(const char* url, | |
26 | const std::map<std::string, std::string>& mediaHeaders) override; | |
27 | }; | |
28 | ||
29 | class AESDecrypter : public IAESDecrypter | |
30 | { | |
31 | public: | |
32 | AESDecrypter(const std::string& licenseKey) : m_licenseKey(licenseKey){}; | |
33 | virtual ~AESDecrypter() = default; | |
34 | ||
35 | void decrypt(const AP4_UI08* aes_key, | |
36 | const AP4_UI08* aes_iv, | |
37 | const AP4_UI08* src, | |
38 | AP4_UI08* dst, | |
39 | size_t dataSize); | |
40 | std::string convertIV(const std::string& input); | |
41 | void ivFromSequence(uint8_t* buffer, uint64_t sid); | |
42 | const std::string& getLicenseKey() const { return m_licenseKey; }; | |
43 | bool RenewLicense(const std::string& pluginUrl); | |
44 | ||
45 | private: | |
46 | std::string m_licenseKey; | |
47 | }; | |
48 | ||
49 | class DASHTestTree : public adaptive::DASHTree | |
50 | { | |
51 | public: | |
52 | uint64_t mock_time = 10000000L; | |
53 | DASHTestTree(); | |
54 | uint64_t GetNowTime() override { return mock_time; } | |
55 | }; |
0 | #include "gtest/gtest.h" | |
1 | ||
2 | int main(int argc, char** argv) | |
3 | { | |
4 | ::testing::InitGoogleTest(&argc, argv); | |
5 | std::vector<std::string> args(argv + 1, argv + argc); | |
6 | #ifdef _WIN32 | |
7 | _putenv_s("DATADIR", args[0].c_str()); | |
8 | #else | |
9 | setenv("DATADIR", args[0].c_str(), 1); | |
10 | #endif | |
11 | return RUN_ALL_TESTS(); | |
12 | } |
0 | #EXTM3U | |
1 | #EXT-X-VERSION:7 | |
2 | #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="group_aud_low",NAME="audio_0",DEFAULT=YES,URI="stream_0/out.m3u8" | |
3 | #EXT-X-STREAM-INF:BANDWIDTH=1170400,RESOLUTION=1280x720,CODECS="avc1.64001f,mp4a.40.2",AUDIO="group_aud_low" | |
4 | stream_1/out.m3u8 | |
5 | ||
6 | #EXT-X-STREAM-INF:BANDWIDTH=774400,RESOLUTION=1280x720,CODECS="avc1.64001f,mp4a.40.2",AUDIO="group_aud_low" | |
7 | stream_2/out.m3u8 |
0 | #EXTM3U | |
1 | #EXT-X-VERSION:3 | |
2 | #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2119734,CODECS="avc1.77.31, mp4a.40.2",RESOLUTION=960x540 | |
3 | ts_aes_uriwithslash_chunklist.m3u8 |
0 | #EXTM3U | |
1 | #EXT-X-VERSION:7 | |
2 | #EXT-X-TARGETDURATION:2 | |
3 | #EXT-X-MEDIA-SEQUENCE:0 | |
4 | #EXT-X-PLAYLIST-TYPE:VOD | |
5 | #EXT-X-MAP:URI="init_0.m4s" | |
6 | #EXTINF:2.005333, | |
7 | seg_000.m4s | |
8 | #EXTINF:2.005333, | |
9 | seg_001.m4s | |
10 | #EXTINF:2.005333, | |
11 | seg_002.m4s | |
12 | #EXTINF:1.984000, | |
13 | seg_003.m4s | |
14 | #EXTINF:2.005333, | |
15 | seg_004.m4s | |
16 | #EXTINF:2.005333, | |
17 | seg_005.m4s | |
18 | #EXTINF:2.005333, | |
19 | seg_006.m4s | |
20 | #EXTINF:1.984000, | |
21 | seg_007.m4s | |
22 | #EXTINF:2.005333, | |
23 | seg_008.m4s | |
24 | #EXTINF:2.005333, | |
25 | seg_009.m4s | |
26 | #EXTINF:2.005333, | |
27 | seg_010.m4s | |
28 | #EXTINF:1.984000, | |
29 | seg_011.m4s | |
30 | #EXTINF:2.005333, | |
31 | seg_012.m4s | |
32 | #EXTINF:2.005333, | |
33 | seg_013.m4s | |
34 | #EXTINF:2.005333, | |
35 | seg_014.m4s | |
36 | #EXTINF:1.984000, | |
37 | seg_015.m4s | |
38 | #EXTINF:2.005333, | |
39 | seg_016.m4s | |
40 | #EXTINF:2.005333, | |
41 | seg_017.m4s | |
42 | #EXTINF:2.005333, | |
43 | seg_018.m4s | |
44 | #EXTINF:1.984000, | |
45 | seg_019.m4s | |
46 | #EXTINF:2.005333, | |
47 | seg_020.m4s | |
48 | #EXTINF:2.005333, | |
49 | seg_021.m4s | |
50 | #EXTINF:2.005333, | |
51 | seg_022.m4s | |
52 | #EXTINF:1.984000, | |
53 | seg_023.m4s | |
54 | #EXTINF:2.005333, | |
55 | seg_024.m4s | |
56 | #EXTINF:2.005333, | |
57 | seg_025.m4s | |
58 | #EXTINF:2.005333, | |
59 | seg_026.m4s | |
60 | #EXTINF:1.984000, | |
61 | seg_027.m4s | |
62 | #EXTINF:2.005333, | |
63 | seg_028.m4s | |
64 | #EXTINF:2.005333, | |
65 | seg_029.m4s | |
66 | #EXTINF:2.005333, | |
67 | seg_030.m4s | |
68 | #EXTINF:1.984000, | |
69 | seg_031.m4s | |
70 | #EXTINF:2.005333, | |
71 | seg_032.m4s | |
72 | #EXTINF:2.005333, | |
73 | seg_033.m4s | |
74 | #EXTINF:2.005333, | |
75 | seg_034.m4s | |
76 | #EXTINF:1.984000, | |
77 | seg_035.m4s | |
78 | #EXTINF:2.005333, | |
79 | seg_036.m4s | |
80 | #EXTINF:2.005333, | |
81 | seg_037.m4s | |
82 | #EXTINF:2.005333, | |
83 | seg_038.m4s | |
84 | #EXTINF:1.984000, | |
85 | seg_039.m4s | |
86 | #EXTINF:2.005333, | |
87 | seg_040.m4s | |
88 | #EXTINF:2.005333, | |
89 | seg_041.m4s | |
90 | #EXTINF:2.005333, | |
91 | seg_042.m4s | |
92 | #EXTINF:1.984000, | |
93 | seg_043.m4s | |
94 | #EXTINF:2.005333, | |
95 | seg_044.m4s | |
96 | #EXTINF:2.005333, | |
97 | seg_045.m4s | |
98 | #EXTINF:2.005333, | |
99 | seg_046.m4s | |
100 | #EXTINF:1.984000, | |
101 | seg_047.m4s | |
102 | #EXTINF:2.005333, | |
103 | seg_048.m4s | |
104 | #EXTINF:2.005333, | |
105 | seg_049.m4s | |
106 | #EXTINF:2.005333, | |
107 | seg_050.m4s | |
108 | #EXTINF:1.984000, | |
109 | seg_051.m4s | |
110 | #EXTINF:2.005333, | |
111 | seg_052.m4s | |
112 | #EXTINF:2.005333, | |
113 | seg_053.m4s | |
114 | #EXTINF:2.005333, | |
115 | seg_054.m4s | |
116 | #EXTINF:1.984000, | |
117 | seg_055.m4s | |
118 | #EXTINF:2.005333, | |
119 | seg_056.m4s | |
120 | #EXTINF:2.005333, | |
121 | seg_057.m4s | |
122 | #EXTINF:2.005333, | |
123 | seg_058.m4s | |
124 | #EXTINF:1.984000, | |
125 | seg_059.m4s | |
126 | #EXTINF:2.005333, | |
127 | seg_060.m4s | |
128 | #EXTINF:2.005333, | |
129 | seg_061.m4s | |
130 | #EXTINF:2.005333, | |
131 | seg_062.m4s | |
132 | #EXTINF:1.984000, | |
133 | seg_063.m4s | |
134 | #EXTINF:2.005333, | |
135 | seg_064.m4s | |
136 | #EXTINF:2.005333, | |
137 | seg_065.m4s | |
138 | #EXTINF:2.005333, | |
139 | seg_066.m4s | |
140 | #EXTINF:1.984000, | |
141 | seg_067.m4s | |
142 | #EXTINF:2.005333, | |
143 | seg_068.m4s | |
144 | #EXTINF:2.005333, | |
145 | seg_069.m4s | |
146 | #EXTINF:2.005333, | |
147 | seg_070.m4s | |
148 | #EXTINF:1.984000, | |
149 | seg_071.m4s | |
150 | #EXTINF:2.005333, | |
151 | seg_072.m4s | |
152 | #EXTINF:2.005333, | |
153 | seg_073.m4s | |
154 | #EXTINF:2.005333, | |
155 | seg_074.m4s | |
156 | #EXTINF:1.984000, | |
157 | seg_075.m4s | |
158 | #EXTINF:2.005333, | |
159 | seg_076.m4s | |
160 | #EXTINF:2.005333, | |
161 | seg_077.m4s | |
162 | #EXTINF:2.005333, | |
163 | seg_078.m4s | |
164 | #EXTINF:1.984000, | |
165 | seg_079.m4s | |
166 | #EXTINF:2.005333, | |
167 | seg_080.m4s | |
168 | #EXTINF:2.005333, | |
169 | seg_081.m4s | |
170 | #EXTINF:2.005333, | |
171 | seg_082.m4s | |
172 | #EXTINF:1.984000, | |
173 | seg_083.m4s | |
174 | #EXTINF:2.005333, | |
175 | seg_084.m4s | |
176 | #EXTINF:0.874667, | |
177 | seg_085.m4s | |
178 | #EXT-X-ENDLIST |
0 | #EXTM3U | |
1 | #EXT-X-VERSION:7 | |
2 | #EXT-X-TARGETDURATION:10 | |
3 | #EXT-X-MEDIA-SEQUENCE:0 | |
4 | #EXT-X-PLAYLIST-TYPE:VOD | |
5 | #EXT-X-MAP:URI="init_1.m4s" | |
6 | #EXTINF:8.400000, | |
7 | seg_000.m4s | |
8 | #EXTINF:4.560000, | |
9 | seg_001.m4s | |
10 | #EXTINF:3.120000, | |
11 | seg_002.m4s | |
12 | #EXTINF:5.640000, | |
13 | seg_003.m4s | |
14 | #EXTINF:1.880000, | |
15 | seg_004.m4s | |
16 | #EXTINF:2.160000, | |
17 | seg_005.m4s | |
18 | #EXTINF:2.080000, | |
19 | seg_006.m4s | |
20 | #EXTINF:4.400000, | |
21 | seg_007.m4s | |
22 | #EXTINF:9.800000, | |
23 | seg_008.m4s | |
24 | #EXTINF:1.680000, | |
25 | seg_009.m4s | |
26 | #EXTINF:8.320000, | |
27 | seg_010.m4s | |
28 | #EXTINF:4.160000, | |
29 | seg_011.m4s | |
30 | #EXTINF:8.760000, | |
31 | seg_012.m4s | |
32 | #EXTINF:5.280000, | |
33 | seg_013.m4s | |
34 | #EXTINF:2.920000, | |
35 | seg_014.m4s | |
36 | #EXTINF:2.600000, | |
37 | seg_015.m4s | |
38 | #EXTINF:3.400000, | |
39 | seg_016.m4s | |
40 | #EXTINF:10.000000, | |
41 | seg_017.m4s | |
42 | #EXTINF:9.520000, | |
43 | seg_018.m4s | |
44 | #EXTINF:2.720000, | |
45 | seg_019.m4s | |
46 | #EXTINF:6.920000, | |
47 | seg_020.m4s | |
48 | #EXTINF:4.800000, | |
49 | seg_021.m4s | |
50 | #EXTINF:1.480000, | |
51 | seg_022.m4s | |
52 | #EXTINF:1.000000, | |
53 | seg_023.m4s | |
54 | #EXTINF:2.920000, | |
55 | seg_024.m4s | |
56 | #EXTINF:1.800000, | |
57 | seg_025.m4s | |
58 | #EXTINF:1.520000, | |
59 | seg_026.m4s | |
60 | #EXTINF:6.600000, | |
61 | seg_027.m4s | |
62 | #EXTINF:1.600000, | |
63 | seg_028.m4s | |
64 | #EXTINF:2.760000, | |
65 | seg_029.m4s | |
66 | #EXTINF:5.440000, | |
67 | seg_030.m4s | |
68 | #EXTINF:3.400000, | |
69 | seg_031.m4s | |
70 | #EXTINF:2.840000, | |
71 | seg_032.m4s | |
72 | #EXTINF:2.480000, | |
73 | seg_033.m4s | |
74 | #EXTINF:1.040000, | |
75 | seg_034.m4s | |
76 | #EXTINF:1.200000, | |
77 | seg_035.m4s | |
78 | #EXTINF:2.920000, | |
79 | seg_036.m4s | |
80 | #EXTINF:4.360000, | |
81 | seg_037.m4s | |
82 | #EXTINF:1.720000, | |
83 | seg_038.m4s | |
84 | #EXTINF:1.560000, | |
85 | seg_039.m4s | |
86 | #EXTINF:1.400000, | |
87 | seg_040.m4s | |
88 | #EXTINF:2.760000, | |
89 | seg_041.m4s | |
90 | #EXTINF:2.160000, | |
91 | seg_042.m4s | |
92 | #EXTINF:4.760000, | |
93 | seg_043.m4s | |
94 | #EXT-X-ENDLIST |
0 | #EXTM3U | |
1 | #EXT-X-VERSION:7 | |
2 | #EXT-X-TARGETDURATION:10 | |
3 | #EXT-X-MEDIA-SEQUENCE:0 | |
4 | #EXT-X-PLAYLIST-TYPE:VOD | |
5 | #EXT-X-MAP:URI="init_2.m4s" | |
6 | #EXTINF:8.400000, | |
7 | seg_000.m4s | |
8 | #EXTINF:4.560000, | |
9 | seg_001.m4s | |
10 | #EXTINF:3.120000, | |
11 | seg_002.m4s | |
12 | #EXTINF:5.640000, | |
13 | seg_003.m4s | |
14 | #EXTINF:1.880000, | |
15 | seg_004.m4s | |
16 | #EXTINF:2.160000, | |
17 | seg_005.m4s | |
18 | #EXTINF:2.080000, | |
19 | seg_006.m4s | |
20 | #EXTINF:4.400000, | |
21 | seg_007.m4s | |
22 | #EXTINF:9.800000, | |
23 | seg_008.m4s | |
24 | #EXTINF:1.680000, | |
25 | seg_009.m4s | |
26 | #EXTINF:8.320000, | |
27 | seg_010.m4s | |
28 | #EXTINF:4.160000, | |
29 | seg_011.m4s | |
30 | #EXTINF:8.760000, | |
31 | seg_012.m4s | |
32 | #EXTINF:5.280000, | |
33 | seg_013.m4s | |
34 | #EXTINF:2.920000, | |
35 | seg_014.m4s | |
36 | #EXTINF:2.600000, | |
37 | seg_015.m4s | |
38 | #EXTINF:3.400000, | |
39 | seg_016.m4s | |
40 | #EXTINF:10.000000, | |
41 | seg_017.m4s | |
42 | #EXTINF:9.520000, | |
43 | seg_018.m4s | |
44 | #EXTINF:2.720000, | |
45 | seg_019.m4s | |
46 | #EXTINF:6.920000, | |
47 | seg_020.m4s | |
48 | #EXTINF:4.800000, | |
49 | seg_021.m4s | |
50 | #EXTINF:1.480000, | |
51 | seg_022.m4s | |
52 | #EXTINF:1.000000, | |
53 | seg_023.m4s | |
54 | #EXTINF:2.920000, | |
55 | seg_024.m4s | |
56 | #EXTINF:1.800000, | |
57 | seg_025.m4s | |
58 | #EXTINF:1.520000, | |
59 | seg_026.m4s | |
60 | #EXTINF:6.600000, | |
61 | seg_027.m4s | |
62 | #EXTINF:1.600000, | |
63 | seg_028.m4s | |
64 | #EXTINF:2.760000, | |
65 | seg_029.m4s | |
66 | #EXTINF:5.440000, | |
67 | seg_030.m4s | |
68 | #EXTINF:3.400000, | |
69 | seg_031.m4s | |
70 | #EXTINF:2.840000, | |
71 | seg_032.m4s | |
72 | #EXTINF:2.480000, | |
73 | seg_033.m4s | |
74 | #EXTINF:1.040000, | |
75 | seg_034.m4s | |
76 | #EXTINF:1.200000, | |
77 | seg_035.m4s | |
78 | #EXTINF:2.920000, | |
79 | seg_036.m4s | |
80 | #EXTINF:4.360000, | |
81 | seg_037.m4s | |
82 | #EXTINF:1.720000, | |
83 | seg_038.m4s | |
84 | #EXTINF:1.560000, | |
85 | seg_039.m4s | |
86 | #EXTINF:1.400000, | |
87 | seg_040.m4s | |
88 | #EXTINF:2.760000, | |
89 | seg_041.m4s | |
90 | #EXTINF:2.160000, | |
91 | seg_042.m4s | |
92 | #EXTINF:4.760000, | |
93 | seg_043.m4s | |
94 | #EXT-X-ENDLIST |
0 | #EXTM3U | |
1 | #EXT-X-VERSION:3 | |
2 | #EXT-X-INDEPENDENT-SEGMENTS | |
3 | #EXT-X-STREAM-INF:BANDWIDTH=582476,AVERAGE-BANDWIDTH=581432,RESOLUTION=480x270,FRAME-RATE=25.000,CODECS="avc1.42C015,mp4a.40.2" | |
4 | https://bit.ly/abcd |
0 | #EXTM3U | |
1 | #EXT-X-VERSION:3 | |
2 | #EXT-X-ALLOW-CACHE:NO | |
3 | #EXT-X-TARGETDURATION:12 | |
4 | #EXT-X-MEDIA-SEQUENCE:80 | |
5 | #EXT-X-KEY:METHOD=AES-128,URI="https://foo.bar/hls/key/key.php?stream=stream_name" | |
6 | #EXTINF:9.966, | |
7 | media-abc_80.ts | |
8 | #EXTINF:9.967, | |
9 | media-abc_81.ts | |
10 | #EXTINF:9.567, | |
11 | media-abc_82.ts | |
12 | #EXTINF:10.8, | |
13 | media-abc_83.ts | |
14 | #EXTINF:9.033, | |
15 | media-abc_84.ts | |
16 | #EXTINF:10.0, | |
17 | media-abc_85.ts |
0 | #EXTM3U | |
1 | #EXT-X-VERSION:3 | |
2 | #EXT-X-ALLOW-CACHE:NO | |
3 | #EXT-X-TARGETDURATION:12 | |
4 | #EXT-X-MEDIA-SEQUENCE:80 | |
5 | #EXT-X-KEY:METHOD=AES-128,URI="../../key/key.php?stream=stream_name" | |
6 | #EXTINF:9.966, | |
7 | media-abc_80.ts | |
8 | #EXTINF:9.967, | |
9 | media-abc_81.ts | |
10 | #EXTINF:9.567, | |
11 | media-abc_82.ts | |
12 | #EXTINF:10.8, | |
13 | media-abc_83.ts | |
14 | #EXTINF:9.033, | |
15 | media-abc_84.ts | |
16 | #EXTINF:10.0, | |
17 | media-abc_85.ts |
0 | #EXTM3U | |
1 | #EXT-X-VERSION:3 | |
2 | #EXT-X-ALLOW-CACHE:NO | |
3 | #EXT-X-TARGETDURATION:12 | |
4 | #EXT-X-MEDIA-SEQUENCE:80 | |
5 | #EXT-X-KEY:METHOD=AES-128,URI="/hls/key/key.php?stream=stream_name" | |
6 | #EXTINF:9.966, | |
7 | media-abc_80.ts | |
8 | #EXTINF:9.967, | |
9 | media-abc_81.ts | |
10 | #EXTINF:9.567, | |
11 | media-abc_82.ts | |
12 | #EXTINF:10.8, | |
13 | media-abc_83.ts | |
14 | #EXTINF:9.033, | |
15 | media-abc_84.ts | |
16 | #EXTINF:10.0, | |
17 | media-abc_85.ts |
0 | <?xml version="1.0" encoding="utf-8"?> | |
1 | <MPD _xmlns:ns2="http://www.w3.org/1999/xlink" mediaPresentationDuration="PT1H45M47.904S" minBufferTime="PT10S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" type="static" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:_xmlns="xmlns"> | |
2 | <Period duration="PT1H45M47.904S"> | |
3 | <AdaptationSet contentType="video" frameRate="24000/1001"> | |
4 | <Representation bandwidth="3203000" codecs="avc1.4D401F" height="544" id="video=2492922" scanType="progressive" width="1280"> | |
5 | <BaseURL>video/23.98p/r0/vid01.mp4</BaseURL> | |
6 | <SegmentBase indexRange="1796-20859" indexRangeExact="true" timescale="24000" xmlns="urn:mpeg:dash:schema:mpd:2011"> | |
7 | <Initialization range="0-1795"/> | |
8 | </SegmentBase> | |
9 | </Representation> | |
10 | </AdaptationSet> | |
11 | <AdaptationSet contentType="video" frameRate="30"> | |
12 | <Representation bandwidth="270000" codecs="avc1.4D400D" height="176" id="video=199197" scanType="progressive" width="416"> | |
13 | <BaseURL>video/23.98p/r0/vid02.mp4</BaseURL> | |
14 | <SegmentBase indexRange="1792-20855" indexRangeExact="true" timescale="24000" xmlns="urn:mpeg:dash:schema:mpd:2011"> | |
15 | <Initialization range="0-1791"/> | |
16 | </SegmentBase> | |
17 | </Representation> | |
18 | </AdaptationSet> | |
19 | <AdaptationSet contentType="video"> | |
20 | <Representation bandwidth="270000" codecs="avc1.4D400D" height="176" id="video=199197" scanType="progressive" width="416" frameRate="25"> | |
21 | <BaseURL>video/23.98p/r0/vid03.mp4</BaseURL> | |
22 | <SegmentBase indexRange="1792-20855" indexRangeExact="true" timescale="24000" xmlns="urn:mpeg:dash:schema:mpd:2011"> | |
23 | <Initialization range="0-1791"/> | |
24 | </SegmentBase> | |
25 | </Representation> | |
26 | </AdaptationSet> | |
27 | <AdaptationSet contentType="video"> | |
28 | <Representation bandwidth="270000" codecs="avc1.4D400D" height="176" id="video=199197" scanType="progressive" width="416" frameRate="25000/1000"> | |
29 | <BaseURL>video/23.98p/r0/vid04.mp4</BaseURL> | |
30 | <SegmentBase indexRange="1792-20855" indexRangeExact="true" timescale="24000" xmlns="urn:mpeg:dash:schema:mpd:2011"> | |
31 | <Initialization range="0-1791"/> | |
32 | </SegmentBase> | |
33 | </Representation> | |
34 | </AdaptationSet> | |
35 | <AdaptationSet contentType="video" frameRate="30"> | |
36 | <Representation bandwidth="270000" codecs="avc1.4D400D" height="176" id="video=199197" scanType="progressive" width="416" frameRate="25"> | |
37 | <BaseURL>video/23.98p/r0/vid05.mp4</BaseURL> | |
38 | <SegmentBase indexRange="1792-20855" indexRangeExact="true" timescale="24000" xmlns="urn:mpeg:dash:schema:mpd:2011"> | |
39 | <Initialization range="0-1791"/> | |
40 | </SegmentBase> | |
41 | </Representation> | |
42 | </AdaptationSet> | |
43 | <AdaptationSet contentType="video" frameRate="24000/1001"> | |
44 | <Representation bandwidth="270000" codecs="avc1.4D400D" height="176" id="video=199197" scanType="progressive" width="416" frameRate="30"> | |
45 | <BaseURL>video/23.98p/r0/vid05.mp4</BaseURL> | |
46 | <SegmentBase indexRange="1792-20855" indexRangeExact="true" timescale="24000" xmlns="urn:mpeg:dash:schema:mpd:2011"> | |
47 | <Initialization range="0-1791"/> | |
48 | </SegmentBase> | |
49 | </Representation> | |
50 | </AdaptationSet> | |
51 | <AdaptationSet contentType="video" frameRate="24000/1001"> | |
52 | <Representation bandwidth="270000" codecs="avc1.4D400D" height="176" id="video=199197" scanType="progressive" width="416" frameRate="25000/1000"> | |
53 | <BaseURL>video/23.98p/r0/vid05.mp4</BaseURL> | |
54 | <SegmentBase indexRange="1792-20855" indexRangeExact="true" timescale="24000" xmlns="urn:mpeg:dash:schema:mpd:2011"> | |
55 | <Initialization range="0-1791"/> | |
56 | </SegmentBase> | |
57 | </Representation> | |
58 | </AdaptationSet> | |
59 | </Period> | |
60 | </MPD> |
0 | <?xml version="1.0" ?> | |
1 | <!-- Just In Time Delivered by Quortex Solution --> | |
2 | <MPD availabilityStartTime="1970-01-01T00:00:06Z" minBufferTime="PT6S" minimumUpdatePeriod="PT6S" profiles="urn:mpeg:dash:profile:isoff-live:2011,urn:hbbtv:dash:profile:isoff-live:2012" publishTime="2020-06-07T11:59:55Z" suggestedPresentationDelay="PT12S" timeShiftBufferDepth="PT1M18S" type="dynamic" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"> | |
3 | <Period id="0" start="PT1588628086S"> | |
4 | <AdaptationSet id="1" contentType="video" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
5 | <SegmentTemplate initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/segment_$Number$.m4s" startNumber="487050" timescale="90000"> | |
6 | <SegmentTimeline> | |
7 | <S d="540000" r="12" t="263007000000"/> | |
8 | </SegmentTimeline> | |
9 | </SegmentTemplate> | |
10 | <Representation bandwidth="300000" codecs="avc1.42001e" frameRate="25" height="224" id="videosd-400x224" sar="224:225" scanType="progressive" width="400"></Representation> | |
11 | </AdaptationSet> | |
12 | <AdaptationSet id="2" contentType="video" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
13 | <SegmentTemplate initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/segment_$Number%08d$.m4s" startNumber="487050" timescale="90000"> | |
14 | <SegmentTimeline> | |
15 | <S d="540000" r="12" t="263007000000"/> | |
16 | </SegmentTimeline> | |
17 | </SegmentTemplate> | |
18 | <Representation bandwidth="300000" codecs="avc1.42001e" frameRate="25" height="224" id="videosd-400x224" sar="224:225" scanType="progressive" width="400"></Representation> | |
19 | </AdaptationSet> | |
20 | <AdaptationSet id="3" contentType="video" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
21 | <SegmentTemplate initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/segment_$Time$.m4s" startNumber="487050" timescale="90000"> | |
22 | <SegmentTimeline> | |
23 | <S d="540000" r="12" t="263007000000"/> | |
24 | </SegmentTimeline> | |
25 | </SegmentTemplate> | |
26 | <Representation bandwidth="300000" codecs="avc1.42001e" frameRate="25" height="224" id="videosd-400x224" sar="224:225" scanType="progressive" width="400"></Representation> | |
27 | </AdaptationSet> | |
28 | <AdaptationSet id="4" contentType="video" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
29 | <SegmentTemplate initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/segment_$Time%014llu$" startNumber="487050" timescale="90000"> | |
30 | <SegmentTimeline> | |
31 | <S d="540000" r="12" t="263007000000"/> | |
32 | </SegmentTimeline> | |
33 | </SegmentTemplate> | |
34 | <Representation bandwidth="300000" codecs="avc1.42001e" frameRate="25" height="224" id="videosd-400x224" sar="224:225" scanType="progressive" width="400"></Representation> | |
35 | </AdaptationSet> | |
36 | <AdaptationSet id="5" contentType="video" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
37 | <SegmentTemplate initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/segment_$Number$.m4s?t=$Time$" startNumber="487050" timescale="90000"> | |
38 | <SegmentTimeline> | |
39 | <S d="540000" r="12" t="263007000000"/> | |
40 | </SegmentTimeline> | |
41 | </SegmentTemplate> | |
42 | <Representation bandwidth="300000" codecs="avc1.42001e" frameRate="25" height="224" id="videosd-400x224" sar="224:225" scanType="progressive" width="400"></Representation> | |
43 | </AdaptationSet> | |
44 | <AdaptationSet id="6" contentType="video" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
45 | <SegmentTemplate initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/segment_$Number%08d$.m4s?t=$Time%014llu$" startNumber="487050" timescale="90000"> | |
46 | <SegmentTimeline> | |
47 | <S d="540000" r="12" t="263007000000"/> | |
48 | </SegmentTimeline> | |
49 | </SegmentTemplate> | |
50 | <Representation bandwidth="300000" codecs="avc1.42001e" frameRate="25" height="224" id="videosd-400x224" sar="224:225" scanType="progressive" width="400"></Representation> | |
51 | </AdaptationSet> | |
52 | <AdaptationSet id="7" contentType="video" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
53 | <SegmentTemplate initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/segment.m4s" startNumber="487050" timescale="90000"> | |
54 | <SegmentTimeline> | |
55 | <S d="540000" r="12" t="263007000000"/> | |
56 | </SegmentTimeline> | |
57 | </SegmentTemplate> | |
58 | <Representation bandwidth="300000" codecs="avc1.42001e" frameRate="25" height="224" id="videosd-400x224" sar="224:225" scanType="progressive" width="400"></Representation> | |
59 | </AdaptationSet> | |
60 | </Period> | |
61 | </MPD> |
0 | <?xml version="1.0" encoding="UTF-8"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:_xmlns="xmlns" _xmlns:cenc="urn:mpeg:cenc:2013" minBufferTime="PT2S" type="static" mediaPresentationDuration="PT14528.0556640625S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011"> | |
2 | <Period id="0"> | |
3 | <AdaptationSet id="0" contentType="video"> | |
4 | <Role value="main" schemeIdUri="urn:mpeg:dash:role:2011"/> | |
5 | <Representation id="0" bandwidth="664362" width="416" height="234" codecs="avc1.4d400d" mimeType="video/mp4" sar="1:1"> | |
6 | <BaseURL>v/v30_cenc.mp4</BaseURL> | |
7 | <SegmentBase xmlns="urn:mpeg:dash:schema:mpd:2011" indexRange="1478-45093" timescale="24000"> | |
8 | <Initialization xmlns="urn:mpeg:dash:schema:mpd:2011" range="0-1477"/> | |
9 | </SegmentBase> | |
10 | </Representation> | |
11 | <ContentProtection xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:_="urn:mpeg:cenc:2013" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" _:default_KID="0101f49e-117c-ec8e-d606-27d7cb46ae38"/> | |
12 | <ContentProtection xmlns="urn:mpeg:dash:schema:mpd:2011" schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
13 | <pssh xmlns="urn:mpeg:cenc:2013">ABCDEFGH</pssh> | |
14 | </ContentProtection> | |
15 | </AdaptationSet> | |
16 | <AdaptationSet id="1" contentType="video"> | |
17 | <Role value="main" schemeIdUri="urn:mpeg:dash:role:2011"/> | |
18 | <Representation id="0" bandwidth="664362" width="416" height="234" codecs="avc1.4d400d" mimeType="video/mp4" sar="1:1"> | |
19 | <BaseURL>v/v31_cenc.mp4</BaseURL> | |
20 | <SegmentBase xmlns="urn:mpeg:dash:schema:mpd:2011" indexRange="1478-45093" timescale="24000"> | |
21 | <Initialization xmlns="urn:mpeg:dash:schema:mpd:2011" range="0-1477"/> | |
22 | </SegmentBase> | |
23 | </Representation> | |
24 | <ContentProtection xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:_="urn:mpeg:cenc:2013" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="01004b6f-0835-b807-9098-c070dc30a6c7"/> | |
25 | <ContentProtection xmlns="urn:mpeg:dash:schema:mpd:2011" schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
26 | <cenc:pssh xmlns="urn:mpeg:cenc:2013">HGFEDCBA</cenc:pssh> | |
27 | </ContentProtection> | |
28 | </AdaptationSet> | |
29 | </Period> | |
30 | </MPD> |
0 | <?xml version="1.0" encoding="UTF-8"?> | |
1 | <MPD profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" type="static" mediaPresentationDuration="PT5.024S" minBufferTime="PT10S" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:_xmlns="xmlns" _xmlns:ns2="http://www.w3.org/1999/xlink"> | |
2 | <Period duration="PT5.024S"> | |
3 | <AdaptationSet id="1" group="1" lang="en-US" contentType="audio" mimeType="audio/mp4" codecs="mp4a.40.2" segmentAlignment="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1" audioSamplingRate="48000" startWithSAP="1"> | |
4 | <Representation id="audio_en-US=128000" bandwidth="129000"> | |
5 | <BaseURL>audio/program/en-US/2.0/r0/aac-128k.mp4</BaseURL> | |
6 | <SegmentBase xmlns="urn:mpeg:dash:schema:mpd:2011" timescale="48000" indexRange="768-823" indexRangeExact="true"> | |
7 | <Initialization range="0-767"/> | |
8 | </SegmentBase> | |
9 | </Representation> | |
10 | <AudioChannelConfiguration value="2" schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011"/> | |
11 | <Role value="main" schemeIdUri="urn:mpeg:dash:role:2011"/> | |
12 | </AdaptationSet> | |
13 | <AdaptationSet id="2" group="2" contentType="video" mimeType="video/mp4" minBandwidth="413000" maxBandwidth="7744000" maxWidth="1920" maxHeight="1080" par="16:9" segmentAlignment="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1" sar="1:1" frameRate="24000/1001" startWithSAP="1"> | |
14 | <Representation id="video=8154811" bandwidth="7744000" width="1920" height="1080" codecs="avc1.640028" scanType="progressive"> | |
15 | <BaseURL>video/23.98p/r0/vid10.mp4</BaseURL> | |
16 | <SegmentBase xmlns="urn:mpeg:dash:schema:mpd:2011" timescale="24000" indexRange="754-809" indexRangeExact="true"> | |
17 | <Initialization range="0-753"/> | |
18 | </SegmentBase> | |
19 | </Representation> | |
20 | <Role value="main" schemeIdUri="urn:mpeg:dash:role:2011"/> | |
21 | </AdaptationSet> | |
22 | </Period> | |
23 | </MPD> |
0 | <?xml version="1.0" ?> | |
1 | <!-- Just In Time Delivered by Quortex Solution --> | |
2 | <MPD availabilityStartTime="1970-01-01T00:00:06Z" minBufferTime="PT6S" minimumUpdatePeriod="PT6S" profiles="urn:mpeg:dash:profile:isoff-live:2011,urn:hbbtv:dash:profile:isoff-live:2012" publishTime="2020-06-07T11:59:55Z" suggestedPresentationDelay="PT12S" timeShiftBufferDepth="PT1M18S" type="dynamic" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"> | |
3 | <Period id="0" start="PT1588628086S"> | |
4 | <AdaptationSet contentType="video" id="1" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
5 | <SegmentTemplate initialization="$RepresentationID$/init.mp4?id=8c1bbb709229e110fbb0d1e544266504" media="$RepresentationID$/segment_$Number$.m4s" presentationTimeOffset="1738747575" startNumber="487050" timescale="90000"> | |
6 | <SegmentTimeline> | |
7 | <S d="540000" r="12" t="263007000000"/> | |
8 | </SegmentTimeline> | |
9 | </SegmentTemplate> | |
10 | <Representation bandwidth="300000" codecs="avc1.42001e" frameRate="25" height="224" id="videosd-400x224" sar="224:225" scanType="progressive" width="400"> | |
11 | <ContentProtection cenc:default_KID="934bc7c6-a029-3d5b-9e26-1a7324777503" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
12 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
13 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgB4AHMAZABMAGsAeQBtAGcAVwB6ADIAZQBKAGgAcAB6AEoASABkADEAQQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4ARgBUAGwALwBUAEUAQgAvAFcAZQBRAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
14 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AeABzAGQATABrAHkAbQBnAFcAegAyAGUASgBoAHAAegBKAEgAZAAxAEEAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AEYAVABsAC8AVABFAEIALwBXAGUAUQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
15 | </ContentProtection> | |
16 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
17 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQk0vHxqApPVueJhpzJHd1AxoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
18 | </ContentProtection> | |
19 | </Representation> | |
20 | <Representation bandwidth="800000" codecs="avc1.42001e" frameRate="25" height="360" id="videosd-640x360" sar="1:1" scanType="progressive" width="640"> | |
21 | <ContentProtection cenc:default_KID="934bc7c6-a029-3d5b-9e26-1a7324777503" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
22 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
23 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgB4AHMAZABMAGsAeQBtAGcAVwB6ADIAZQBKAGgAcAB6AEoASABkADEAQQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4ARgBUAGwALwBUAEUAQgAvAFcAZQBRAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
24 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AeABzAGQATABrAHkAbQBnAFcAegAyAGUASgBoAHAAegBKAEgAZAAxAEEAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AEYAVABsAC8AVABFAEIALwBXAGUAUQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
25 | </ContentProtection> | |
26 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
27 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQk0vHxqApPVueJhpzJHd1AxoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
28 | </ContentProtection> | |
29 | </Representation> | |
30 | <Representation bandwidth="1500000" codecs="avc1.42001e" frameRate="25" height="404" id="videosd-720x404" sar="404:405" scanType="progressive" width="720"> | |
31 | <ContentProtection cenc:default_KID="934bc7c6-a029-3d5b-9e26-1a7324777503" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
32 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
33 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgB4AHMAZABMAGsAeQBtAGcAVwB6ADIAZQBKAGgAcAB6AEoASABkADEAQQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4ARgBUAGwALwBUAEUAQgAvAFcAZQBRAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
34 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AeABzAGQATABrAHkAbQBnAFcAegAyAGUASgBoAHAAegBKAEgAZAAxAEEAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AEYAVABsAC8AVABFAEIALwBXAGUAUQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
35 | </ContentProtection> | |
36 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
37 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQk0vHxqApPVueJhpzJHd1AxoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
38 | </ContentProtection> | |
39 | </Representation> | |
40 | <Representation bandwidth="2100000" codecs="avc1.64001f" frameRate="25" height="540" id="videosd-960x540" sar="1:1" scanType="progressive" width="960"> | |
41 | <ContentProtection cenc:default_KID="934bc7c6-a029-3d5b-9e26-1a7324777503" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
42 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
43 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgB4AHMAZABMAGsAeQBtAGcAVwB6ADIAZQBKAGgAcAB6AEoASABkADEAQQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4ARgBUAGwALwBUAEUAQgAvAFcAZQBRAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
44 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AeABzAGQATABrAHkAbQBnAFcAegAyAGUASgBoAHAAegBKAEgAZAAxAEEAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AEYAVABsAC8AVABFAEIALwBXAGUAUQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
45 | </ContentProtection> | |
46 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
47 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQk0vHxqApPVueJhpzJHd1AxoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
48 | </ContentProtection> | |
49 | </Representation> | |
50 | </AdaptationSet> | |
51 | <AdaptationSet contentType="audio" id="21" lang="fre" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
52 | <ContentProtection cenc:default_KID="91d9467b-d795-318b-a07c-4867ff4381e7" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
53 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
54 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBlADAAYgBaAGsAWgBYAFgAaQB6AEcAZwBmAEUAaABuAC8AMABPAEIANQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AUABrADkAawB3AFMAcgBEAEIAcgBBAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
55 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AZQAwAGIAWgBrAFoAWABYAGkAegBHAGcAZgBFAGgAbgAvADAATwBCADUAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AFAAawA5AGsAdwBTAHIARABCAHIAQQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
56 | </ContentProtection> | |
57 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
58 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQkdlGe9eVMYugfEhn/0OB5xoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
59 | </ContentProtection> | |
60 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
61 | <SegmentTemplate initialization="$RepresentationID$/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d" media="$RepresentationID$/segment_$Number$.m4s" presentationTimeOffset="927332040" startNumber="487050" timescale="48000"> | |
62 | <SegmentTimeline> | |
63 | <S d="288000" r="12" t="140270400000"/> | |
64 | </SegmentTimeline> | |
65 | </SegmentTemplate> | |
66 | <Representation audioSamplingRate="48000" bandwidth="96000" codecs="mp4a.40.2" id="audio-fre-96000"> | |
67 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
68 | </Representation> | |
69 | </AdaptationSet> | |
70 | <AdaptationSet contentType="audio" id="22" lang="qad" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
71 | <ContentProtection cenc:default_KID="91d9467b-d795-318b-a07c-4867ff4381e7" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
72 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
73 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBlADAAYgBaAGsAWgBYAFgAaQB6AEcAZwBmAEUAaABuAC8AMABPAEIANQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AUABrADkAawB3AFMAcgBEAEIAcgBBAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
74 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AZQAwAGIAWgBrAFoAWABYAGkAegBHAGcAZgBFAGgAbgAvADAATwBCADUAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AFAAawA5AGsAdwBTAHIARABCAHIAQQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
75 | </ContentProtection> | |
76 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
77 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQkdlGe9eVMYugfEhn/0OB5xoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
78 | </ContentProtection> | |
79 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
80 | <SegmentTemplate initialization="$RepresentationID$/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d" media="$RepresentationID$/segment_$Number$.m4s" presentationTimeOffset="927332040" startNumber="487050" timescale="48000"> | |
81 | <SegmentTimeline> | |
82 | <S d="288000" r="12" t="140270400000"/> | |
83 | </SegmentTimeline> | |
84 | </SegmentTemplate> | |
85 | <Representation audioSamplingRate="48000" bandwidth="96000" codecs="mp4a.40.2" id="audio-fre-audiodesc-96000"> | |
86 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
87 | </Representation> | |
88 | </AdaptationSet> | |
89 | <AdaptationSet contentType="audio" id="23" lang="qaa" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
90 | <ContentProtection cenc:default_KID="91d9467b-d795-318b-a07c-4867ff4381e7" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
91 | <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
92 | <cenc:pssh>AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBlADAAYgBaAGsAWgBYAFgAaQB6AEcAZwBmAEUAaABuAC8AMABPAEIANQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AUABrADkAawB3AFMAcgBEAEIAcgBBAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</cenc:pssh> | |
93 | <mspr:pro>KAMAAAEAAQAeAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AZQAwAGIAWgBrAFoAWABYAGkAegBHAGcAZgBFAGgAbgAvADAATwBCADUAdwA9AD0APAAvAEsASQBEAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGkAYwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAHgAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AcABsAGEAeQByAGUAYQBkAHkALQB1AGkALgBlAHgAYQBtAHAAbABlAC4AYwBvAG0APAAvAEwAVQBJAF8AVQBSAEwAPgA8AEMASABFAEMASwBTAFUATQA+AFAAawA5AGsAdwBTAHIARABCAHIAQQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro> | |
94 | </ContentProtection> | |
95 | <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
96 | <cenc:pssh>AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQkdlGe9eVMYugfEhn/0OB5xoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2laR0Z6YUdObGJtTmZUVFlpZlE9PTIHZGVmYXVsdA==</cenc:pssh> | |
97 | </ContentProtection> | |
98 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
99 | <SegmentTemplate initialization="$RepresentationID$/init.mp4?id=6abdc8cb40bd1bbb600ae08523354d9d" media="$RepresentationID$/segment_$Number$.m4s" presentationTimeOffset="927332040" startNumber="487050" timescale="48000"> | |
100 | <SegmentTimeline> | |
101 | <S d="288000" r="12" t="140270400000"/> | |
102 | </SegmentTimeline> | |
103 | </SegmentTemplate> | |
104 | <Representation audioSamplingRate="48000" bandwidth="96000" codecs="mp4a.40.2" id="audio-original-96000"> | |
105 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
106 | </Representation> | |
107 | </AdaptationSet> | |
108 | </Period> | |
109 | <UTCTiming schemeIdUri="urn:mpeg:dash:utc:direct:2014" value="2020-06-07T11:59:55Z"/> | |
110 | </MPD> |
0 | <?xml version="1.0" ?> | |
1 | <MPD availabilityStartTime="1970-01-01T00:00:06Z" minBufferTime="PT6S" minimumUpdatePeriod="PT6S" profiles="urn:mpeg:dash:profile:isoff-live:2011,urn:hbbtv:dash:profile:isoff-live:2012" publishTime="2020-06-07T11:59:55Z" suggestedPresentationDelay="PT12S" timeShiftBufferDepth="PT1M18S" type="dynamic" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" mediaPresentationDuration="PT9000.000000S"> | |
2 | <Period id="0" start="PT1588628086S"> | |
3 | <AdaptationSet contentType="video" id="1" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
4 | <SegmentTemplate initialization="$RepresentationID$/init.mp4?id=8c1bbb709229e110fbb0d1e544266504" media="$RepresentationID$/segment_$Number$.m4s" presentationTimeOffset="1738747575" startNumber="487050" timescale="90000"> | |
5 | <SegmentTimeline> | |
6 | <S d="540000" r="12" t="263007000000"/> | |
7 | </SegmentTimeline> | |
8 | </SegmentTemplate> | |
9 | <Representation bandwidth="300000" codecs="avc1.42001e" frameRate="25" height="224" id="videosd-400x224" sar="224:225" scanType="progressive" width="400"> | |
10 | </Representation> | |
11 | </AdaptationSet> | |
12 | </Period> | |
13 | <UTCTiming schemeIdUri="urn:mpeg:dash:utc:direct:2014" value="2020-06-07T11:59:55Z"/> | |
14 | </MPD> |
0 | <?xml version="1.0" ?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" type="static" profiles="urn:mpeg:dash:profile:isoff-live:2011" mediaPresentationDuration="PT1H47M52S" minBufferTime="PT10S" maxSegmentDuration="PT11S"> | |
2 | <Period id="0" start="PT1588628086S"> | |
3 | <AdaptationSet contentType="video" id="1" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1"> | |
4 | <SegmentTemplate initialization="$RepresentationID$/init.mp4?id=8c1bbb709229e110fbb0d1e544266504" media="$RepresentationID$/segment_$Number$.m4s" presentationTimeOffset="1738747575" startNumber="487050" timescale="90000"> | |
5 | <SegmentTimeline> | |
6 | <S d="540000" r="12" t="263007000000"/> | |
7 | </SegmentTimeline> | |
8 | </SegmentTemplate> | |
9 | <Representation bandwidth="300000" codecs="avc1.42001e" frameRate="25" height="224" id="videosd-400x224" sar="224:225" scanType="progressive" width="400"> | |
10 | </Representation> | |
11 | </AdaptationSet> | |
12 | </Period> | |
13 | <UTCTiming schemeIdUri="urn:mpeg:dash:utc:direct:2014" value="2020-06-07T11:59:55Z"/> | |
14 | </MPD> |
0 | <?xml version="1.0" encoding="utf-8"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" availabilityStartTime="1970-01-01T00:00:00Z" maxSegmentDuration="PT2S" minBufferTime="PT2S" minimumUpdatePeriod="P100Y" profiles="urn:mpeg:dash:profile:isoff-live:2011,http://dashif.org/guidelines/dash-if-simple" publishTime="2020-06-08T18:54:24Z" timeShiftBufferDepth="PT5M" type="dynamic" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"> | |
2 | <Period id="p0" start="PT0S"> | |
3 | <AdaptationSet contentType="audio" lang="en" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
4 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
5 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" startNumber="0" /> | |
6 | <Representation audioSamplingRate="48000" bandwidth="48000" codecs="mp4a.40.2" id="A48"> | |
7 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" /> | |
8 | </Representation> | |
9 | </AdaptationSet> | |
10 | <AdaptationSet contentType="video" maxFrameRate="60/2" maxHeight="360" maxWidth="640" mimeType="video/mp4" minHeight="360" minWidth="640" par="16:9" segmentAlignment="true" startWithSAP="1"> | |
11 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
12 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" startNumber="0" /> | |
13 | <Representation bandwidth="300000" codecs="avc1.64001e" frameRate="60/2" height="360" id="V300" sar="1:1" width="640" /> | |
14 | </AdaptationSet> | |
15 | </Period> | |
16 | </MPD> |
0 | <?xml version="1.0" encoding="UTF-8"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" type="static" profiles="urn:mpeg:dash:profile:isoff-live:2011" mediaPresentationDuration="PT1H47M52S" minBufferTime="PT10S" maxSegmentDuration="PT11S"> | |
2 | <Period id="1" duration="PT1H47M52S"> | |
3 | <BaseURL>https://foo.bar/guid.ism/dash</BaseURL> | |
4 | <AdaptationSet audioSamplingRate="44100" mimeType="audio/mp4" codecs="mp4a.40.2" startWithSAP="1" id="1" group="1" lang="afr" contentType="audio" segmentAlignment="True"> | |
5 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
6 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
7 | <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"/> | |
8 | <ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4"/> | |
9 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
10 | <SegmentTemplate timescale="44100" duration="441000" media="media-$RepresentationID$-$Number$.m4s" initialization="media-$RepresentationID$.dash"/> | |
11 | <Representation id="audio=128000" bandwidth="128000"/> | |
12 | </AdaptationSet> | |
13 | <AdaptationSet sar="1:1" mimeType="video/mp4" codecs="avc1.4D401F" startWithSAP="1" id="2" group="2" contentType="video" par="16:9" minBandwidth="66000" maxBandwidth="1916000" maxWidth="1280" maxHeight="720" segmentAlignment="True"> | |
14 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
15 | <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"/> | |
16 | <ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4"/> | |
17 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
18 | <SegmentTemplate timescale="16000" duration="160000" media="media-$RepresentationID$-$Number$.m4s" initialization="media-$RepresentationID$.dash"/> | |
19 | <Representation width="256" height="144" scanType="progressive" id="video=66000" bandwidth="66000"/> | |
20 | </AdaptationSet> | |
21 | </Period> | |
22 | </MPD> |
0 | <?xml version="1.0" encoding="utf-8"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" availabilityStartTime="1970-01-01T00:00:00Z" maxSegmentDuration="PT2S" minBufferTime="PT2S" minimumUpdatePeriod="P100Y" profiles="urn:mpeg:dash:profile:isoff-live:2011,http://dashif.org/guidelines/dash-if-simple" publishTime="2020-06-08T18:54:24Z" timeShiftBufferDepth="PT5M" type="dynamic" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"> | |
2 | <BaseURL>https://foo.bar/mpd/</BaseURL> | |
3 | <Period id="p0" start="PT0S"> | |
4 | <AdaptationSet contentType="audio" lang="en" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1"> | |
5 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
6 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" startNumber="0" /> | |
7 | <Representation audioSamplingRate="48000" bandwidth="48000" codecs="mp4a.40.2" id="A48"> | |
8 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" /> | |
9 | </Representation> | |
10 | </AdaptationSet> | |
11 | <AdaptationSet contentType="video" maxFrameRate="60/2" maxHeight="360" maxWidth="640" mimeType="video/mp4" minHeight="360" minWidth="640" par="16:9" segmentAlignment="true" startWithSAP="1"> | |
12 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" /> | |
13 | <SegmentTemplate duration="2" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Number$.m4s" startNumber="0" /> | |
14 | <Representation bandwidth="300000" codecs="avc1.64001e" frameRate="60/2" height="360" id="V300" sar="1:1" width="640" /> | |
15 | </AdaptationSet> | |
16 | </Period> | |
17 | </MPD> |
0 | <?xml version="1.0" encoding="UTF-8"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" type="static" profiles="urn:mpeg:dash:profile:isoff-live:2011" mediaPresentationDuration="PT1H47M52S" minBufferTime="PT10S" maxSegmentDuration="PT11S"> | |
2 | <Period id="1" duration="PT1H47M52S"> | |
3 | <BaseURL>https://foo.bar/guid.ism/dash/</BaseURL> | |
4 | <AdaptationSet audioSamplingRate="44100" mimeType="audio/mp4" codecs="mp4a.40.2" startWithSAP="1" id="1" group="1" lang="afr" contentType="audio" segmentAlignment="True"> | |
5 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
6 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
7 | <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"/> | |
8 | <ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4"/> | |
9 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
10 | <SegmentTemplate timescale="44100" duration="441000" media="media-$RepresentationID$-$Number$.m4s" initialization="media-$RepresentationID$.dash"/> | |
11 | <Representation id="audio=128000" bandwidth="128000"/> | |
12 | </AdaptationSet> | |
13 | <AdaptationSet sar="1:1" mimeType="video/mp4" codecs="avc1.4D401F" startWithSAP="1" id="2" group="2" contentType="video" par="16:9" minBandwidth="66000" maxBandwidth="1916000" maxWidth="1280" maxHeight="720" segmentAlignment="True"> | |
14 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
15 | <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"/> | |
16 | <ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4"/> | |
17 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
18 | <SegmentTemplate timescale="16000" duration="160000" media="media-$RepresentationID$-$Number$.m4s" initialization="media-$RepresentationID$.dash"/> | |
19 | <Representation width="256" height="144" scanType="progressive" id="video=66000" bandwidth="66000"/> | |
20 | </AdaptationSet> | |
21 | </Period> | |
22 | </MPD> |
0 | <?xml version="1.0" encoding="UTF-8"?> | |
1 | <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" type="dynamic" publishTime="2021-03-04T00:02:12.271Z" minimumUpdatePeriod="PT4S" availabilityStartTime="2021-03-04T00:02:12.271Z" minBufferTime="PT12S" suggestedPresentationDelay="PT30S" timeShiftBufferDepth="PT2M" profiles="urn:mpeg:dash:profile:isoff-live:2011"> | |
2 | <BaseURL>https://d15umi5iaezxgx.cloudfront.net/OUT/DASH/</BaseURL> | |
3 | <Period start="PT0S" id="1" > | |
4 | <AdaptationSet mimeType="video/mp4" frameRate="25/1" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="false" > | |
5 | <ContentProtection cenc:default_KID="DB057321-C922-4C25-A7CC-D75D911DD1FC" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
6 | <ContentProtection cenc:default_KID="DB057321-C922-4C25-A7CC-D75D911DD1FC" schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
7 | <cenc:pssh xmlns:cenc="urn:mpeg:cenc:2013">AAAEMHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABBAQBAAAAQABAAYEPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AbABhADcALgBwAHIAbwBkAC4AYwBvAG4AYQB4AC4AYwBsAG8AdQBkAC8AYwB4AHAAbABhAHkAcgBlAGEAZAB5AC8AcgBpAGcAaAB0AHMAbQBhAG4AYQBnAGUAcgAuAGEAcwBtAHgAPAAvAEwAQQBfAFUAUgBMAD4APABMAFUASQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAYQA3AC4AcAByAG8AZAAuAGMAbwBuAGEAeAAuAGMAbABvAHUAZAAvAGMAeABwAGwAYQB5AHIAZQBhAGQAeQAvAHIAaQBnAGgAdABzAG0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAFUASQBfAFUAUgBMAD4APABLAEkARAA+AEkAWABNAEYAMgB5AEwASgBKAFUAeQBuAHoATgBkAGQAawBSADMAUgAvAEEAPQA9ADwALwBLAEkARAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBvAG4AdABlAG4AdABSAGUAZgA+ADgAZgA5ADUAZAA0ADAAYQAtADcANwBmAGIALQA0ADYAMAAwAC0AOABmADUAOAAtADAAOABmAGUAOAA4ADMANwA2AGEAMwA5ADwALwBDAG8AbgB0AGUAbgB0AFIAZQBmAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AEMASABFAEMASwBTAFUATQA+AFoAegBMAGYAUQBFAFgAOABTADQAOAA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
8 | </ContentProtection> | |
9 | <ContentProtection xmlns:mspr="urn:microsoft:playready" schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
10 | <mspr:pro>EAQAAAEAAQAGBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAYQA3AC4AcAByAG8AZAAuAGMAbwBuAGEAeAAuAGMAbABvAHUAZAAvAGMAeABwAGwAYQB5AHIAZQBhAGQAeQAvAHIAaQBnAGgAdABzAG0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGEANwAuAHAAcgBvAGQALgBjAG8AbgBhAHgALgBjAGwAbwB1AGQALwBjAHgAcABsAGEAeQByAGUAYQBkAHkALwByAGkAZwBoAHQAcwBtAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABVAEkAXwBVAFIATAA+ADwASwBJAEQAPgBJAFgATQBGADIAeQBMAEoASgBVAHkAbgB6AE4AZABkAGsAUgAzAFIALwBBAD0APQA8AC8ASwBJAEQAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMAbwBuAHQAZQBuAHQAUgBlAGYAPgA4AGYAOQA1AGQANAAwAGEALQA3ADcAZgBiAC0ANAA2ADAAMAAtADgAZgA1ADgALQAwADgAZgBlADgAOAAzADcANgBhADMAOQA8AC8AQwBvAG4AdABlAG4AdABSAGUAZgA+ADwALwBDAFUAUwBUAE8ATQBBAFQAVABSAEkAQgBVAFQARQBTAD4APABDAEgARQBDAEsAUwBVAE0APgBaAHoATABmAFEARQBYADgAUwA0ADgAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</mspr:pro> | |
11 | </ContentProtection> | |
12 | <ContentProtection cenc:default_KID="DB057321-C922-4C25-A7CC-D75D911DD1FC" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
13 | <ContentProtection cenc:default_KID="DB057321-C922-4C25-A7CC-D75D911DD1FC" schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
14 | <cenc:pssh xmlns:cenc="urn:mpeg:cenc:2013">AAAAYXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAEEIARIQ2wVzIckiTCWnzNddkR3R/BoFQ29uYXgiJDhmOTVkNDBhLTc3ZmItNDYwMC04ZjU4LTA4ZmU4ODM3NmEzOQ==</cenc:pssh> | |
15 | </ContentProtection> | |
16 | <SegmentTemplate timescale="90000" duration="360000" startNumber="1"/> | |
17 | <Representation id="1" width="960" height="540" bandwidth="1700000" codecs="avc1.64001f"> | |
18 | <SegmentTemplate duration="360000" startNumber="1" media="Live_960x540_$Number%09d$.mp4" initialization="Live_960x540init.mp4" availabilityTimeOffset="-30.0"/> | |
19 | </Representation> | |
20 | <Representation id="2" width="640" height="360" bandwidth="660000" codecs="avc1.4d401e"> | |
21 | <SegmentTemplate duration="360000" startNumber="1" media="Live_640x360_$Number%09d$.mp4" initialization="Live_640x360init.mp4" availabilityTimeOffset="-30.0"/> | |
22 | </Representation> | |
23 | <Representation id="3" width="480" height="270" bandwidth="350000" codecs="avc1.4d401e"> | |
24 | <SegmentTemplate duration="360000" startNumber="1" media="Live_480x270_$Number%09d$.mp4" initialization="Live_480x270init.mp4" availabilityTimeOffset="-30.0"/> | |
25 | </Representation> | |
26 | <Representation id="4" width="416" height="234" bandwidth="145000" codecs="avc1.4d401e"> | |
27 | <SegmentTemplate duration="360000" startNumber="1" media="Live_416x234_$Number%09d$.mp4" initialization="Live_416x234init.mp4" availabilityTimeOffset="-30.0"/> | |
28 | </Representation> | |
29 | </AdaptationSet> | |
30 | <AdaptationSet mimeType="audio/mp4" segmentAlignment="0"> | |
31 | <ContentProtection cenc:default_KID="DB057321-C922-4C25-A7CC-D75D911DD1FC" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
32 | <ContentProtection cenc:default_KID="DB057321-C922-4C25-A7CC-D75D911DD1FC" schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
33 | <cenc:pssh xmlns:cenc="urn:mpeg:cenc:2013">AAAEMHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABBAQBAAAAQABAAYEPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AbABhADcALgBwAHIAbwBkAC4AYwBvAG4AYQB4AC4AYwBsAG8AdQBkAC8AYwB4AHAAbABhAHkAcgBlAGEAZAB5AC8AcgBpAGcAaAB0AHMAbQBhAG4AYQBnAGUAcgAuAGEAcwBtAHgAPAAvAEwAQQBfAFUAUgBMAD4APABMAFUASQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAYQA3AC4AcAByAG8AZAAuAGMAbwBuAGEAeAAuAGMAbABvAHUAZAAvAGMAeABwAGwAYQB5AHIAZQBhAGQAeQAvAHIAaQBnAGgAdABzAG0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAFUASQBfAFUAUgBMAD4APABLAEkARAA+AEkAWABNAEYAMgB5AEwASgBKAFUAeQBuAHoATgBkAGQAawBSADMAUgAvAEEAPQA9ADwALwBLAEkARAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBvAG4AdABlAG4AdABSAGUAZgA+ADgAZgA5ADUAZAA0ADAAYQAtADcANwBmAGIALQA0ADYAMAAwAC0AOABmADUAOAAtADAAOABmAGUAOAA4ADMANwA2AGEAMwA5ADwALwBDAG8AbgB0AGUAbgB0AFIAZQBmAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AEMASABFAEMASwBTAFUATQA+AFoAegBMAGYAUQBFAFgAOABTADQAOAA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> | |
34 | </ContentProtection> | |
35 | <ContentProtection xmlns:mspr="urn:microsoft:playready" schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95"> | |
36 | <mspr:pro>EAQAAAEAAQAGBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAYQA3AC4AcAByAG8AZAAuAGMAbwBuAGEAeAAuAGMAbABvAHUAZAAvAGMAeABwAGwAYQB5AHIAZQBhAGQAeQAvAHIAaQBnAGgAdABzAG0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBsAGEANwAuAHAAcgBvAGQALgBjAG8AbgBhAHgALgBjAGwAbwB1AGQALwBjAHgAcABsAGEAeQByAGUAYQBkAHkALwByAGkAZwBoAHQAcwBtAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABVAEkAXwBVAFIATAA+ADwASwBJAEQAPgBJAFgATQBGADIAeQBMAEoASgBVAHkAbgB6AE4AZABkAGsAUgAzAFIALwBBAD0APQA8AC8ASwBJAEQAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMAbwBuAHQAZQBuAHQAUgBlAGYAPgA4AGYAOQA1AGQANAAwAGEALQA3ADcAZgBiAC0ANAA2ADAAMAAtADgAZgA1ADgALQAwADgAZgBlADgAOAAzADcANgBhADMAOQA8AC8AQwBvAG4AdABlAG4AdABSAGUAZgA+ADwALwBDAFUAUwBUAE8ATQBBAFQAVABSAEkAQgBVAFQARQBTAD4APABDAEgARQBDAEsAUwBVAE0APgBaAHoATABmAFEARQBYADgAUwA0ADgAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</mspr:pro> | |
37 | </ContentProtection> | |
38 | <ContentProtection cenc:default_KID="DB057321-C922-4C25-A7CC-D75D911DD1FC" schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
39 | <ContentProtection cenc:default_KID="DB057321-C922-4C25-A7CC-D75D911DD1FC" schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> | |
40 | <cenc:pssh xmlns:cenc="urn:mpeg:cenc:2013">AAAAYXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAEEIARIQ2wVzIckiTCWnzNddkR3R/BoFQ29uYXgiJDhmOTVkNDBhLTc3ZmItNDYwMC04ZjU4LTA4ZmU4ODM3NmEzOQ==</cenc:pssh> | |
41 | </ContentProtection> | |
42 | <SegmentTemplate timescale="44100" media="Live_Audio_$Number%09d$.mp4" initialization="Live_Audioinit.mp4" duration="176400" startNumber="1" availabilityTimeOffset="-30.0"/> | |
43 | <Representation id="5" bandwidth="96000" audioSamplingRate="44100" codecs="mp4a.40.2"/> | |
44 | </AdaptationSet> | |
45 | </Period> | |
46 | </MPD>⏎ |
0 | <?xml version="1.0" encoding="UTF-8"?> | |
1 | <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" type="dynamic" minimumUpdatePeriod="PT4.000S" minBufferTime="PT5.000S" maxSegmentDuration="PT4.500S" availabilityStartTime="2021-03-25T23:44:03Z" timeShiftBufferDepth="PT1800.000S" publishTime="2021-03-31T20:52:37Z" profiles="urn:mpeg:dash:profile:isoff-live:2011"> | |
2 | <Period id="404187865" start="PT35652S"> | |
3 | <AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" maxWidth="1920" maxHeight="1080" maxFrameRate="25" par="25:14"> | |
4 | <SegmentTemplate timescale="90000" initialization="$RepresentationID$/segment-Header-init.m4s" media="$RepresentationID$/segment-$Number$.m4s" duration="360000" startNumber="404187866" presentationTimeOffset="7539818380345"/> | |
5 | <Representation id="video1" width="400" height="224" frameRate="25" sar="1:1" scanType="progressive" bandwidth="450000" codecs="avc1.4D4015"/> | |
6 | <Representation id="video2" width="640" height="360" frameRate="25" sar="1:1" scanType="progressive" bandwidth="600000" codecs="avc1.4D401E"/> | |
7 | <Representation id="video3" width="960" height="540" frameRate="25" sar="1:1" scanType="progressive" bandwidth="1200000" codecs="avc1.4D401F"/> | |
8 | <Representation id="video4" width="960" height="540" frameRate="25" sar="1:1" scanType="progressive" bandwidth="1800000" codecs="avc1.4D401F"/> | |
9 | <Representation id="video5" width="1280" height="720" frameRate="25" sar="1:1" scanType="progressive" bandwidth="2600000" codecs="avc1.4D401F"/> | |
10 | <Representation id="video6" width="1920" height="1080" frameRate="25" sar="1:1" scanType="progressive" bandwidth="3400000" codecs="avc1.4D4028"/> | |
11 | </AdaptationSet> | |
12 | <AdaptationSet mimeType="audio/mp4" lang="ar" segmentAlignment="true" startWithSAP="1"> | |
13 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
14 | <SegmentTemplate timescale="90000" initialization="$RepresentationID$/segment-Header-init.m4s" media="$RepresentationID$/segment-$Number$.m4s" duration="360000" startNumber="404187866" presentationTimeOffset="7539818380345"/> | |
15 | <Representation id="audio1" audioSamplingRate="24000" bandwidth="96000" codecs="mp4a.40.2"> | |
16 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
17 | </Representation> | |
18 | </AdaptationSet> | |
19 | </Period> | |
20 | <UTCTiming schemeIdUri="urn:mpeg:dash:utc:direct:2014" value="2021-03-31T20:53:07Z"/> | |
21 | </MPD>⏎ |
0 | <?xml version="1.0" encoding="UTF-8"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" type="static" profiles="urn:mpeg:dash:profile:isoff-live:2011" mediaPresentationDuration="PT1H47M52S" minBufferTime="PT10S" maxSegmentDuration="PT11S"> | |
2 | <Period id="1" duration="PT1H47M52S"> | |
3 | <BaseURL>https://foo.bar/guid.ism/dash</BaseURL> | |
4 | <AdaptationSet audioSamplingRate="44100" mimeType="audio/mp4" codecs="mp4a.40.2" startWithSAP="1" id="1" group="1" lang="afr" contentType="audio" segmentAlignment="True"> | |
5 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
6 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
7 | <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"/> | |
8 | <ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4"/> | |
9 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
10 | <SegmentTemplate timescale="44100" duration="441000" media="/media-$RepresentationID$-$Number$.m4s" initialization="/media-$RepresentationID$.dash"/> | |
11 | <Representation id="audio=128000" bandwidth="128000"/> | |
12 | </AdaptationSet> | |
13 | <AdaptationSet sar="1:1" mimeType="video/mp4" codecs="avc1.4D401F" startWithSAP="1" id="2" group="2" contentType="video" par="16:9" minBandwidth="66000" maxBandwidth="1916000" maxWidth="1280" maxHeight="720" segmentAlignment="True"> | |
14 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
15 | <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"/> | |
16 | <ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4"/> | |
17 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
18 | <SegmentTemplate timescale="16000" duration="160000" media="/media-$RepresentationID$-$Number$.m4s" initialization="/media-$RepresentationID$.dash"/> | |
19 | <Representation width="256" height="144" scanType="progressive" id="video=66000" bandwidth="66000"/> | |
20 | </AdaptationSet> | |
21 | </Period> | |
22 | </MPD> |
0 | <?xml version="1.0" encoding="UTF-8"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" type="static" profiles="urn:mpeg:dash:profile:isoff-live:2011" mediaPresentationDuration="PT1H47M52S" minBufferTime="PT10S" maxSegmentDuration="PT11S"> | |
2 | <Period id="1" duration="PT1H47M52S"> | |
3 | <BaseURL>https://foo.bar/guid.ism/dash/</BaseURL> | |
4 | <AdaptationSet audioSamplingRate="44100" mimeType="audio/mp4" codecs="mp4a.40.2" startWithSAP="1" id="1" group="1" lang="afr" contentType="audio" segmentAlignment="True"> | |
5 | <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | |
6 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
7 | <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"/> | |
8 | <ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4"/> | |
9 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
10 | <SegmentTemplate timescale="44100" duration="441000" media="/media-$RepresentationID$-$Number$.m4s" initialization="/media-$RepresentationID$.dash"/> | |
11 | <Representation id="audio=128000" bandwidth="128000"/> | |
12 | </AdaptationSet> | |
13 | <AdaptationSet sar="1:1" mimeType="video/mp4" codecs="avc1.4D401F" startWithSAP="1" id="2" group="2" contentType="video" par="16:9" minBandwidth="66000" maxBandwidth="1916000" maxWidth="1280" maxHeight="720" segmentAlignment="True"> | |
14 | <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/> | |
15 | <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"/> | |
16 | <ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4"/> | |
17 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> | |
18 | <SegmentTemplate timescale="16000" duration="160000" media="/media-$RepresentationID$-$Number$.m4s" initialization="/media-$RepresentationID$.dash"/> | |
19 | <Representation width="256" height="144" scanType="progressive" id="video=66000" bandwidth="66000"/> | |
20 | </AdaptationSet> | |
21 | </Period> | |
22 | </MPD> |
0 | <?xml version="1.0"?> | |
1 | <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.500000S" type="static" mediaPresentationDuration="PT0H10M54.00S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011,http://dashif.org/guidelines/dash264"> | |
2 | <Period id="" duration="PT0H10M54.00S"> | |
3 | <AdaptationSet segmentAlignment="true" maxWidth="1280" maxHeight="720" maxFrameRate="24" par="16:9" subsegmentStartsWithSAP="1"> | |
4 | <Representation id="0" mimeType="video/mp4" codecs="avc1.4d401f" width="1280" height="720" frameRate="24" sar="1:1" startWithSAP="1" bandwidth="4076826"> | |
5 | <BaseURL>ED_720_4M_MPEG2_video_init.mp4</BaseURL> | |
6 | <SegmentBase indexRangeExact="true" indexRange="885-2488"/> | |
7 | </Representation> | |
8 | </AdaptationSet> | |
9 | ||
10 | <AdaptationSet lang="en" mimeType="application/ttml+xml"> | |
11 | <Representation id="1"> | |
12 | <BaseURL>English_track.xml</BaseURL> | |
13 | </Representation> | |
14 | </AdaptationSet> | |
15 | ||
16 | <AdaptationSet lang="en"> | |
17 | <Representation id="2" mimeType="application/ttml+xml"> | |
18 | <BaseURL>English_track.xml</BaseURL> | |
19 | </Representation> | |
20 | </AdaptationSet> | |
21 | ||
22 | <AdaptationSet lang="en" codecs="ttml"> | |
23 | <Representation id="3"> | |
24 | <BaseURL>English_track.xml</BaseURL> | |
25 | </Representation> | |
26 | </AdaptationSet> | |
27 | ||
28 | <AdaptationSet lang="en"> | |
29 | <Representation id="4" codecs="ttml"> | |
30 | <BaseURL>English_track.xml</BaseURL> | |
31 | </Representation> | |
32 | </AdaptationSet> | |
33 | ||
34 | <AdaptationSet lang="en" mimeType="text/vtt"> | |
35 | <Representation id="5"> | |
36 | <BaseURL>English_track.vtt</BaseURL> | |
37 | </Representation> | |
38 | </AdaptationSet> | |
39 | ||
40 | <AdaptationSet lang="en"> | |
41 | <Representation id="6" mimeType="text/vtt"> | |
42 | <BaseURL>English_track.vtt</BaseURL> | |
43 | </Representation> | |
44 | </AdaptationSet> | |
45 | ||
46 | <AdaptationSet lang="en" codecs="wvtt"> | |
47 | <Representation id="7"> | |
48 | <BaseURL>English_track.vtt</BaseURL> | |
49 | </Representation> | |
50 | </AdaptationSet> | |
51 | ||
52 | <AdaptationSet lang="en"> | |
53 | <Representation id="8" codecs="wvtt"> | |
54 | <BaseURL>English_track.vtt</BaseURL> | |
55 | </Representation> | |
56 | </AdaptationSet> | |
57 | ||
58 | <AdaptationSet lang="en" mimeType="text/vtt"> | |
59 | <Representation id="9" codecs="my_codec"> | |
60 | <BaseURL>English_track.vtt</BaseURL> | |
61 | </Representation> | |
62 | </AdaptationSet> | |
63 | ||
64 | <!-- http://dash.edgesuite.net/dash264/TestCases/4b/qualcomm/1/ED_OnDemand_5SecSeg_Subtitles.mpd --> | |
65 | <AdaptationSet mimeType="application/ttml+xml" lang="en"> | |
66 | <Role schemeIdUri="urn:mpeg:dash:role" value="subtitle" /> | |
67 | <Representation id="10" bandwidth="268" > | |
68 | <BaseURL>English_track.xml</BaseURL> | |
69 | </Representation> | |
70 | </AdaptationSet> | |
71 | ||
72 | <!-- http://media.axprod.net/dash/ED_TTML_NEW/Clear/Manifest_sub_in.mpd --> | |
73 | <!-- https://livesim.dashif.org/dash/vod/testpic_2s/multi_subs.mpd --> | |
74 | <AdaptationSet segmentAlignment="true" par="1:1" lang="en"> | |
75 | <SegmentTemplate timescale="1000" media="$RepresentationID$/$Number%04d$.m4s" startNumber="1" duration="4000" initialization="$RepresentationID$/init.mp4" /> | |
76 | <Representation id="11" mimeType="application/mp4" codecs="stpp" startWithSAP="1" bandwidth="845"></Representation> | |
77 | </AdaptationSet> | |
78 | ||
79 | <!-- https://demo.unified-streaming.com/video/tears-of-steel/tears-of-steel-multiple-subtitles.ism/.mpd --> | |
80 | <AdaptationSet contentType="text" lang="en" mimeType="application/mp4" codecs="stpp.ttml.im1t" startWithSAP="1"> | |
81 | <Role schemeIdUri="urn:mpeg:dash:role:2011" value="subtitle" /> | |
82 | <SegmentTemplate timescale="1000" initialization="tears-of-steel-multiple-subtitles-$RepresentationID$.dash" media="tears-of-steel-multiple-subtitles-$RepresentationID$-$Time$.dash"> | |
83 | <SegmentTimeline> | |
84 | <S t="0" d="4000" r="140" /> | |
85 | <S d="3000" /> | |
86 | </SegmentTimeline> | |
87 | </SegmentTemplate> | |
88 | <Representation id="12" bandwidth="1000"></Representation> | |
89 | </AdaptationSet> | |
90 | </Period> | |
91 | </MPD> |