QuickTime Fallback

Status

We’ve also altered our video player selection algorithm. Previously if you didn’t have an HTML5 browser capable of playing MP4 video or didn’t have Adobe Flash installed, we would show an error. Now, we also check to see if you have QuickTime installed and if you do, we fallback to QuickTime.

New URLs

Status

We’ve made some changes to our homepage links (e.g. /TopMovies/ -> /top-movies/). For most people, impact should be minimal. We’ve also redirected the old links to the new ones. If you noticed some broken links or a previous link doesn’t redirect correctly, do leave a comment below with the details.

Twitter Weekly Updates for 2011-12-25

*** IMPORTANT NOTICE ***

For those of you who are wondering why no new trailers have been posted on our blog in over a month, it’s because the blog was merely a stopgap solution until we were able to automate our RSS feed for all the trailers on our homepage.

We have accomplished that and have stopped posting new trailers on the blog. The blog will remain as to provide new development news.

If you’re looking for our new RSS feed, please read this post.

New Blog Template

You may have noticed that our blog template has been changed! And I think it’s for the better!

I got sick and tired of templates going out of date and having bugs which I needed to fix every time the template got updated. That’s one of the main reasons why I decided to go with Twenty Eleven. For the past 2 years, WordPress has released a new template each year to showcase the new abilities of the WordPress platform. I figured that the default WordPress template would most likely be up to date and have the cool new trinkets that older templates don’t have.

I’ve also been thinking of redesigning our homepage and I really like the header and navigation bar of this template.

Let us know what you think!

More RSS Feeds!

There’s been a couple feature requests to have differentiated RSS feeds and I’m here to announce that the feature is completed.

The resolution-based RSS feeds will contain only download links and enclosures of that particular resolution. If that resolution isn’t available, it’ll fallback to the next highest resolution available.

The trailers / clips only RSS feeds are as the name indicates, it’ll contain only trailers or only clips. I know a bunch of you don’t really care about the clips, so the trailers feed should help you filter those out.

I haven’t found a good way to expose these RSS feeds yet, so for the time being they’ll be displayed on this blog post as well as alternative links inside the <head> of our homepage.

Let us know what you think!

Twitter Weekly Updates for 2011-12-18

Twitter Weekly Updates for 2011-12-11

HTML5 Video in Chrome and Safari

We’ve been looking to switch to HTML5 video for sometime, but because Firefox doesn’t support video/mp4 (H.264), we’ve been waiting to see what the final outcome for HTML5 video is. Anyway, I decided to see if there was a way to fall back to Flash if HTML5 mp4 video wasn’t supported.

JW player recently announced that it now supports HTML5 video, with fallback to flash. In concept, it’s a really cool idea. You define if you want to use HTML5 as default and fallback to Flash or vice versa. I created some test pages, but unfortunately, there still seems to be some issues as I was hitting into different bugs running on different browsers.

I then started searching online on how other people dealt with HTML5 video with Flash fallback. Lots of sites recommend including the Flash <embed> or <object> inside the <video> element, but it turns out only browsers that don’t recognize the video tag would render that. In other words if I provided a mp4 video source, it won’t fallback to Flash in Firefox because Firefox recognizes the <video> tag.

After digging around a bit more, the correct logic in JavaScript appears to be:

if( !!document.createElement('video').canPlayType )
{
    var can_play_type = document.createElement('video').canPlayType('video/mp4');
    var browser_supports_mp4 = can_play_type == 'probably' || can_play_type == 'maybe';
}

Initially I had it to return true to only probably, but Chrome, Safari, and IE all returned ‘maybe’ instead of probably. I wonder if I included an audio codec, the return value would be different. Only Firefox returned an empty string which is the correct response if a browser doesn’t support the given codec. The problem with this is that IE also returns maybe, but it can’t seem to actually play trailers from Yahoo! or MovieFone.

In the midst of researching, I landed on VideoJS, and remember Derek had mentioned about it. It’s very similar to JW Player, but backed by the open source community. So I started looking into it and doing a test page. It pretty much worked right out of the box. I did make a couple tweaks here and there to get it to behave the way I want. Looking at it’s logic, it pretty much did the same thing I suggested above.

One of the tweaks we added was in the event neither HTML5 video or Flash was available, we would display the following error:

unsupported browser

Given that it had the same logic as I did, that also meant the IE issue was there, which meant I had to special case Internet Explorer, and make it always use Flash.

There has been another issue I’ve been trying to deal with and that is it’s practically impossible to escape from full screen mode in Chrome. If you missed the initial flash that says to exit full screen mode, hit F11 (or βŒ˜β‡§F in Mac), you’re pretty much stuck. Hitting esc won’t work. It doesn’t seem to use the custom skin which has the toggle full screen mode key. When I first hit this issue, I ended giving up and quitting the app. The next time, I found opening a new tab forces the video exit full screen mode.

So if you’re using Chrome or Safari, let us know what you think of the new HTML5 video player.