Opened 4 years ago
Closed 4 years ago
#8719 closed defect (invalid)
Some facebook mpd urls cause parser error: missing root node
Reported by: | Farley Lai | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
Some facebook live streaming mpd urls (retrieved by youtube-dl -g) causes parser error for missing root node as follows. There is quite a chance encountering such live streams with parsing issues. In comparison, VLC can play the mpd url without any issue. Hopefully, what is missing can be clarified.
PS: if expired, there should be a bunch at https://www.facebook.com/watch/live/?ref=watch. Select the three dot option on the top right for "Copy Link" to retrieve with tools like youtube-dl.
How to reproduce:
$ ffprobe "`youtube-dl -g https://www.facebook.com/FOX35Orlando/videos/625902281343117/`" ffprobe version 4.2.3 Copyright (c) 2007-2020 the FFmpeg developers built with gcc 7.3.0 (crosstool-NG 1.23.0.449-a04d0) configuration: --prefix=/home/ml/farleylai/miniconda3/envs/sinet37 --cc=/home/ml/farleylai/miniconda3/envs/sinet37/conda-bld/ffmpeg_1591228974768/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --disable-openssl --enable-avresample --enable-demuxer=dash --enable-gnutls --enable-gpl --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-libx264 --enable-pic --enable-pthreads --enable-shared --enable-static --enable-version3 --enable-libxml2 --enable-zlib --enable-libmp3lame libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 https://video-dfw5-1.xx.fbcdn.net/hvideo-cln2-lla/_nc_cat-1/v/rN-Rvo2XZWMKe7t0sTc4Q/live-dash/dash-abr-ibr-audio/10159331661282573.mpd?_nc_rl=AfAufcjJJdNRPaeM&ms=m_CN&oh=31fb460a19411926ca3d40b8b7d89cd0&oe=5EDF1F27:242: parser error : AttValue: ' expected initialization="../live-ld-a/10159331661282573_0-in ^ https://video-dfw5-1.xx.fbcdn.net/hvideo-cln2-lla/_nc_cat-1/v/rN-Rvo2XZWMKe7t0sTc4Q/live-dash/dash-abr-ibr-audio/10159331661282573.mpd?_nc_rl=AfAufcjJJdNRPaeM&ms=m_CN&oh=31fb460a19411926ca3d40b8b7d89cd0&oe=5EDF1F27:242: parser error : attributes construct error initialization="../live-ld-a/10159331661282573_0-in ^ https://video-dfw5-1.xx.fbcdn.net/hvideo-cln2-lla/_nc_cat-1/v/rN-Rvo2XZWMKe7t0sTc4Q/live-dash/dash-abr-ibr-audio/10159331661282573.mpd?_nc_rl=AfAufcjJJdNRPaeM&ms=m_CN&oh=31fb460a19411926ca3d40b8b7d89cd0&oe=5EDF1F27:242: parser error : Couldn't find end of Start Tag SegmentTemplate line 239 initialization="../live-ld-a/10159331661282573_0-in ^ https://video-dfw5-1.xx.fbcdn.net/hvideo-cln2-lla/_nc_cat-1/v/rN-Rvo2XZWMKe7t0sTc4Q/live-dash/dash-abr-ibr-audio/10159331661282573.mpd?_nc_rl=AfAufcjJJdNRPaeM&ms=m_CN&oh=31fb460a19411926ca3d40b8b7d89cd0&oe=5EDF1F27:242: parser error : Premature end of data in tag Representation line 232 initialization="../live-ld-a/10159331661282573_0-in ^ https://video-dfw5-1.xx.fbcdn.net/hvideo-cln2-lla/_nc_cat-1/v/rN-Rvo2XZWMKe7t0sTc4Q/live-dash/dash-abr-ibr-audio/10159331661282573.mpd?_nc_rl=AfAufcjJJdNRPaeM&ms=m_CN&oh=31fb460a19411926ca3d40b8b7d89cd0&oe=5EDF1F27:242: parser error : Premature end of data in tag AdaptationSet line 179 initialization="../live-ld-a/10159331661282573_0-in ^ https://video-dfw5-1.xx.fbcdn.net/hvideo-cln2-lla/_nc_cat-1/v/rN-Rvo2XZWMKe7t0sTc4Q/live-dash/dash-abr-ibr-audio/10159331661282573.mpd?_nc_rl=AfAufcjJJdNRPaeM&ms=m_CN&oh=31fb460a19411926ca3d40b8b7d89cd0&oe=5EDF1F27:242: parser error : Premature end of data in tag Period line 22 initialization="../live-ld-a/10159331661282573_0-in ^ https://video-dfw5-1.xx.fbcdn.net/hvideo-cln2-lla/_nc_cat-1/v/rN-Rvo2XZWMKe7t0sTc4Q/live-dash/dash-abr-ibr-audio/10159331661282573.mpd?_nc_rl=AfAufcjJJdNRPaeM&ms=m_CN&oh=31fb460a19411926ca3d40b8b7d89cd0&oe=5EDF1F27:242: parser error : Premature end of data in tag MPD line 2 initialization="../live-ld-a/10159331661282573_0-in ^ [dash @ 0x559df1de81c0] Unable to parse 'https://video-dfw5-1.xx.fbcdn.net/hvideo-cln2-lla/_nc_cat-1/v/rN-Rvo2XZWMKe7t0sTc4Q/live-dash/dash-abr-ibr-audio/10159331661282573.mpd?_nc_rl=AfAufcjJJdNRPaeM&ms=m_CN&oh=31fb460a19411926ca3d40b8b7d89cd0&oe=5EDF1F27' - missing root node https://video-dfw5-1.xx.fbcdn.net/hvideo-cln2-lla/_nc_cat-1/v/rN-Rvo2XZWMKe7t0sTc4Q/live-dash/dash-abr-ibr-audio/10159331661282573.mpd?_nc_rl=AfAufcjJJdNRPaeM&ms=m_CN&oh=31fb460a19411926ca3d40b8b7d89cd0&oe=5EDF1F27: Invalid data found when processing input
Attachments (1)
Change History (7)
comment:1 by , 4 years ago
comment:2 by , 4 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
comment:3 by , 4 years ago
Resolution: | worksforme |
---|---|
Status: | closed → reopened |
Hi,
If at the time of your retrieving the streaming mpd url, the original live video has ended, there won't be any DASH mpd url returned but only regular '*.mp4' url to access. In that case, there would be no parsing error because the mpd url is not there. Please find one at https://www.facebook.com/watch/live for testing. (e.g. https://www.facebook.com/GameSpot/videos/2709904676001371 as for just now)
comment:4 by , 4 years ago
Resolution: | → worksforme |
---|---|
Status: | reopened → closed |
comment:5 by , 4 years ago
Resolution: | worksforme |
---|---|
Status: | closed → reopened |
Since a live stream may end anytime, the url retrieved may not be a dash mpd for reproducing the issue. So a dash mpd that causes parsing error with wget is fetched as attached FYI.
$> youtube-dl -g 'https://www.facebook.com/picNICKbasket/videos/620925225444429/' https://video-dfw5-1.xx.fbcdn.net/hvideo-atn3-ftw/_nc_cat-1/v/rwZbTfsorkvIBO-OHJNRK/live-dash/dash-abr5/2608905152692524.mpd?_nc_rl=AfAF5TmpkU307zs6&ms=m_CN&oh=762a3780ca7a0b8b026611ab8aa38b31&oe=5EE095FC (sinet37) farleylai@ml17-pc02:~/local/projects/sinet/SINet$ ffprobe 'https://video-dfw5-1.xx.fbcdn.net/hvideo-atn3-ftw/_nc_cat-1/v/rwZbTfsorkvIBO-OHJNRK/live-dash/dash-abr5/2608905152692524.mpd?_nc_rl=AfAF5TmpkU307zs6&ms=m_CN&oh=762a3780ca7a0b8b026611ab8aa38b31&oe=5EE095FC' ffprobe version 4.2.3 Copyright (c) 2007-2020 the FFmpeg developers built with gcc 7.3.0 (crosstool-NG 1.23.0.449-a04d0) configuration: --prefix=/home/ml/farleylai/miniconda3/envs/sinet37 --cc=/home/ml/farleylai/miniconda3/envs/sinet37/conda-bld/ffmpeg_1591228974768/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --disable-openssl --enable-avresample --enable-demuxer=dash --enable-gnutls --enable-gpl --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-libx264 --enable-pic --enable-pthreads --enable-shared --enable-static --enable-version3 --enable-libxml2 --enable-zlib --enable-libmp3lame libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 https://video-dfw5-1.xx.fbcdn.net/hvideo-atn3-ftw/_nc_cat-1/v/rwZbTfsorkvIBO-OHJNRK/live-dash/dash-abr5/2608905152692524.mpd?_nc_rl=AfAF5TmpkU307zs6&ms=m_CN&oh=762a3780ca7a0b8b026611ab8aa38b31&oe=5EE095FC:245: parser error : Specification mandates value for attribute startWithSA startWithSA ^ https://video-dfw5-1.xx.fbcdn.net/hvideo-atn3-ftw/_nc_cat-1/v/rwZbTfsorkvIBO-OHJNRK/live-dash/dash-abr5/2608905152692524.mpd?_nc_rl=AfAF5TmpkU307zs6&ms=m_CN&oh=762a3780ca7a0b8b026611ab8aa38b31&oe=5EE095FC:245: parser error : attributes construct error startWithSA ^ https://video-dfw5-1.xx.fbcdn.net/hvideo-atn3-ftw/_nc_cat-1/v/rwZbTfsorkvIBO-OHJNRK/live-dash/dash-abr5/2608905152692524.mpd?_nc_rl=AfAF5TmpkU307zs6&ms=m_CN&oh=762a3780ca7a0b8b026611ab8aa38b31&oe=5EE095FC:245: parser error : Couldn't find end of Start Tag Representation line 240 startWithSA ^ https://video-dfw5-1.xx.fbcdn.net/hvideo-atn3-ftw/_nc_cat-1/v/rwZbTfsorkvIBO-OHJNRK/live-dash/dash-abr5/2608905152692524.mpd?_nc_rl=AfAF5TmpkU307zs6&ms=m_CN&oh=762a3780ca7a0b8b026611ab8aa38b31&oe=5EE095FC:245: parser error : Premature end of data in tag AdaptationSet line 239 startWithSA ^ https://video-dfw5-1.xx.fbcdn.net/hvideo-atn3-ftw/_nc_cat-1/v/rwZbTfsorkvIBO-OHJNRK/live-dash/dash-abr5/2608905152692524.mpd?_nc_rl=AfAF5TmpkU307zs6&ms=m_CN&oh=762a3780ca7a0b8b026611ab8aa38b31&oe=5EE095FC:245: parser error : Premature end of data in tag Period line 22 startWithSA ^ https://video-dfw5-1.xx.fbcdn.net/hvideo-atn3-ftw/_nc_cat-1/v/rwZbTfsorkvIBO-OHJNRK/live-dash/dash-abr5/2608905152692524.mpd?_nc_rl=AfAF5TmpkU307zs6&ms=m_CN&oh=762a3780ca7a0b8b026611ab8aa38b31&oe=5EE095FC:245: parser error : Premature end of data in tag MPD line 2 startWithSA ^ [dash @ 0x5617c80261c0] Unable to parse 'https://video-dfw5-1.xx.fbcdn.net/hvideo-atn3-ftw/_nc_cat-1/v/rwZbTfsorkvIBO-OHJNRK/live-dash/dash-abr5/2608905152692524.mpd?_nc_rl=AfAF5TmpkU307zs6&ms=m_CN&oh=762a3780ca7a0b8b026611ab8aa38b31&oe=5EE095FC' - missing root node https://video-dfw5-1.xx.fbcdn.net/hvideo-atn3-ftw/_nc_cat-1/v/rwZbTfsorkvIBO-OHJNRK/live-dash/dash-abr5/2608905152692524.mpd?_nc_rl=AfAF5TmpkU307zs6&ms=m_CN&oh=762a3780ca7a0b8b026611ab8aa38b31&oe=5EE095FC: Invalid data found when processing input $> wget 'https://video-dfw5-1.xx.fbcdn.net/hvideo-atn3-ftw/_nc_cat-1/v/rwZbTfsorkvIBO-OHJNRK/live-dash/dash-abr5/2608905152692524.mpd?_nc_rl=AfAF5TmpkU307zs6&ms=m_CN&oh=762a3780ca7a0b8b026611ab8aa38b31&oe=5EE095FC'
The MPD downloaded with wget:
<?xml version="1.0"?> <MPD type="dynamic" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2011/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd" profiles="urn:mpeg:dash:profile:isoff-live:2011" availabilityStartTime="2020-06-08T06:54:38-07:00" availabilityEndTime="2020-06-08T14:35:36-07:00" timeShiftBufferDepth="PT20S" suggestedPresentationDelay="PT2S" minBufferTime="PT1S" publishTime="2020-06-08T06:54:38-07:00" minimumUpdatePeriod="PT1S" FBMS="true" PTS="true" currentServerTimeMs="1591651655733" firstAvTimeMs="1591624466743" lastVideoFrameTs="27190692" loapStreamId="2608905152692524" publishFrameTime="7176"> <Period id="dash-abr5" start="PT0S"> <AdaptationSet segmentAlignment="true" maxWidth="1920" maxHeight="1080" maxFrameRate="60"> <Representation id="live-md-v" mimeType="video/mp4" codecs="avc1.4d401e" width="640" height="360" frameRate="30" startWithSAP="1" bandwidth="825000" FBQualityClass="sd" FBQualityLabel="360p"> <SegmentTemplate presentationTimeOffset="0" timescale="1000" initialization="../live-md-v/2608905152692524_0-init.m4v?ms=m_CN" media="../live-md-v/2608905152692524_0-$Time$.m4v?ms=m_CN"> <SegmentTimeline> <S t="27167759" d="2000"/> <S t="27169759" d="2000"/> <S t="27171759" d="2000"/> <S t="27173759" d="2000"/> <S t="27175759" d="2000"/> <S t="27177759" d="2000"/> <S t="27179759" d="2000"/> <S t="27181759" d="2000"/> <S t="27183759" d="2000"/> <S t="27185759" d="2000"/> </SegmentTimeline> </SegmentTemplate> </Representation> <Representation id="live-qd-v" mimeType="video/mp4" codecs="avc1.4d401e" width="256" height="144" frameRate="30" startWithSAP="1" bandwidth="110000" FBQualityClass="sd" FBQualityLabel="144p"> <SegmentTemplate presentationTimeOffset="0" timescale="1000" initialization="../live-qd-v/2608905152692524_0-init.m4v?ms=m_CN" media="../live-qd-v/2608905152692524_0-$Time$.m4v?ms=m_CN"> <SegmentTimeline> <S t="27167759" d="2000"/> <S t="27169759" d="2000"/> <S t="27171759" d="2000"/> <S t="27173759" d="2000"/> <S t="27175759" d="2000"/> <S t="27177759" d="2000"/> <S t="27179759" d="2000"/> <S t="27181759" d="2000"/> <S t="27183759" d="2000"/> <S t="27185759" d="2000"/> </SegmentTimeline> </SegmentTemplate> </Representation> <Representation id="live-ld-v" mimeType="video/mp4" codecs="avc1.4d401e" width="426" height="240" frameRate="30" startWithSAP="1" bandwidth="412500" FBQualityClass="sd" FBQualityLabel="240p"> <SegmentTemplate presentationTimeOffset="0" timescale="1000" initialization="../live-ld-v/2608905152692524_0-init.m4v?ms=m_CN" media="../live-ld-v/2608905152692524_0-$Time$.m4v?ms=m_CN"> <SegmentTimeline> <S t="27167759" d="2000"/> <S t="27169759" d="2000"/> <S t="27171759" d="2000"/> <S t="27173759" d="2000"/> <S t="27175759" d="2000"/> <S t="27177759" d="2000"/> <S t="27179759" d="2000"/> <S t="27181759" d="2000"/> <S t="27183759" d="2000"/> <S t="27185759" d="2000"/> </SegmentTimeline> </SegmentTemplate> </Representation> <Representation id="live-hd-v" mimeType="video/mp4" codecs="avc1.4d401e" width="854" height="480" frameRate="30" startWithSAP="1" bandwidth="1650000" FBQualityClass="sd" FBQualityLabel="480p"> <SegmentTemplate presentationTimeOffset="0" timescale="1000" initialization="../live-hd-v/2608905152692524_0-init.m4v?ms=m_CN" media="../live-hd-v/2608905152692524_0-$Time$.m4v?ms=m_CN"> <SegmentTimeline> <S t="27167759" d="2000"/> <S t="27169759" d="2000"/> <S t="27171759" d="2000"/> <S t="27173759" d="2000"/> <S t="27175759" d="2000"/> <S t="27177759" d="2000"/> <S t="27179759" d="2000"/> <S t="27181759" d="2000"/> <S t="27183759" d="2000"/> <S t="27185759" d="2000"/> </SegmentTimeline> </SegmentTemplate> </Representation> <Representation id="live-hd1-v" mimeType="video/mp4" codecs="avc1.4d401e" width="1280" height="720" frameRate="30" startWithSAP="1" bandwidth="3300000" FBQualityClass="hd" FBQualityLabel="720p"> <SegmentTemplate presentationTimeOffset="0" timescale="1000" initialization="../live-hd1-v/2608905152692524_0-init.m4v?ms=m_CN" media="../live-hd1-v/2608905152692524_0-$Time$.m4v?ms=m_CN"> <SegmentTimeline> <S t="27167759" d="2000"/> <S t="27169759" d="2000"/> <S t="27171759" d="2000"/> <S t="27173759" d="2000"/> <S t="27175759" d="2000"/> <S t="27177759" d="2000"/> <S t="27179759" d="2000"/> <S t="27181759" d="2000"/> <S t="27183759" d="2000"/> <S t="27185759" d="2000"/> </SegmentTimeline> </SegmentTemplate> </Representation> <Representation id="live-hd2-v" mimeType="video/mp4" codecs="avc1.4d401e" width="1920" height="1080" frameRate="30" startWithSAP="1" bandwidth="5500000" FBQualityClass="hd" FBQualityLabel="1080p"> <SegmentTemplate presentationTimeOffset="0" timescale="1000" initialization="../live-hd2-v/2608905152692524_0-init.m4v?ms=m_CN" media="../live-hd2-v/2608905152692524_0-$Time$.m4v?ms=m_CN"> <SegmentTimeline> <S t="27167759" d="2000"/> <S t="27169759" d="2000"/> <S t="27171759" d="2000"/> <S t="27173759" d="2000"/> <S t="27175759" d="2000"/> <S t="27177759" d="2000"/> <S t="27179759" d="2000"/> <S t="27181759" d="2000"/> <S t="27183759" d="2000"/> <S t="27185759" d="2000"/> </SegmentTimeline> </SegmentTemplate> </Representation> <Representation id="live-pst-v" mimeType="video/mp4" codecs="avc1.4d401e" width="1920" height="1080" frameRate="60" startWithSAP="1" bandwidth="15000000" FBQualityClass="hd" FBQualityLabel="1080p (Source)"> <SegmentTemplate presentationTimeOffset="0" timescale="1000" initialization="../live-pst-v/2608905152692524_0-init.m4v?ms=m_CN" media="../live-pst-v/2608905152692524_0-$Time$.m4v?ms=m_CN"> <SegmentTimeline> <S t="27167759" d="2000"/> <S t="27169759" d="2000"/> <S t="27171759" d="2000"/> <S t="27173759" d="2000"/> <S t="27175759" d="2000"/> <S t="27177759" d="2000"/> <S t="27179759" d="2000"/> <S t="27181759" d="2000"/> <S t="27183759" d="2000"/> <S t="27185759" d="2000"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> <AdaptationSet segmentAlignment="true"> <Representation id="live-md-a" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="48000" startWithSAP="1" bandwidth="131868"> <SegmentTemplate presentationTimeOffset="0" timescale="1000" initialization="../live-md-a/2608905152692524_0-init.m4a?ms=m_CN" media="../live-md-a/2608905152692524_0-$Time$.m4a?ms=m_CN"> <SegmentTimeline> <S t="27167759" d="2000"/> <S t="27169759" d="2000"/> <S t="27171759" d="2000"/> <S t="27173759" d="2000"/> <S t="27175759" d="2000"/> <S t="27177759" d="2000"/> <S t="27179759" d="2000"/> <S t="27181759" d="2000"/> <S t="27183759" d="2000"/> <S t="27185759" d="2000"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period> </MPD>
by , 4 years ago
Attachment: | 2608905152692524.mpd?_nc_rl=AfAF5TmpkU307zs6&ms=m_CN&oh=762a3780ca7a0b8b026611ab8aa38b31&oe=5EE095FC added |
---|
A dash mpd causing parsing error fetched with wget
comment:6 by , 4 years ago
Resolution: | → invalid |
---|---|
Status: | reopened → closed |
Sorry for setting the wrong solution, please do not reopen this ticket!
ok here