LongTail Community Blog

Blog Archives: January 2011

A Word about YouTube Support in the JW Player

by LongTail Video on 2011-01-31 20:45

As you may know, the JW Player has long included support for playing YouTube videos. We did this by integrating YouTube’s ActionScript 2 chromeless player as a JW Player Media Provider, and it has worked well for a number of years. You can see an example of it below. Recently, YouTube made a change to their AS2 chromeless player that affects our ability to support all YouTube videos. This change was announced last October and just went into effect. In short, if you embed a video that YouTube and/or their partners consider monetizable, then the video won’t play and your users will see an error (see the example below).

Non-monetized video

Monetized video


In order to support YouTube’s monetizable videos through the JW Player, YouTube would like us to upgrade to their AS3 chromeless player. This upgrade would mean that you, as the end publisher, could continue to play the videos on your site and YouTube would now run ads within them. You would not receive any of the ad revenue generated.

We are working with YouTube to figure out the right way to move forward for us, our users, and YouTube. When we have a plan in place, we will update you with a timetable for the upgrade. If you have comments or questions, please let us know.

Update - Feb 4, 2011 @ 2:09pm

We hopefully have a temporary fix in place. We have created a one-off build of JW Player 5.4 with YouTube AS3 chromeless player support. Please download the attached zip, unzip it, rename the swf to player.swf and replace your existing JW5 player.swf file with it. If you are still using JW4, then you may need to update your embed code as well since you will be upgrading to JW5.

Note: This is not an official release. If you have specific technical issues or feedback, please let us know about them on this forum thread. We will try to incorporate your feedback into a future official release.

Download the JW Player 5.4 w/ YouTube AS3 Support (unofficial)

Licensees, please contact us with your license number for a custom build.

Thanks to Mustafa Dindar for contributing some early code to this.

Update - Feb 7, 2011 @ 3:22pm

This has been updated to fix issues with stretching and the stop button. Latest version is here:

Download the JW Player 5.4 w/ YouTube AS3 Support v2(unofficial)

Again, if you have any issues or feedback, please let us know about them on this forum thread.

Comments (66)     Share

Building a Video Sitemap

by Remco van Bree on 2011-01-25 14:23

Is your goal to increase the total number of video views on your site? Are you having trouble ranking high within search engine results? This blog post will present some basic guidelines for achieving this goal — and building a robust Video Sitemap for your site.

One of the most effective ways to drive traffic to your videos, and site in general, is through the use of a sitemap, or in this case, a video sitemap. A sitemap provides search engines with information about your site, and a video sitemap provides information on your videos. In essence, it makes it easier for search engines (i.e. Google) to understand the content of your site, and assign the appropriate rankings.

Let's Start at the Beginning:

What are video sitemaps and why do you want them?

A video sitemap is an XML file that tells search engines where videos can be found on a website. It helps search engines understand that it is indeed a video file, what the video content is, and what the technical specifications of the specific video are.

Google recommends that you use video sitemaps for several reasons. First, you can explicitly tell Google which content you wish to be indexed, giving you more control than with an organic search algorithm. Second, and more importantly, video sitemaps allow you to choose how your videos are listed, and define what metadata is most relevant to your video, optimizing search results.

How do you host and submit a video sitemap?

Google only accepts video sitemaps that are hosted on the same sub-domain as the rest of your website. So, if your website is www.yourwebsite.com, you need to host your sitemap on the same domain; for example, www.yourwebsite.com/videositemap.xml.

The easiest way to tell search engines where to find your video sitemap is to add the location of your video sitemap to the robots.txt file in the root of your webserver. An example video sitemap would look like this:

User-agent: *
Disallow: /admin
Sitemap: http://www.yourwebsite.com/videositemap.xml

Alternatively, you can use Google Webmaster Tools to submit your video sitemap directly to Google (Google Webmaster Tools will also validate your video sitemap). Note that you first need to register your site with Google Webmaster Tools. After doing so, within the “site details” you will find a link to "Submit a Sitemap". We recommend that you do both; other search engines (i.e. Bing) can also find an index using robots.txt, thus by submitting your sitemap you will ensure that your sitemap is valid and will be indexed.

Sitemap Structure and Semantics

Let's take look at an example sitemap that we have used, in the past, for our own website

