This is the Annodex Media Validation Service, a free service that checks Web-accessible Ogg, CMML and Annodex media resources for conformance to Annodex and Xiph.Org specifications.

Overview

This service can be used to validate Web-accessible Ogg, CMML and Annodex resources.

HTTP reporting

The following HTTP actions are reported:

  • Any HTTP redirections encountered while attempting to access the resource
  • In case of error, the status code of the HTTP response
  • The Content-Type HTTP response header as reported by the server
  • The value of the X-Accept-TimeURI HTTP header. For more information see the Time intervals in URIs Internet-Draft section 6.1.
  • For Annodex resources (URLs returning Content-Type */annodex), an attempt will be made to retrieve and validate the associated CMML by requesting the same URL with the additional HTTP request header Accept: text/x-cmml. For more information, see the Annodex Internet-Draft section 6.1.2.

Ogg media validation

This service recognizes Ogg media resources of the following content types:

  • application/ogg
  • audio/ogg
  • video/ogg
  • audio/vorbis
  • audio/speex
  • video/theora
  • application/annodex
  • video/annodex
  • audio/annodex

  • application/x-ogg
  • audio/x-ogg
  • video/x-ogg
  • audio/x-vorbis
  • audio/x-speex
  • video/x-theora
  • application/x-annodex
  • video/x-annodex
  • audio/x-annodex

The following types of errors can be detected in Ogg framing:

  • File contains no Ogg packets
  • Packets out of order
  • Packet belongs to unknown serialno
  • Granulepos decreasing within track
  • Multiple bos packets
  • Multiple eos packets
  • eos marked but no bos
  • Missing eos packets
  • Granulepos on page with no completed packets
  • Theora video bos page after audio bos page

Please note that only the first 1024KB of the media resource are retrieved. Validation of media content is performed by oggz-validate.

CMML Markup validation

This service recognizes CMML resources of content type:

  • text/cmml

  • text/x-cmml

The following types of errors can be detected in CMML markup:

  • Error in formatting of time in a required tag
  • General parsing error
  • No cmml tag was found
  • No head tag was found
  • there is a head or a clip tag before the stream
  • there is a clip tag before the head tag
  • there are two stream tags
  • there are two head tags

Additionally, the following warnings will be given for CMML markup:

  • error in the formatting of an implied attribute
  • skipping an unknown tag
  • skipping a faulty tag
  • xmlns in cmml tag is wrongly redefined
  • clip with start time in the "past" skipped

Validation of CMML content is performed by cmml-validate.

Source code

Source code for this service is available from:

http://svn.annodex.net/annodex-validator/trunk