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
stream.dash: recording the direct via a mpd #5409
Comments
The MPD URL is useless, because it's geo-blocked. Luckily, I was able to access it with a French IP address. This looks like a duplicate of the issue mentioned in #5201. Let me keep this thread open for now though because #5201 is more of a meta-thread for different DASH issues.
The manifest includes a lot of periods. Streamlink does only support playback of one period, which is the first one when no specific period was selected. This is because Streamlink doesn't support stream discontinuities. There's also UTC sync information at the bottom which Streamlink's DASHStream implementation doesn't support, which means the client's system time needs to be properly synced instead. Regarding of what other players/DASH-parsers do, the manifest includes a
Excerpt of the manifest (first period only) accessed at <?xml version="1.0" encoding="utf-8"?>
<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:scte35="urn:scte:scte35:2013:xml" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" id="201" type="dynamic" publishTime="2023-07-01T20:15:29+00:00" minimumUpdatePeriod="PT7S" availabilityStartTime="2023-02-16T12:51:31.764000+00:00" minBufferTime="PT18S" suggestedPresentationDelay="PT18.000S" timeShiftBufferDepth="PT14398.000S" profiles="urn:mpeg:dash:profile:isoff-live:2011">
<Period start="PT11676116.731S" id="1475414" duration="PT368.240S">
<EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml">
<Event duration="33040800">
<scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="3363863984" tier="4095">
<scte35:SpliceInsert spliceEventId="536928163" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="true" uniqueProgramId="1920" availNum="0" availsExpected="0">
<scte35:Program/>
<scte35:BreakDuration autoReturn="true" duration="33040800"/>
</scte35:SpliceInsert>
</scte35:SpliceInfoSection>
</Event>
</EventStream>
<AdaptationSet id="1485523442" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1" bitstreamSwitching="true">
<Representation id="1" width="1280" height="720" frameRate="25/1" bandwidth="2499968" codecs="avc1.4D401F">
<SegmentTemplate timescale="25000" media="index_video_1_0_$Number$.mp4?m=1683904220" initialization="index_video_1_0_init.mp4?m=1683904220" startNumber="1475430" presentationTimeOffset="291902918286">
<SegmentTimeline>
<S t="291905924286" d="200000" r="29"/>
<S t="291911924286" d="171000"/>
<S t="291912095286" d="29000"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
<Representation id="2" width="1024" height="576" frameRate="25/1" bandwidth="1699968" codecs="avc1.4D401F">
<SegmentTemplate timescale="25000" media="index_video_2_0_$Number$.mp4?m=1683904220" initialization="index_video_2_0_init.mp4?m=1683904220" startNumber="1475430" presentationTimeOffset="291902918286">
<SegmentTimeline>
<S t="291905924286" d="200000" r="29"/>
<S t="291911924286" d="171000"/>
<S t="291912095286" d="29000"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
<Representation id="3" width="1024" height="576" frameRate="25/1" bandwidth="1200000" codecs="avc1.4D401F">
<SegmentTemplate timescale="25000" media="index_video_3_0_$Number$.mp4?m=1683904220" initialization="index_video_3_0_init.mp4?m=1683904220" startNumber="1475430" presentationTimeOffset="291902918286">
<SegmentTimeline>
<S t="291905924286" d="200000" r="29"/>
<S t="291911924286" d="171000"/>
<S t="291912095286" d="29000"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
<Representation id="4" width="640" height="360" frameRate="25/1" bandwidth="800000" codecs="avc1.42C01E">
<SegmentTemplate timescale="25000" media="index_video_4_0_$Number$.mp4?m=1683904220" initialization="index_video_4_0_init.mp4?m=1683904220" startNumber="1475430" presentationTimeOffset="291902918286">
<SegmentTimeline>
<S t="291905924286" d="200000" r="29"/>
<S t="291911924286" d="171000"/>
<S t="291912095286" d="29000"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
<Representation id="5" width="416" height="234" frameRate="25/1" bandwidth="400000" codecs="avc1.42C00D">
<SegmentTemplate timescale="25000" media="index_video_5_0_$Number$.mp4?m=1683904220" initialization="index_video_5_0_init.mp4?m=1683904220" startNumber="1475430" presentationTimeOffset="291902918286">
<SegmentTimeline>
<S t="291905924286" d="200000" r="29"/>
<S t="291911924286" d="171000"/>
<S t="291912095286" d="29000"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
</AdaptationSet>
<AdaptationSet id="1299661462" mimeType="audio/mp4" segmentAlignment="0" lang="mul">
<Label>VO</Label>
<Representation id="6" bandwidth="96495" audioSamplingRate="48000" codecs="mp4a.40.2">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<SegmentTemplate timescale="48000" media="index_audio_6_0_$Number$.mp4?m=1683904220" initialization="index_audio_6_0_init.mp4?m=1683904220" startNumber="1475430" presentationTimeOffset="560453603814">
<SegmentTimeline>
<S t="560459375078" d="384000" r="29"/>
<S t="560470895078" d="328704"/>
<S t="560471223782" d="55296"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
</AdaptationSet>
<AdaptationSet id="278844692" mimeType="audio/mp4" segmentAlignment="0" lang="sme">
<Label>audio description</Label>
<Representation id="7" bandwidth="96639" audioSamplingRate="48000" codecs="mp4a.40.2">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<SegmentTemplate timescale="48000" media="index_audio_7_0_$Number$.mp4?m=1683904220" initialization="index_audio_7_0_init.mp4?m=1683904220" startNumber="1475430" presentationTimeOffset="560453603814">
<SegmentTimeline>
<S t="560459375078" d="384000" r="29"/>
<S t="560470895078" d="328704"/>
<S t="560471223782" d="55296"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
</AdaptationSet>
<AdaptationSet id="1258454721" mimeType="audio/mp4" segmentAlignment="0" lang="fra">
<Label>français</Label>
<Representation id="8" bandwidth="128905" audioSamplingRate="48000" codecs="mp4a.40.2">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<SegmentTemplate timescale="48000" media="index_audio_11_0_$Number$.mp4?m=1683904220" initialization="index_audio_11_0_init.mp4?m=1683904220" startNumber="1475430" presentationTimeOffset="560453603814">
<SegmentTimeline>
<S t="560459375078" d="384000" r="29"/>
<S t="560470895078" d="328704"/>
<S t="560471223782" d="55296"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
</AdaptationSet>
<AdaptationSet id="279471494" mimeType="application/mp4" codecs="stpp" segmentAlignment="true" startWithSAP="1" bitstreamSwitching="true" lang="mul" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
<Label>no subtitles</Label>
<Representation id="9" bandwidth="2000">
<SegmentTemplate timescale="90000" media="index_subtitles_8_0_$Number$.mp4?m=1683904220" initialization="index_subtitles_8_0_init.mp4?m=1683904220" startNumber="1475430" presentationTimeOffset="1050850505832">
<SegmentTimeline>
<S t="1050861327432" d="720000" r="29"/>
<S t="1050882927432" d="615600"/>
<S t="1050883543032" d="104400"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
</AdaptationSet>
<AdaptationSet id="1463501478" mimeType="application/mp4" codecs="stpp" segmentAlignment="true" startWithSAP="1" bitstreamSwitching="true" lang="sme" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
<Label>Sourds et malentendant</Label>
<Representation id="10" bandwidth="2000">
<SegmentTemplate timescale="90000" media="index_subtitles_9_0_$Number$.mp4?m=1683904220" initialization="index_subtitles_9_0_init.mp4?m=1683904220" startNumber="1475430" presentationTimeOffset="1050850505832">
<SegmentTimeline>
<S t="1050861327432" d="720000" r="29"/>
<S t="1050882927432" d="615600"/>
<S t="1050883543032" d="104400"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
</AdaptationSet>
<AdaptationSet id="153006254" mimeType="application/mp4" codecs="stpp" segmentAlignment="true" startWithSAP="1" bitstreamSwitching="true" lang="fra" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
<Label>français</Label>
<Representation id="11" bandwidth="2000">
<SegmentTemplate timescale="90000" media="index_subtitles_10_0_$Number$.mp4?m=1683904220" initialization="index_subtitles_10_0_init.mp4?m=1683904220" startNumber="1475430" presentationTimeOffset="1050850505832">
<SegmentTimeline>
<S t="1050861327432" d="720000" r="29"/>
<S t="1050882927432" d="615600"/>
<S t="1050883543032" d="104400"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
</AdaptationSet>
<SupplementalProperty schemeIdUri="urn:scte:dash:utc-time" value="2023-07-01T18:13:23.440Z"/>
</Period>
</MPD>
|
Thanks for the explaination. Let me know if I can helop you more. |
Checklist
Streamlink version
Latest stable release
Description
Regarding the issue #5379, I've tried to record the direct of TF1 website.
So after creating a python script with my own credentials, I've obtain the manifest which is the following :
https://live-tf1-das.cdn-0.diff.tf1.fr/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjaXAiOiI4Mi42Ni4xNjcuNzgiLCJjbWNkIjoiIiwiZXhwIjoxNjg4MjU0ODUxLCJnaWQiOiI2NGFiMGQyMjdmYjM0Mjk1OTljNTI1NjU4YTZhYjNkNiIsImlhdCI6MTY4ODI0MDQ1MSwiaXNzIjoiZGVsaXZlcnkiLCJtYXhiIjowLCJzdGVtIjoiL291dC92MS9kZmUzNmY5MDk2NDk0NzEyOTkwMmI4NDJiODNlNjViNCIsInN1YiI6IjY0YWIwZDIyN2ZiMzQyOTU5OWM1MjU2NThhNmFiM2Q2In0.OpHL9MMU3C8CYmBa06gyWXDUHWR_3PtYYloOGXEmlNw/out/v1/dfe36f90964947129902b842b83e65b4/index.mpd
After this, I've trying to record only one minute of the direct, but the resulting video was a recording of an "old" direct several hours before.
The resulting video have surely bad timestamps as opening this with mpv player doesn't displayed a good progress of the playing.
The mediainfo is the following :
Debug log
The text was updated successfully, but these errors were encountered: