Required and optional fields
Every <video:video> needs a thumbnail_loc, title, description (up to 2,048 characters) and either content_loc (the media file) or player_loc (an embeddable player). Optional fields include duration in seconds (1–28,800), publication and expiration dates, rating, view count, family-friendly, subscription and live flags, up to 32 tags, and uploader.
The page URL should be the page where the video is the main content. Do not point content_loc at the HTML page itself — it must be the video file.
Questions
What duration format can I use?
Seconds (600), mm:ss (10:00), hh:mm:ss (1:02:03) or ISO 8601 (PT10M). It is written as whole seconds.
Do I need both content_loc and player_loc?
One is enough. Provide content_loc when Google can fetch the file directly, player_loc for an embedded player such as YouTube or Vimeo.
Can one page have several videos?
Yes. Rows with the same page_url become multiple video entries on one URL.
Is video structured data an alternative?
Yes — VideoObject markup on the page works too. Many sites use both; the sitemap helps Google discover videos faster.