<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9' xmlns:video='http://www.google.com/schemas/sitemap-video/1.1'> 
  <url> 
    <loc>http://www.bitsontherun.com/tutorials/managing-multiple-accounts/</loc> 
    <video:video> 
      <video:thumbnail_loc>http://content.bitsontherun.com/thumbs/yDtLAunz-480.jpg</video:thumbnail_loc> 
      <video:title>Reseller overview</video:title> 
      <video:description><![CDATA[Learn about the features of our dedicated reseller accounts.]]></video:description> 
      <video:content_loc>http://content.bitsontherun.com/videos/yDtLAunz.mp4</video:content_loc> 
      <video:player_loc allow_embed="yes" autoplay="autostart=true">http://content.bitsontherun.com/players/yDtLAunz-ALJ3XQCI.swf</video:player_loc> 
      <video:duration>100.80</video:duration> 
      <video:view_count>99</video:view_count> 
      <video:publication_date>2010-11-12T14:41:00+00:00</video:publication_date> 
      <video:tag>dashboard</video:tag> 
      <video:tag>screencast</video:tag> 
      <video:family_friendly>yes</video:family_friendly> 
    </video:video> 
  </url> 
</urlset>

Some things worth noting:

  • You need to include a direct link to the video file. Google will download a part of the file and check some video metadata to verify that the content is indeed a valid video.
  • The ![CDATA[ clause in the description ensures that certain characters within the description (i.e. $ and !) won't break the sitemap XML. You can choose to leave this out, but take extra precaution with what characters you use in your description.
  • You should make use of optional tags. For example, <video:expiration_date>, which tells Google when a video will go offline, and should be unlisted from the search index. Read more here.

Sitemap Best Practices

As you work to get your content indexed in Google, keep these points in mind:

  • Make sure each video has its own page. Google likes this. Even if you embed multiple video players on other pages, or use playlists throughout your website, make sure that you have a specific page for each video and link to those pages in your video sitemaps.
  • Make sure that the title, description and tags in the headers of the page correspond with the title, description and tags of the video.
  • When you make a video unavailable, be sure that the video page listed in the sitemap returns a file not found status (HTTP 404). This tells a search engine that the video should be dropped from the index.
  • Google isn't always very good at reading complex JavaScript like the JW Player 5.4 JavaScript, which offers unified playback in both HTML5 and Flash. The best way to work around this is to include a very basic embed tag inside a noscript element that can be read by search engine crawlers. An example code would look like this:
<script type="text/javascript">
    jwplayer("container").setup({
        flashplayer: "/jwplayer/player.swf",
        file: "/uploads/video.mp4",
        height: 270,
        width: 480
    });
</script>

<noscript>
<embed
  flashvars="file=/uploads/video.mp4&autostart=true"
  allowfullscreen="true"
  allowscripaccess="always"
  id="player1"
  name="player1"
  src="/jwplayer/player.swf"
  width="480"
  height="270"
/>
</noscript>

Recommened Resources

  • Google Webmaster has a ton of information on how to create video sitemaps. They are, after all, the masters who defined the video sitemap.
  • ReelSEO is a great website that is focused on Video SEO. It contains a wealth of information about video search engine optimization and a lot of practical guides.

Comments (8)     Share

Sneak Peek: The JW Player JavaScript Plugin API

by Zachary Ozer on 2011-01-03 17:07

With the release of JW Player 5.3, we introduced a new JavaScript API. One of the biggest limitations of the JavaScript API is that it didn't provide a way to easily package and distribute code.

Today, we're happy to offer a preview of our new JavaScript Plugin API to developers. This builds on the JavaScript API released in 5.3, but allows developers to distribute their plugins through the LongTail plugin repository, making it incredibly simple for publishers to start using their plugins.

In addition to loading the plugins, the player does a lot of the heavy lifting for developers: providing a reference to the player API for controlling the player and adding listeners, parsing the plugin's configuration, and it even creates a DOM element where plugins can place visual assets.

To get started, go ahead and download the preview SDK below. Inside, you'll find a modified version of jwplayer.js, an example plugin, a test page that demos the example plugin, the developer documentation, and a document outlining our thought process as we developed plugin API. Note: You'll need to run the test page from a web server (local or global) in order to get everything to play nicely with Flash security.

We've thought a lot about the plugin API, but we want to get your feedback before officially releasing it. If there's something that doesn't seem to be working correctly, something we haven't included, or if there's something that's wrong with our design, please let us know by leaving a note in the comments below. We'll be making changes and posting updates as the feedback comes in.

Happy building!

Download the JW Player JavaScript Plugin API preview SDK zip

UPDATE: The 5.5 release candidate (RC1) is now available.

Comments (2)     Share