Overview on how to get video onto the Field59 Video Platform

Incoming video content consists of two parts: stand alone meta data and video/image information. The metadata can be in the form of either an xml document or a csv file. The schema of these documents can be found at the end of this article, and examples of these import documents can be found in the examples portion of the import process section.

Import Process

There are two options for importing the video and thumbnail assets. These are physical drives and URLs.

Physical Drives

In the case of physical drives, the drives must be formatted in ext3 or ext4 and the import documents must contain relative paths to the assets.

For example:

Drive Layout:
/2011/06/01/video_4811.mp4
/2011/06/01/thumb_4811.jpg
/2011/06/01/video_4813.mp4
/2011/06/01/thumb_4813.jpg

CSV Document:

name,summary,description,attribution,create_date,category,tags,video_url,video_location,video_duration,thumbnail_url,thumbnail_location
video 4811,,,,,,,,/2011/06/01/video_4811.mp4,,,/2011/06/01/video_4811.jpg
video 4813,,,,,,,,/2011/06/01/video_4813.mp4,,,/2011/06/01/video_4813.jpg

XML Document:
<packages>
<package>
<name>Video 4811</name>
<videos>
<video>
<location>/2011/06/01/video_4811.mp4</location>
<thumbnail>
<location>/2011/06/01/thumb_4811.jpg</location>
</thumbnail>
</video>
</videos>
</package>
<package>
<name>Video 4813</name>
<videos>
<video>
<location>/2011/06/01/video_4813.mp4</location>
<thumbnail>
<location>/2011/06/01/thumb_4813.jpg</location>
</thumbnail>
</video>
</videos>
</package>
</packages>

URL Based Import

With urls, all you need to do is provide the import documents and we will take care of the rest.

For Example:

File URL Layout:
http://example.com/2011/06/01/video_4811.mp4
http://example.com/2011/06/01/thumb_4811.jpg
http://example.com/2011/06/01/video_4813.mp4
http://example.com/2011/06/01/thumb_4813.jpg

CSV Document

name,summary,description,attribution,create_date,category,tags,video_url,video_location,video_duration,thumbnail_url,thumbnail_location
video 4811,,,,,,,example.com/2011/06/01/video_4811.mp4,,,example.com/2011/06/01/video_4811.jpg,
4813,,,,,,,example.com/2011/06/01/video_4813.mp4,,,example.com/2011/06/01/video_4813.jpg,

XML Document
<packages>
<package>
<name>Video 4811</name>
<videos>
<video>
<url>/2011/06/01/video_4811.mp4</url>
<thumbnail>
<url>/2011/06/01/thumb_4811.jpg</url>
</thumbnail>
</video>
</videos>
</package>
<package>
<name>Video 4813</name>
<videos>
<video>
<url>/2011/06/01/video_4813.mp4</url>
<thumbnail>
<url>/2011/06/01/thumb_4813.jpg</url>
</thumbnail>
</video>
</videos>
</package>
</packages>

Meta Data

This section defines the different fields specified in the import documents.

  • name
    • Definition: Name of the video asset.
    • Limits: 1024 Character String
  • summary
    • Definition: A textual summary of the asset or teaser text.
    • Limits: 1024 Character String
  • description
    • Definition: A more detailed textual summary, play-by-play or analysis of the asset.
    • Limits: 1024 Character String
  • attribution
    • Definition: Third-party author or source for the asset
    • Limits: 1024 Character String
  • create_date
    • Definition: Date stamp signifying when the package was created. If this isn’t set, then today’s date is put in its place.
    • Limits: ISO 8601 compliant date
  • category
    • Definition: Term will be used for applying a single advertising domain to content.  The available categories will be controlled entirely by Field59 and clients cannot modify them.  When displayed and editable, categories will always appear as a drop down menu.
    • Limits:
      • Single Value
      • Enumerated value: Automotive, Business, Culture, Education, Entertainment, Games, Health, Lifestyle, News/Information, Political, Religion, Shopping, Sports, Technology, Travel, and Weather
  • tags
    • Definition: Term used for clients to give them the ability to create and maintain their own taxonomy.  Must be able to apply multiple tags to a single piece of content.  Tags for a single client or client group should attempt to auto-populate when being typed in to help avoid misspellings.
    • Limits:
      • Comma delimited
      • Single words
  • video_url
    • Definition: Full url pointing to video asset
    • Limits: Full url
  • video_location
    • Definition: When importing from a hard drive, this is the relative path of the media being imported.
    • Limits: The path must be relative to the hard drive
  • video_duration
    • Definition: The length in seconds of the video
    • Limits: Integer
  • thumbnail_url
    • Definition: Full URL pointing to thumbnail asset
    • Limits: Full URL
  • thumbnail_location
    • Definition: When importing from a hard drive, this is the relative path of the media being imported.
    • Limits: The path must be relative to the hard drive
Schema

CSV

name,summary,description,attribution,create_date,category,tags,video_url,video_location,video_duration,thumbnail_url,thumbnail_location

XML

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="packages">
<xs:complexType>
<xs:all>
<xs:element name="package" minOccurs=”0” maxOccurs=”unbounded”>
<xs:complexType>
<xs:all>
<xs:element name="name" type="xs:string" maxOccurs="1" minOccurs="0" />
<xs:element name="summary" type="xs:string" maxOccurs="1" minOccurs="0" />
<xs:element name="description" type="xs:string" maxOccurs="1" minOccurs="0" />
<xs:element name="attribution" type="xs:string" maxOccurs="1" minOccurs="0" />
<xs:element name="create_date" type="xs:dateTime" maxOccurs="1" minOccurs="0" />
<xs:element name="category" type="xs:string" maxOccurs="1" minOccurs="0" />
<xs:element name="tags" type="xs:string" maxOccurs="1" minOccurs="0" />
<xs:element name="videos" maxOccurs="1" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="video" maxOccurs="5" minOccurs="0">
<xs:complexType>
<xs:all>
<xs:element name="url" type="xs:anyURI" maxOccurs="1" minOccurs="0" />
<xs:element name="location" type="xs:anyURI" maxOccurs="1" minOccurs="0" />
<xs:element name="duration" type="xs:string" maxOccurs="1" minOccurs="0" />
<xs:element name="thumbnail" maxOccurs="1" minOccurs="0">
<xs:complexType>
<xs:all>
<xs:element name="url" type="xs:anyURI" maxOccurs="1" minOccurs="0" />
<xs:element name="location" type="xs:anyURI" maxOccurs="1" minOccurs="0" />
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>

Share This