Saturday, October 25, 2008

Idea: Self playing media

Here is an idea which might not be new but at least not very popular.

The Idea:
"A framework that would allow media to play itself."

Background
Media, namely music and video exist in various formats. Each format has its own advantage and drawback. While some are more popular, others little less, some are free, other propriety. These digital media files are played by a piece of software/hardware called "Media Players". Every new media player, and its newer version try to play the most recent format and provide host of other features. It is very easy to upgrade a software based media player to play that new format which promises lower compression, high quality and other goodies. But things get bad when it comes to hardware. You are always stuck with a dumb box of electronics with no build in intelligence and upgrade capability. This box can understand only those media formats that were hardwired in it at time of manufacture. And the worse thing is you payed for this dumbness which will finally end up as a landfill!!!

My Idea:
- Create a generic framework that would allow Self Playing Media(SPM for simplicity) files to play themselves.
- SPM files are executables that contain inside them the actual media as well as the software(set of insructions) to decode and play the media.
- Considering the fact that media files(at least video) easily scale from Mbs to Gbs, it should be fairly trivial to package a few KB of software that comply with a standard interface and has the capability to play just the media it is packaged with.
- The framework I am talking about is really a thin abstraction layer between the underlying hardware and the SPM this hardware will play. In hardware based players, this framework or SPM player will exist as the hardware firmware.
- It will provide SPM a interface to the hardware features and a area where SPM can execute its media.
- This Framework by itself will not have the capability to play any particular format.
- Framework will provide a screen buffer. When SPM writes itself to this screen buffer, the framework will make sure that it is rendered on the screen(TV/display).
- Framework will also provide call back methods. For example play/pause/ffd/rwd on a player will be intercepted by the framework and passed on as method call backs to the SPM, which will convert them into appropriate actions.
- Media publishers can now include proprietary encoding, compressions and features without worrying much about the end user hardware/software capabilities. All they need to mention is "Plays in SPM compatible player"
- As a user of software based media player, what it really means is that you will never have to download a codec or any extra files to support the new media that you just downloaded.
- Commercial media can have advanced features like authentication, licensing and security built in!

Analogy to this concept:
- Flash movie exported as exe can play in windows based computer without requiring a browser or flash player.
- A ziped file exported as exe can unzip itself on any windows based computer without requiring the winzip application installed.
- A java application can play on any computer/device that supports jvm(java virtual machine a framework to run java applications)
- Java Media Framework is an well designed framework for media in java(FYI: external link). But JMF was build with applets and desktop based java in mind. Moreover SPM like concept is still alien.

With embedded java/linux and relevant industry standards, SPM and SPM based framework is very possible with today's technology. It was actually possible yesterday had the big players taken the initiative.

Imagine, if such concept had been envisioned when the first Audio/Video CD/DVD player was build, we would have (at least in theory) used a 10 year old VCD/DVD player to play the modern divx and mpeg encoded formats!

Labels:

0 Comments:

Post a Comment

<< Home