Opened 9 years ago

Closed 9 years ago

#4545 closed defect (fixed)

MPEG Dash output does not pass MPD Validator

Reported by: FishB8 Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: dash
Cc: Abbadon Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Various errors when testing the MPD output on the validator.

http://www-itec.uni-klu.ac.at/dash/?page_id=605

Change History (12)

comment:1 by Carl Eugen Hoyos, 9 years ago

Keywords: dash mpd removed
Resolution: needs_more_info
Status: newclosed

comment:2 by FishB8, 9 years ago

I can provide more info... but I'm not sure where to start. All mpd output fails, but the validator only gives the first error it finds. If I manually fix and error another pops up, so there are multiple errors happening.

Suggestions welcome.

comment:3 by FishB8, 9 years ago

Actually I take that back, there only seems to one error. I messed up my copy/paste into the validator. I'll file a separate bug that is more specific.

comment:4 by James, 9 years ago

You can reopen and edit this one instead, if it's still about mpeg dash output not validating

comment:5 by FishB8, 9 years ago

Ok.

To generate content for testing:

ffmpeg -y -f lavfi -i testsrc=size=1280x720:rate=30000/1001 -f lavfi -i sine=f=440:b=880:r=48000 -map 0:v -map 1:a -t 20 -c:v libx264 -b:v 1280k -g 30 -preset:v superfast -pix_fmt yuv420p -c:a libfdk_aac -ab 96k -ac 2 -f dash ./test.mpd

Running test.mpd through the validator produces the following:

Line:Col[12:93]:cvc-datatype-valid.1.2.1: ‘video’ is not a valid value for ‘integer’.
Line:Col[12:93]:cvc-attribute.3: The value ‘video’ of attribute ‘id’ on element ‘AdaptationSet’ is not valid with respect to its type, ‘unsignedInt’.
Unexpected error: For input string: "video"

The same applies for 'audio' on an AdaptationSet element following it.

Of course there is always a possibility the validator is incorrect, but I'm assuming it is authoritative since it is provided by the standards group.

comment:6 by FishB8, 9 years ago

Resolution: needs_more_info
Status: closedreopened

comment:7 by FishB8, 9 years ago

I just now noticed that the validator is based off the 2012 standard, so it may not be up-to-date with the newer 2014 standard. Don't know enough about it yet to know what the differences are.

comment:8 by James, 9 years ago

Status: reopenedopen

A patch is on the mailing list.

comment:9 by James, 9 years ago

Resolution: fixed
Status: openclosed

Fixed in 32a4177a627ddce984a5a9ed7023d9a63dcbdf85, thanks for the report.

comment:10 by Carl Eugen Hoyos, 9 years ago

Keywords: dash added

comment:11 by Abbadon, 9 years ago

Resolution: fixed
Status: closedreopened

I'm doing MPEG-DASH live streaming, and the generated mpd file is not valid when testing with the mentioned mpd validator.

The error:
Line:Col[12:150]:cvc-complex-type.3.2.2: Attribute ‘publishTime’ is not allowed to appear in element ‘MPD’.

I'm using the static windows build git-91b668a (2015-09-23), but had this error also with earlier builds.

The generated MPD file looks like this: http://pastebin.com/xf0kNREr

comment:12 by Carl Eugen Hoyos, 9 years ago

Cc: Abbadon added
Resolution: fixed
Status: reopenedclosed

Please open a new ticket, do not reopen fixed tickets. Don't forgot to paste the necessary information in the ticket, please do not point to external resources. Also add information on how to produce the faulty file, ie provide a simplified command line including the complete, uncut console output.

Note: See TracTickets for help on using tickets.