-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
live stream plays in Dash IF ref player but cannot find segment in Shaka #386
Comments
I notice that you don't have a What version of Shaka Player are you using? ( In |
I am using the demo hosted player (v2.0.0-beta2-debug): We also suspected it was an issue with the clock not properly being UTC. We will check the encoder settings. We would still see this issue in a pre 2.0.0-beta2 build right? -Thanks, |
Hi, apart from missing a In general, the |
Can somebody please elaborate on what it means to add a UTCTiming element and how to configure a clockSyncUri? Is setting the clockSyncUri as simple as I am getting these warnings from the player:
Sometimes after multiple refreshes of my player test page, the stream will load, but it is very inconsistent. Here is what my manifest looks like <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd"
profiles="urn:mpeg:dash:profile:isoff-live:2011"
type="dynamic"
minBufferTime="PT4.7S"
suggestedPresentationDelay="PT4S"
minimumUpdatePeriod="PT4S"
availabilityStartTime="2016-06-15T07:59:02"
publishTime="2016-06-15T08:02:44">
<Period start="PT0.0S">
<AdaptationSet contentType="video" segmentAlignment="true" bitstreamSwitching="true">
<Representation id="360p-video" mimeType="video/mp4" codecs="avc1.4d401e" width="640" height="360" frameRate="30/1">
<SegmentTemplate timescale="15360" initialization="360p/init-stream0.m4s" media="360p/chunk-stream0-$Number%05d$.m4s" startNumber="1">
<SegmentTimeline>
<S t="0" d="77312"/>
<S d="122880"/>
<S d="44032"/>
<S d="114176"/>
<S d="98304"/>
<S d="128000"/>
<S d="46080"/>
<S d="20480"/>
<S d="66560"/>
<S d="94208"/>
<S d="128000"/>
<S d="31744"/>
<S d="67072"/>
<S d="40448"/>
<S d="164864"/>
<S d="41984"/>
<S d="96768"/>
<S d="27136"/>
<S d="84480"/>
<S d="63488"/>
<S d="66560"/>
<S d="80896"/>
<S d="93184"/>
<S d="53248"/>
<S d="88064"/>
<S d="80896"/>
<S d="95232"/>
<S d="67584"/>
<S d="100352"/>
<S d="33280"/>
<S d="128000" r="1"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
<Representation id="540p-video" mimeType="video/mp4" codecs="avc1.64001f" width="960" height="540" frameRate="30/1">
<SegmentTemplate timescale="15360" initialization="540p/init-stream0.m4s" media="540p/chunk-stream0-$Number%05d$.m4s" startNumber="1">
<SegmentTimeline>
<S t="0" d="77312"/>
<S d="122880"/>
<S d="44032"/>
<S d="114176"/>
<S d="64512"/>
<S d="161792"/>
<S d="46080"/>
<S d="20480"/>
<S d="66560"/>
<S d="94208"/>
<S d="128000"/>
<S d="31744"/>
<S d="66048"/>
<S d="41472"/>
<S d="164864"/>
<S d="41984"/>
<S d="96768"/>
<S d="27136"/>
<S d="84480"/>
<S d="63488"/>
<S d="66560"/>
<S d="80896"/>
<S d="93184"/>
<S d="53248"/>
<S d="88064"/>
<S d="80896"/>
<S d="95232"/>
<S d="67584"/>
<S d="100352"/>
<S d="33280"/>
<S d="69120"/>
<S d="116224"/>
<S d="87552"/>
<S d="54272"/>
<S d="86016"/>
<S d="57856"/>
<S d="128000"/>
<S d="103936"/>
<S d="125952"/>
<S d="128000"/>
<S d="30720"/>
<S d="60416"/>
<S d="27136"/>
<S d="68096"/>
<S d="44032"/>
<S d="73216"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
<Representation id="144p-video" mimeType="video/mp4" codecs="avc1.4d400d" width="256" height="144" frameRate="30/1">
<SegmentTemplate timescale="15360" initialization="144p/init-stream0.m4s" media="144p/chunk-stream0-$Number%05d$.m4s" startNumber="1">
<SegmentTimeline>
<S t="0" d="77312"/>
<S d="122880"/>
<S d="44032"/>
<S d="114176"/>
<S d="98304"/>
<S d="128000"/>
<S d="46080"/>
<S d="20480"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
</AdaptationSet>
<AdaptationSet contentType="audio" segmentAlignment="true" bitstreamSwitching="true">
<Representation id="360p-audio" mimeType="audio/mp4" codecs="mp4a.40.2" bandwidth="128000" audioSamplingRate="48000">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<SegmentTemplate timescale="48000" initialization="360p/init-stream1.m4s" media="360p/chunk-stream1-$Number%05d$.m4s" startNumber="1">
<SegmentTimeline>
<S t="0" d="238600"/>
<S d="384000"/>
<S d="138240"/>
<S d="356352"/>
<S d="307200"/>
<S d="400384"/>
<S d="143360"/>
<S d="64512"/>
<S d="207872"/>
<S d="293888"/>
<S d="400384"/>
<S d="99328"/>
<S d="209920"/>
<S d="125952"/>
<S d="515072"/>
<S d="131072"/>
<S d="303104"/>
<S d="83968"/>
<S d="264192"/>
<S d="198656"/>
<S d="207872"/>
<S d="252928"/>
<S d="290816"/>
<S d="166912"/>
<S d="275456"/>
<S d="252928"/>
<S d="296960"/>
<S d="210944"/>
<S d="314368"/>
<S d="103424"/>
<S d="400384"/>
<S d="399360"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
<Representation id="540p-audio" mimeType="audio/mp4" codecs="mp4a.40.2" bandwidth="256000" audioSamplingRate="48000">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<SegmentTemplate timescale="48000" initialization="540p/init-stream1.m4s" media="540p/chunk-stream1-$Number%05d$.m4s" startNumber="1">
<SegmentTimeline>
<S t="0" d="238600"/>
<S d="384000"/>
<S d="138240"/>
<S d="356352"/>
<S d="201728"/>
<S d="505856"/>
<S d="143360"/>
<S d="64512"/>
<S d="207872"/>
<S d="293888"/>
<S d="400384"/>
<S d="99328"/>
<S d="206848"/>
<S d="129024"/>
<S d="515072"/>
<S d="131072"/>
<S d="303104"/>
<S d="83968"/>
<S d="264192"/>
<S d="198656"/>
<S d="207872"/>
<S d="252928"/>
<S d="290816"/>
<S d="166912"/>
<S d="275456"/>
<S d="252928"/>
<S d="296960"/>
<S d="210944"/>
<S d="314368"/>
<S d="103424"/>
<S d="216064"/>
<S d="363520"/>
<S d="273408"/>
<S d="169984"/>
<S d="268288"/>
<S d="181248"/>
<S d="399360"/>
<S d="325632"/>
<S d="393216"/>
<S d="400384"/>
<S d="95232"/>
<S d="189440"/>
<S d="83968"/>
<S d="212992"/>
<S d="138240"/>
<S d="228352"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
<Representation id="144p-audio" mimeType="audio/mp4" codecs="mp4a.40.2" bandwidth="96000" audioSamplingRate="48000">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<SegmentTemplate timescale="48000" initialization="144p/init-stream1.m4s" media="144p/chunk-stream1-$Number%05d$.m4s" startNumber="1">
<SegmentTimeline>
<S t="0" d="238600"/>
<S d="384000"/>
<S d="138240"/>
<S d="356352"/>
<S d="307200"/>
<S d="400384"/>
<S d="143360"/>
<S d="64512"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
</AdaptationSet>
</Period>
</MPD> |
A <?xml version="1.0" encoding="utf-8"?>
<MPD type="dynamic" availabilityStartTime="1970-01-01T00:00:00Z">
<UTCTiming schemeIdUri="urn:mpeg:dash:utc:direct:2014" value="1970-01-01T00:00:30Z" />
<Period>
<!-- ... -->
</Period>
</MPD> If your manifest is being generated on-the-fly, you can directly include the current time in the <UTCTiming schemeIdUri="urn:mpeg:dash:utc:direct:2014"
value="1970-01-01T00:00:00Z" /> You can have the client get the time from the HTTP <UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-head:2014"
value="http://foo.bar/check_me_for_the_date_header" /> You can also have a dynamically generated page on the server which itself contains the current time in XML date format (such as <UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-xsdate:2014"
value="http://foo.bar/my_body_is_the_current_date_and_time" />
Yes, except it's a string and not an array of strings. The URI you specify will be treated as if it was attached to the
It can work either way, but if the clock sync URI is on a different origin than the player, it will be a cross-origin request. You can read more about CORS on MDN.
You don't need both. If the Clock sync is critical for live playback, as the client must know what segments are available when. An individual client's clock can be potentially very far off, but even small inaccuracies can have a big impact on playback. Does that help? |
Hi,
My unencrypted live Dash stream plays in the Dash IF 1.6 reference player but not in Shaka. The warnings look like this. Any ideas?
Here is my live MPD:
The text was updated successfully, but these errors were encountered: