XML video description
Example of minimal markup
This table lists properties of the ovs
namespace that need to be included for the videoclips to be indexed. Element names must be preceded by the namespace in the XML feed code. For example: ovs:content_id
or ovs:title
.
Property | Type | Description |
---|---|---|
url | url | Address of webpage where the video is published. |
thumbnail | url | URL of the video preview image.Minimum size is 120x90 pixels. Permited formats are JPG, PNG, and GIF. |
title | string | Title of the video. Maximum length is 1000 characters; longer text is cut off. |
description | string | The video's description. |
upload_date | dateTime | Date the video was uploaded, in ISO 8601 format. |
duration | unsignedInt | Video length in seconds rounded to the nearest integer. |
adult | string | Indicates content restricted to viewers age 18+. To mark video as adult content, set the value “yes”. To reach a wider audience, enter “no”. |
Property | Type | Description |
---|---|---|
url | url | Address of webpage where the video is published. |
thumbnail | url | URL of the video preview image.Minimum size is 120x90 pixels. Permited formats are JPG, PNG, and GIF. |
title | string | Title of the video. Maximum length is 1000 characters; longer text is cut off. |
description | string | The video's description. |
upload_date | dateTime | Date the video was uploaded, in ISO 8601 format. |
duration | unsignedInt | Video length in seconds rounded to the nearest integer. |
adult | string | Indicates content restricted to viewers age 18+. To mark video as adult content, set the value “yes”. To reach a wider audience, enter “no”. |
A standard document header should look like this:
<?xml version="1.0" encoding="UTF-8"?>
In the ovs:video
root element, enter the namespace and the link to the XML schema as shown in the example. Each video must be described in a separate ovs:video
element.
<?xml version="1.0" encoding="UTF-8"?>
<ovs:video
xmlns:ovs="http://webmaster.yandex.com/schemas/video"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://webmaster.yandex.com/schemas/video">
<ovs:url>https://www.mysite.com/page123</ovs:url>
<ovs:thumbnail>https://www.mysite.com/default.jpg</ovs:thumbnail>
<ovs:title>What is XML?</ovs:title>
<ovs:description>XML is a modern technology for data presentation.
XML enjoys widespread use in many different areas and is used for creating
a variety of documents. XML is often used for data exchange in programming
and for sending information on the internet. We offer a course that goes
over how XML works, focusing on how to describe data, XML markup syntax,
XML schemas, XSL and XSLT.</ovs:description>
<ovs:upload_date>2013-07-19T00:00:00</ovs:upload_date>
<ovs:duration>5545454</ovs:duration>
<ovs:adult>no</ovs:adult>
</ovs:video>
Adding a player
To make sure your player ends up in video search results, let the Yandex robot know about it using one of these methods:
Put the player on a separate page and enter the link to it in the
ovs:embed_url
element.<ovs:embed_url>https://www.mysite.com/iframe/yacinema/123/</ovs:embed_url>
Send the HTML code for embedding your player, wrapping it in the
ovs:embed_html
tag.<ovs:embed_html><![CDATA[<iframe width="2133" height="1058" src="https://www.mysite.com/iframe/yacinema/123/" frameborder="0" allowfullscreen></iframe>]]></ovs:embed_html>
Use the feedback form to let us know when you have entered the player information in the markup. We will test the player and inform you of the results.
Additional markup
The fields listed below are not mandatory, but including them will help with indexing your videoclips and will increase the odds that your videos will display in response to a relevant search query.
Video format
The video format is described in the attributes of the ovs:available_format
element. Every combination of video quality and codecs parameters should be described in a separate format
element.
The following fields are supported:
codecs
(mandatory attribute) — the codec available for this video format.width
— Width of the video in pixels.height
— Height of the video in pixels.bitrate
— Maximum bitrate in kilobits per second (kbps).quality
— video quality.Supported values:
low
— Low quality (resolution lower than 360×640, bitrate below 717 kbps)medium
— Average quality (resolution between 360×640 and 720×1280, bitrate from 717 kbps to 1 Mbps)HD
— HD quality (resolution between 720×1280 and 1080×1920, bitrate of 1-2 Mbps)full HD
— Full HD quality (resolution higher than 1080×1920, bitrate above 2 Mbps)
size
— Size of the video file in kilobytes.
Markup example:
<ovs:available_format>
<ovs:format codecs="h.264" width="320" height="240"
quality="low" bitrate="250"/>
<ovs:format codecs="h.264" width="854" height="480"
quality="medium" bitrate="800"/>
<ovs:format codecs="h.264" width="1280" height="720"
quality="HD" bitrate="1800"/>
<ovs:format codecs="h.264" width="1920" height="1080"
quality="full HD" bitrate="2800"/>
</ovs:available_format>
Video categories
You can use the value of the category
element to specify the category this video belongs to. The categories recommended by Yandex and their corresponding values are listed below. If the category you're looking for is not in the list, you can make up your own category and set an appropriate value.
auto_moto
animation
webinars
webcams
home_family_kids
animals
health
games
interview
internet
art
history
karaoke
disasters_and_accidents
clip
concert
short_video
beauty_and_fashion
recipe
music
cartoons
science
news
education
parody
politics
nature
software
broadcast
travel
entertainment
commercial
gardening
handmade
slideshow
sport
lifestyle
dancing
TV
tvseries
tvshow
gadget
goods
trailer
hobby
movie
movie_about_movie
fragment
You can set multiple categories by separating them with commas or putting them in separate elements. For example, you can signify that a clip is a film trailer or a concert recording.
Markup example:
<ovs:category>movie</ovs:category>
<ovs:category>trailer</ovs:category>
Additional markup is available for some video categories:
ovs:original_name
— Title of the movie in original language.ovs:release_date
— Release date of the movie. If the exact date is unknown, set January 1 of the year the movie was released.ovs:part
— Part number for movies with multiple parts (for example, Harry Potter and the Deathly Hollows: Part 1).ovs:episode
(mandatory field) — Episode number.ovs:season
— Season number.ovs:release_date
— Date the series was first broadcast.ovs:original_name
— Name in the original language.ovs:track_name
(mandatory field) — Name of the track.ovs:album
— Name of the album.ovs:episode
(mandatory field) — Episode number.ovs:season
— Season number.ovs:release_date
— Date the show was first broadcast.ovs:start_date
(mandatory field) — Date and time at start of broadcast.ovs:end_date
— Date and time at the end of the broadcast. This can be omitted if the broadcast is available at the same address where it was at the end of the broadcast.
Supported characteristics:
Markup example:
<ovs:movie>
<ovs:original_name>Harry Potter and the Deathly Hollows
</ovs:original_name>
<ovs:release_date>2013-03-04T00:00:00</ovs:release_date>
<ovs:part>1</ovs:part>
</ovs:movie>
Supported characteristics:
Markup example:
<ovs:tvseries>
<ovs:original_name>The Big Bang Theory</ovs:original_name>
<ovs:release_date>2013-03-04T00:00:00</ovs:release_date>
<ovs:season>6</ovs:season>
<ovs:episode>15</ovs:episode>
</ovs:tvseries>
Supported characteristics:
Markup example:
<ovs:music>
<track_name>A Bar In Amsterdam</track_name>
<album>Le Pop</album>
</ovs:music>
Supported characteristics:
Markup example:
<ovs:tvshow>
<ovs:original_name>Top Gear</ovs:original_name>
<ovs:release_date>2013-03-04T00:00:00</ovs:release_date>
<ovs:season>19</ovs:season>
<ovs:episode>2</ovs:episode>
</ovs:tvshow>
Supported characteristics:
Markup example:
<ovs:broadcast>
<ovs:start_date>2013-04-04T00:00:00</ovs:start_date>
<ovs:end_date>2013-04-04T00:30:00</ovs:end_date>
</ovs:broadcast>
You can only use one of these categories for additional description of a video (for example, you cannot use the ovs:movie
and ovs:tvshow
elements simultaneously). Setting additional elements is optional — if there is no detailed data about a video, just set the appropriate value for the ovs:category
element.
Video player parameters
Supported characteristics:
embed_url
— link to embed a video hosted on a separate site.If the link has not been generated, use the
embed_html
field to embed the player code.embed_html
— HTML code to embed the player for the videoclip (use this if you can't generate a link for theembed_url
field).allow_embed
— Indicates that the video can be displayed on the Yandex search results page.By default, a video can be played directly in the search results. To restrict viewing of the video to your site, set the
<ovs:allow_embed>no</ovs:allow_embed>
element.available_platform
— the platform you can play the video on.Sample list of supported platforms:
<ovs:available_platform>Windows</ovs:available_platform> <ovs:available_platform>WindowsPhone</ovs:available_platform>
Desktop — indicates that the main PC platforms are supported (listed below)
Windows
Linux
OSX
Mobile — Indicates that the main mobile platforms are supported (listed below)
iOS
Android
WindowsPhone
WindowsMobile
Symbian
Bada
BlackBerry
MeeGo
Full list of supported values
Date format
Date and time should be entered using the ISO 8601 standard in the YYYY-MM-DDTHH:mm:ss+03:00 format, where:
YYYY — year
MM — month
DD — day
HH — hour
mm — minute
ss — second
+03:00 — time zone (in this case — Moscow time).
If you want to set just the year (for example, for a movie release date), set it to midnight January 1 of that year, such as 2001-01-01T00:00:00.
Markup example:
<ovs:created_date>2013-07-15T15:00:00</ovs:created_date>
<ovs:upload_date>2013-07-19T02:35:10</ovs:upload_date>
Statistics
Viewing and rating statistics for the video can be entered in the ovs:stats
element using the following properties:
views_last_day
— Number of views in the last day.views_last_month
— Number of views in the last month.views_last_week
— Number of views in the last week.views_total
— Total number of views.comments
— Number of comments on the video.likes
— Total number of users who liked the video.dislikes
— Total number of users who did not like the video.rating
— Average rating of the video (on a scale from 0 to 10).
Markup example:
<ovs:stats>
<views_last_day>0</views_last_day>
<views_last_month>45454</views_last_month>
<views_last_week>5454</views_last_week>
<views_total>544787</views_total>
<comments>5</comments>
<likes>54</likes>
<dislikes>1</dislikes>
<rating>6</rating>
<rating_count>54444</rating_count>
</ovs:stats>
Viewing restrictions
You can use the allow_countries
and disallow_countries
elements to enter restrictions regarding where the video can be shown. We recommend using the ovs:allow_countries
element if the video is only allowed to be shown in certain countries. Likewise, it is best to use the ovs:disallow_countries
element if the video is only restricted in a few countries. Multiple restrictions can be comma-separated or set in separate elements.
Markup example:
<!-- Video display is only allowed in Russia and Turkey. -->
<ovs:allow_countries>ru, tr</ovs:allow_countries>
<!-- Video display is allowed everywhere except Great Britain. -->
<ovs:disallow_countries>uk</ovs:disallow_countries>
Properties that Yandex.Video supports
This table lists properties of the ovs
namespace. In a feed's XML code, element names must be preceded by the namespace, for example: ovs:content_id
or ovs:title
.
Property | Type | Description |
---|---|---|
Mandatory | ||
title | string | Title of the video. Maximum length is 1000 characters; longer text is cut off. |
url | url | Address of webpage where the video is published. |
thumbnail | url | URL of the video preview image.Minimum size is 120x90 pixels. Permitted formats are JPG, PNG, and GIF. |
description | string | The video's description. |
upload_date | dateTime | Date the video was uploaded, in ISO 8601 format. |
adult | string | Indicates content restricted to viewers age 18+. To mark the video as adult content, enter “yes”. To reach a wider audience, enter “no”. |
duration | unsignedInt | Video length in seconds rounded to the nearest integer. |
Additional | ||
content_id | string | ID of the video. This should be unique for every video mentioned in the feed. The ID should consist of text, digits, or hash-code. If the same video is hosted on different pages, it must have the same ID in the markup of those pages. This way duplicates will not be indexed. |
content_url | url | URL of the video file. All video formats are allowed — .mpg, .mpeg, .mp4, .m4v, .mov, .wmv, .asf, .avi, .ra, .ram, .rm, .flv and others. The Yandex robot must be able to access the video file in order to retrieve and update additional information about it. If you have closed public access to the file, we recommend using reverse DNS lookup to allow the Yandex robot access. Sample element: |
embed_html | string | HTML code to embed the player for the videoclip (enter this if you can't generate a link for the |
embed_url | url | Link to embed a video hosted on a separate site. If the link has not been generated, use the |
allow_embed | string | Indicates that the video can be displayed on the Yandex search results page. By default, a video can be played directly in the search results. To restrict viewing of the video to your site, set the |
available_format | string | Available video formats. |
available_platform | string | The platform(s) that this video can be played on. Sample list of supported platforms:
Full list of possible platforms: |
category | string | Video category (music, movie, series, and so on). |
created_date | dateTime | Date the video was created, in ISO 8601 format. |
modify_date | dateTime | Date the video was changed, in ISO 8601 format. |
country | string | The country the video was created in. Multiple countries can be comma-separated or set in separate elements. Countries should be listed using the ISO 3166-1 format. |
allow_countries | string | A list of countries where this video is allowed to be shown. For more details, see Viewing restrictions. |
disallow_countries | string | A list of countries where showing this video is prohibited or restricted. For more details, see Viewing restrictions. |
dubbing | string | Name of the dubbing studio. |
expiration_date | dateTime | Date the right to access video content expires, in ISO 8601 format. Omit this if the rights to the video do not expire. |
feed | url | Address where current video metadata can be found. This may be the same as the address of the video page if the semantic markup is complete enough. |
genre | string | Video genre in any form (rock, drama, parody). You can set multiple genres by separating them with commas or putting them in separate |
is_official | string | Indicates the video is hosted on the official site or channel of the producer, performer, or copyright holder. To show that the video is official, add the |
languages | string | A list of languages that the video has soundtracks for. Multiple languages can be comma-separated or set in separate elements. Languages should be set in ISO 639-1 format. Example of setting sound track languages: |
license | string | Type of video content license. Supported values:
|
login | string | Name of the user who uploaded the video. |
poster | url | Link to an image of the album cover, movie poster, and so on. Multiple images can be set in multiple |
production_company | string | The company that created the video. |
stats | nested elements | You can put statistics for the current video in nested elements. |
status | string | The current status of the video. Multiple statuses can be comma-separated or set in separate elements. Supported values:
|
subtitle | element with attributes | Link to the subtitles file for a given language. The link must be set in the Example of links to subtitles: |
tag | string | Keywords (tags) related to the video. Tags can be comma-separated or set in separate elements. |
Property | Type | Description |
---|---|---|
Mandatory | ||
title | string | Title of the video. Maximum length is 1000 characters; longer text is cut off. |
url | url | Address of webpage where the video is published. |
thumbnail | url | URL of the video preview image.Minimum size is 120x90 pixels. Permitted formats are JPG, PNG, and GIF. |
description | string | The video's description. |
upload_date | dateTime | Date the video was uploaded, in ISO 8601 format. |
adult | string | Indicates content restricted to viewers age 18+. To mark the video as adult content, enter “yes”. To reach a wider audience, enter “no”. |
duration | unsignedInt | Video length in seconds rounded to the nearest integer. |
Additional | ||
content_id | string | ID of the video. This should be unique for every video mentioned in the feed. The ID should consist of text, digits, or hash-code. If the same video is hosted on different pages, it must have the same ID in the markup of those pages. This way duplicates will not be indexed. |
content_url | url | URL of the video file. All video formats are allowed — .mpg, .mpeg, .mp4, .m4v, .mov, .wmv, .asf, .avi, .ra, .ram, .rm, .flv and others. The Yandex robot must be able to access the video file in order to retrieve and update additional information about it. If you have closed public access to the file, we recommend using reverse DNS lookup to allow the Yandex robot access. Sample element: |
embed_html | string | HTML code to embed the player for the videoclip (enter this if you can't generate a link for the |
embed_url | url | Link to embed a video hosted on a separate site. If the link has not been generated, use the |
allow_embed | string | Indicates that the video can be displayed on the Yandex search results page. By default, a video can be played directly in the search results. To restrict viewing of the video to your site, set the |
available_format | string | Available video formats. |
available_platform | string | The platform(s) that this video can be played on. Sample list of supported platforms:
Full list of possible platforms: |
category | string | Video category (music, movie, series, and so on). |
created_date | dateTime | Date the video was created, in ISO 8601 format. |
modify_date | dateTime | Date the video was changed, in ISO 8601 format. |
country | string | The country the video was created in. Multiple countries can be comma-separated or set in separate elements. Countries should be listed using the ISO 3166-1 format. |
allow_countries | string | A list of countries where this video is allowed to be shown. For more details, see Viewing restrictions. |
disallow_countries | string | A list of countries where showing this video is prohibited or restricted. For more details, see Viewing restrictions. |
dubbing | string | Name of the dubbing studio. |
expiration_date | dateTime | Date the right to access video content expires, in ISO 8601 format. Omit this if the rights to the video do not expire. |
feed | url | Address where current video metadata can be found. This may be the same as the address of the video page if the semantic markup is complete enough. |
genre | string | Video genre in any form (rock, drama, parody). You can set multiple genres by separating them with commas or putting them in separate |
is_official | string | Indicates the video is hosted on the official site or channel of the producer, performer, or copyright holder. To show that the video is official, add the |
languages | string | A list of languages that the video has soundtracks for. Multiple languages can be comma-separated or set in separate elements. Languages should be set in ISO 639-1 format. Example of setting sound track languages: |
license | string | Type of video content license. Supported values:
|
login | string | Name of the user who uploaded the video. |
poster | url | Link to an image of the album cover, movie poster, and so on. Multiple images can be set in multiple |
production_company | string | The company that created the video. |
stats | nested elements | You can put statistics for the current video in nested elements. |
status | string | The current status of the video. Multiple statuses can be comma-separated or set in separate elements. Supported values:
|
subtitle | element with attributes | Link to the subtitles file for a given language. The link must be set in the Example of links to subtitles: |
tag | string | Keywords (tags) related to the video. Tags can be comma-separated or set in separate elements. |
Example of detailed video description
<?xml version="1.0" encoding="UTF-8"?>
<ovs:video
xmlns:ovs="http://webmaster.yandex.com/schemas/video"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://webmaster.yandex.com/schemas/video">
<ovs:content_id>1</ovs:content_id>
<ovs:url>https://www.mysite.com/video?v=t0iNnxpJVRg </ovs:url>
<ovs:thumbnail>https://www.mysite.com/default.jpg</ovs:thumbnail>
<ovs:title>What is XML?</ovs:title>
<ovs:description>XML is a modern technology for data presentation.
XML enjoys widespread use in many different areas and is used for creating
a variety of documents. XML is often used for data exchange in programming
and for sending information on the internet. We offer a course that goes
over the main XML technologies, like how to describe data, XML markup
syntax, XML schemas, XSL and XSLT.</ovs:description>
<ovs:upload_date>2013-07-19T00:00:00Z</ovs:upload_date>
<ovs:duration>5545454</ovs:duration>
<ovs:adult>no</ovs:adult>
<ovs:login>admin</ovs:login>
<ovs:category>education</ovs:category>
<ovs:category>internet</ovs:category>
<ovs:genre>Instructional video</ovs:genre>
<!-- Video display is only allowed in Russia and Turkey.
Video display is allowed everywhere except Great Britain. -->
<ovs:allow_countries>ru, tr</ovs:allow_countries>
<ovs:disallow_countries>uk</ovs:disallow_countries>
<!-- Video format -->
<ovs:available_format>
<ovs:format codecs="h.264" width="320" height="240"
quality="low" bitrate="250"/>
<ovs:format codecs="h.264" width="854" height="480"
quality="medium" bitrate="800"/>
<ovs:format codecs="h.264" width="1280" height="720"
quality="HD" bitrate="1800"/>
<ovs:format codecs="h.264" width="1920" height="1080"
quality="full HD" bitrate="2800"/>
</ovs:available_format>
<!-- Statistics -->
<ovs:stats>
<views_last_day>0</views_last_day>
<views_last_month>45454</views_last_month>
<views_last_week>5454</views_last_week>
<views_total>544787</views_total>
<comments>5</comments>
<likes>54</likes>
<dislikes>1</dislikes>
<rating>6</rating>
<rating_count>54444</rating_count>
</ovs:stats>
<!-- Player -->
<ovs:embed_url>https://www.mysite.com/iframe/yacinema/123/</ovs:embed_url>
</ovs:video>