Just found out that the MPD validation issue was because the MPD attributes for xmlns and xsi:schemaLocation should be this
xmlns="urn:mpeg:dash:schema:mpd:2011" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011" instead of xmlns="urn:mpeg:DASH:schema:MPD:2011" xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011" Not sure why ffmpeg has not fixed this as yet. But now that MPD validation has succeeded I am getting Schematron validation error! This is the error location="/*[local-name()='MPD' and namespace-uri()='urn:mpeg:dash:schema:mpd:2011']"> The On-Demand profile shall be identified by the URN "urn:mpeg:dash:profile:isoff-on-demand:2011". The live profile shall be identified by the URN "urn:mpeg:dash:profile:isoff-live:2011". The main profile shall be identified by the URN "urn:mpeg:dash:profile:isoff-main:2011". The full profile shall be identified by the URN "urn:mpeg:dash:profile:full:2011". The mp2t-main profile shall be identified by the URN "urn:mpeg:dash:profile:mp2t-main:2011". The mp2t-simple profile shall be identified by the URN "urn:mpeg:dash:profile:mp2t-simple:2011".The Dolby AC-4 profile shall be identified by " http://dashif.org/guidelines/dashif#ac-4". The multichannel audio extension with MPEG-H 3D Audio profile shall be identified by " http://dashif.org/guidelines/dashif#mha1". Schematron validation not successful - DASH is not valid! Appreciate your help. Regards, *Rahul * On Sat, Jan 16, 2016 at 12:47 PM, Rahul Prasad <[email protected]> wrote: > TL;DR DASH manifest file (mpd) created using ffmpeg fails the validation > test and also fails to play. > > This is what I did: > > Step 1: Transcoded 2 video files with different resolution and bitrate > (without audio stream) > > > > > *ffmpeg -y -i file1.mp4 -c:v libvpx -vf scale=-2:270 -quality good > -cpu-used 0 -b:v 400k -maxrate 400k -bufsize 400k -keyint_min 150 -g 150 > -an -f webm -dash 1 file1-270.webmffmpeg -y -i file1.mp4 -c:v libvpx -vf > scale=-2:360 -quality good -cpu-used 0 -b:v 1200k -maxrate 1200k -bufsize > 1200k -keyint_min 150 -g 150 -an -f webm -dash 1 file1-360.webm* > Step 2: Separately transcoded the audio stream > > > *ffmpeg -y -i file1.mp4 -c:a libvorbis -b:a 128k -vn -f webm -dash 1 > file1-audio.webm* > Step 3: Created the Dash manifest file > > > *ffmpeg -f webm_dash_manifest -i file1-270.webm -f webm_dash_manifest -i > file1-360.webm -f webm_dash_manifest -i file1-audio.webm -c copy -map 0 > -map 1 -map 2 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1 > id=1,streams=2" file1.mpd* > When I run this I get > this > warning "Output file is empty, nothing was encoded (check -ss / -t / > -frames parameters if used)". However, the output file > gets > created. > > Now when I tried to run this file through DASH validation ( > http://dashif.org/conformance.html) it said "MPD validation failed". > Another validation tool (http://www-itec.uni-klu.ac.at/dash/?page_id=605) > threw this error > > > *Line:Col[8:57]:cvc-elt.1: Cannot find the declaration of element > ‘MPD’.MPD validation not successful – DASH is not valid!* > > > > Regards, > Rahul Prasad > _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user
