Online video browser proposal

From The Neuros Technology Wiki

Jump to: navigation, search

The OSD is entering a pretty popular market, with a bunch of features already implemented, some by companies with the resources and pull to do it better than we can, at least in the near term. That's why Online Video strikes my fancy -- not only is it a market hitherto unexplored except by Media Center PCs, it can get us write-ups in a number of tech magazines and whatnot (for example, I know that Popular Science has covered at least 2 separate ways of putting Flickr photos in a picture frame). Anyway, here's what I was thinking.

Contents

[edit] Online Video Services

  • YouTube, owned by Google with an estimated 20 million viewers per month, seems like a good first choice. Videos on YouTube are only available in Flash video format. The format most, if not all, of them in is a modification of h.263 within a proprietary container format, alongside MP3 audio. Preliminary testing indicates it's possible to either convert the custom h.263 format to one compatible with license(d|able) DSP decoders, but it's also simple enough at low resolutions to decode on the ARM (it takes less horsepower than MP3 at CIF resolution, 15fps). The second option would necessitate implementing a YUV input plugin (which should be a little harder than a PCM input plugin, but still feasable.)
  • Google Video is similar, also run by the almighty Google (and somewhat less popular at the moment). Its videos are in a far more well-defined format (basically AVI, we can pipe it straight to the current demuxer and it will work), and even include metadata in a documented format. This is an obvious plus, as it will avoid having to write and update messy screen-scrapers to parse the information necessary to browse at will straight from a page.
  • iFilm seems a little bit... corporate. It also looks like an absolute nightmare to scrape. No clue about formats.
  • MetaCafe looks promising, but the following (taken from their license agreement) pretty much knocks them out of the running: "Without limiting from the generality of the foregoing, unless otherwise expressly authorized under a separate written and valid agreement, you may not reverse engineer, de-compile, disassemble, alter, duplicate, modify, make copies of, create derivative works from any of the Sites or any Data contained therein."

[edit] Syndicated Media Feeds

  • VideoBomb The brainchild of the Participatory Culture Foundation's Democracy TV video syndication and subscription platforms. This site provides a number of RSS feeds in AVI and Quicktime containers that can easily be downoaded by a bittorrent or http client.
  • OurMedia Provides RSS feeds for video files stored on the Internet Archive's http and ftp servers.
  • RSS Feeds are way cool :) Content just keeps updating and updating.

[edit] Interface Design

[edit] Option One

Most users will probably go to YouTube one of two ways: just by going to the home page, and picking a category; or being given a link to a particular video. The first way will be focused on for now, because the second requires much more integration with a computer (or at least a keyboard) (which is precisely what this project is trying to avoid).

The menu structure I'm thinking of goes something like this:

 Google Video     |- Categories ----|- Comedy -------|- Video 1 ----|- Related Video 1
                  |                 |                |              |
                  |- Tags           |- Whatever      |- Video 2...  |- Related Video 2...
                  |
 YouTube ---------|- Channels
                  |
                  |- Favorites
                  |
                  |- Popular

Here's how to navigate: 'Select', in most cases, does the obvious; when browsing a super-menu (such as Categories or Comedy in the above example), select moves one menu deeper. When browsing a menu with videos, 'Select' plays a video. (Menus with videos will consist of a screenshot from the video (provided by the website, not generated by us), as well as an overlay of the description of the video.)

'Up' and 'Down', like in the menu above, scroll through a menu's options. This keeps with the traditional 'horizontal' menu format, as well as keeping with the traditional TV paradigm that channels go up and down.

'Left' and 'Right' have no effect until you get to the first video menu. At that point, pressing 'right' takes you to the next video in the 'related videos' menu that accompanies every video on both Google and YouTube, and 'left' takes you back one. Playing videos in the playlist does not change context, so that going right three times and playing a video, then going left three times, will return you to the place you started. Moreover, going right three times then going down will take you to the next video in the category, which will probably not be related to the root video except of course that it is in the same category.

Pressing 'left' when at the original video does not take you to the last video in the playlist, but instead takes you to another list, this time of the various things the video in question is tagged with. Selecting a tag to browse will chage context, unlike the above, as doing so will move you into the 'tags' supermenu.

The 'Xi' menu will be used for displaying, and selecting based on, video metadata (aside from tags which are handled as above). Options like 'More by this user...', 'Only show me videos with a rating of (x) or higher', and 'Show me (25|50|100) videos per search' would hide out here, and the last two would be persistent across the session, if not the device.

This interface sounds somewhat complex, because it distills a large array of browsing and selecting options into a four-button interface. I've tried to keep it intuitive for people who have both used a television remote and YouTube/Google Video. However, with so many options, it may become difficult to navigate; thus, I'd recommend making a video's screen-shot fill only 3/4 of the screen, centered, with a drop-shadowed description overlayed on the screen-shot, and have the edges contain a graphical arrow as well as a short description of the option ('^ Previous in "Comedy" ^', '< Tags', 'Related >') to prompt the user. Optionally give the user the ability to disable this.

Whee, that was lots! Srobertson

Personal tools