XML Specifications for versions 2.x

Registered by Damien Boucard

Specifications of the XML format MetaCast

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Informational Informational
Milestone target:
None

Related branches

Sprints

Whiteboard

List of all XML element allowed in the format:

<metacast ...>
The tag <metacast> is the root of the format. All file in this format starts with that tag.

The tag <metacast> has one mandatory attribute "version" which specifies the used version of MetaCast format. For a file in format 2.0, the tag will be then:

<metacast version="2.0">
...
</metacast>

The tag <metacast> also accepts one optional attribute "type" which can indicate its recommended display form. This attribute accepts the following values:

    * "video" : for a single video, unchaptered (the tag <chapters> is ignored) ;
    * "chaptered" : for a chaptered video (the tags <image> are ignored) ;
    * "webinar" : for a slided, chaptered video (no tag ignored) ;

Without any attribute "type", the software can guess the media type with the following way:

    * if the tag <chapters> does not contain any element, then: type="video"
    * if the chapter items does not have an element "image", then: type="chaptered"
    * otherwise: type="webinar"

    * Allowed parent tags : none
    * Allowed children tags : <title>, <description>, <creation>, <chapters>, <speaker>, <category>, <keywords>, <videos>
    * No text content.

<videos>
The tag <videos> aims to reference the videos related to the metadata file. No attributes.

Be careful, there can be several brother tags <videos> (on the same level of a DOM branch). If a such case happened, the considered tag would be unpredictable (serious, mostly if the tags contain different values).

    * Allowed parent tags: <metacast>
    * Allowed children tags: <video>
    * No text content.

<video>
The tag <video> aims to reference a video related to the metadata file.

The tag <video> has an optional attribute "original" which aims to specify if the video defined in this tag is or is not the original media. This attribute aims to know which video to use for transcoding. Without a such attribute among all subelements of the tag <videos>, any video can be use as source for a transcoding (conventionally the 1st element). The allowed values for that attribute are:

    * "1" : the related video is considered as original;
    * "0" (default) : the related video comes from a previous transcoding;

The tag <video> has another optional attribute "edited" which aims to specify if the video defined in that tag has or has not been subjected to editing operations defined in the chapter items (see attribute "edit-point"). The allowed values are:

    * "1" : the video has been subjected to editing operation;
    * "0" (default) : la video has not been subjected to the described edition;

Note : usually, a video having "original=1" should not also have "edited=1".

During an export process, it is preferable to consider the exported video as original and to recompute the <timecode>s and to remove the "edit-point" si this video has been subjected to an edition.

The tag <video> must include a tag <filename> or <url> or <publishid> not to be ignored.

The mere presence of this tag is enough to know if the video has been successfully transcoded or not.

There can be several brother tags <video> (on the same level of a DOM branch).

    * Allowed parent tags: <videos>
    * Allowed children tags: <filename>, <publishid>
    * Mandatory children tags: <filename> OR <publishid> (exclusive)

<filename>
The tag <filename> contains the name of the video file without its access path. No attributes.

This tag can be omitted for a string publication export.

    * Allowed parent tags: <video>
    * Allowed children tags: aucune
    * Textual content expected.

<publishid ...>
The tag <publishid> contains the identifier of the uploaded video.

This tag requires one mandatory attribute "type" to identify the host which the video has been uploaded; this data will be used to determine which API to use for the polling of the video state. Thus, the accepted values depends to the application which use MetaCast. Just one value has been fixed:

    * "url" : the textual content is a direct URL to the video.

There can be several tags <publishid> having different attribute "type" values for the same video.

    * Allowed parent tags: <video>
    * Allowed children tags: aucune
    * Textual content expected.

<chapters>
The tag <chapters> aims to gather the informations about chapters. No attributes.

Be careful, there cannot be several brother tags <chapters> (on the same level of a DOM branch). If a such case happened, the considered tag would be unpredictable (serious, mostly if the tags contain different values).

    * Allowed parent tags: <metacast>
    * Allowed children tags: <item>
    * No textual content.

<item>
The tag <item> aims to define a chapter, also called chapter item.

The tag <item> has an optional attribute "edit-point" which is used to specify a start or stop point in the video. These values will be used either for pseudo-editing during the video playing, or during an export, in which case the MetaCast file will have to be generated again to consider the new timecodes. The expected values of the attribute "edit-point" are:

    * "start": the video will start at this chapter.
    * "stop" : the video will stop at this chapter.

Future value :

    * "break" : the video will skip this chapter.

The tag <item> has another optional attribute "hidden" which is used to specify if the chapter item is present in the chapter list ot not. That is useful to display intermediate slides which does not justify a new chapter in itself. The expected values are:

    * "1" : the chapter will not be indexed.
    * "0" (par défaut) : the chapter will be shown in the chapter list.

The tag <item> must necessarily contain a tag <timecode> not to be ignored.

There can be several brother tags <item> (on the same level of a DOM branch).

    * Allowed parent tags: <chapters>
    * Allowed children tags: <title>, <description>, <image>
    * Mandatory children tags: <timecode>

<title>
The tag <title> aims to define a title. No attributes.

If it is a direct child from the tag <metacast>, its textual content will be considered as the video title. If it is a direct child from the tag <item>, its textual content will be considered as the chapter label.

Be careful, there cannot be several brother tags <title> (on the same level of a DOM branch). If a such case happened, the considered tag would be unpredictable (serious, mostly if the tags contain different values).

    * Allowed parent tags: <metacast>, <item>
    * Allowed children tags: none
    * Optional textual content.

<description>
The tag <description> aims to define a description. No attributes.

If it is a direct child from the tag <metacast>, its textual content will be considered as the video description. If it is a direct child from the tag <item>, its textual content will be considered as the chapter short description.

Be careful, there cannot be several brother tags <description> (on the same level of a DOM branch). If a such case happened, the considered tag would be unpredictable (serious, mostly if the tags contain different values).

    * Allowed parent tags: <metacast>, <item>
    * Allowed children tags: none
    * Optional textual content.

<speaker>
The tag <speaker> aims to specify the name(s) of people speaking in the video. No attributes.

    * Allowed parent tags: <metacast>
    * Allowed children tags: none
    * Optional textual content.

<category>
The tag <category> aims to define the category of a video. This information will be used in the view of this online publication. No attributes.

    * Allowed parent tags: <metacast>
    * Allowed children tags: none
    * Optional textual content.

<keywords>
The tag <keywords> aims to define a keyword list in relation to the video theme. This information will be used in view of its online publication. No attributes.

The textual content is a comma-separated keyword list.

    * Allowed parent tags: <metacast>
    * Allowed children tags: none
    * Optional textual content.

<creation>
The tag <creation> aims to store the creation date of the video. In the absence thereof, it is the creation date of the MetaCast file itself (or entry for DB). No attributes.

The textual content must be a 24-character string to the following format: Tue Mar 10 17:54:02 2009

    * Allowed parent tag: <metacast>
    * Allowed children tag: none
    * Optional textual content.

<image>
The tag <image> aims to define a (relative) path or an URL to the image related to a chapter (usually the slide snapshot). No attributes.

    * Allowed parent tags: <item>
    * Allowed children tag: none
    * Optional textual content.

<timecode>
The tag <timecode> contains temporal information defining the instant, relatively to the begin of the video, when starts the related chapter. No attributes.

The textual content is to the following format: HOUR:MINUTE:SECOND where HOUR, MINUTE and SECOND are positive numeric values on 2 digits.

So, 00:00:00 represents the begin of the video.

    * Allowed parent tags: <item>
    * Allowed children tag: none
    * Expected textual content.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.