[FFmpeg-trac] #8719(undetermined:reopened): Some facebook mpd urls cause parser error: missing root node

FFmpeg trac at avcodec.org
Tue Jun 9 00:40:02 EEST 2020


#8719: Some facebook mpd urls cause parser error: missing root node
-------------------------------------+-------------------------------------
             Reporter:  farleylai    |                    Owner:
                 Type:  defect       |                   Status:  reopened
             Priority:  normal       |                Component:
                                     |  undetermined
              Version:  unspecified  |               Resolution:
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Changes (by farleylai):

 * status:  closed => reopened
 * resolution:  worksforme =>


Comment:

 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 at 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>
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/8719#comment:5>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list