How to download and encode a video from a MPD manifest?
Regarding your FFMPEG issue, you need to build/obtain FFmpeg with --enable-libxml2 configuration enabled to correctly parse a manifest.mpd file.

You can check whether your FFmpeg supports libxml2 by simply running it without any arguments. Here is the output from FFmpeg 4.1 I built with --enable-libxml2 (see --enable-libxml2 in the start of the 4th line of the output):

%./ffmpeg

ffmpeg version n4.1-10-g59e30c05d7 Copyright (c) 2000-2018 the FFmpeg developers   
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.6) 20160609
 configuration: --enable-gpl --enable-version3 --enable-openssl 
--enable-libxml2 --enable-libssh --enable-libvorbis --enable-libvpx 
--enable-libwavpack --enable-libwebp --enable-libx264 
--enable-libx265 --enable-libxvid --enable-libzmq 
--enable-libzvbi --enable-libopus --enable-libpulse --enable-gmp --enable-libmodplug --enable-nonfree
          libavutil      56. 22.100 / 56. 22.100
          libavcodec     58. 35.100 / 58. 35.100
          libavformat    58. 20.100 / 58. 20.100
          libavdevice    58.  5.100 / 58.  5.100
          libavfilter     7. 40.101 /  7. 40.101
          libswscale      5.  3.100 /  5.  3.100
          libswresample   3.  3.100 /  3.  3.100
          libpostproc    55.  3.100 / 55.  3.100
        Hyper fast Audio and Video encoder


Regarding your question above, once you have a working FFmpeg with --enable-libxml2, you can transcode the .mpd to .mp4:

ffmpeg -i manifest.mpd -codec copy out.mp4


Note: I use -codec copy above to avoid transcoding of actual video and audio.