Friday, August 06, 2010

Air Video.. more like Air Awesome.

Shortly after getting my iPad I went searching for the "essential"
apps for it. I came accross a review for a program called Air
Video. In a nutshell, it is a Client/Server program that lets you
stream your videos wirelessly from your computer to your iPod
Touch/iPhone/iPad. It does this beautifully. With this application I
don't have to worry about pre-loading my devices with movies, as long
as I'm within my own network.

Internet Streaming!


Another, experimental, feature of Air Video is that it can also stream
outside of your network, over the internet. At first I didn't think
this would be THAT useful. When would I ever really want to be
watching movies on the go? Especially since my iPad is Wifi. It turns
out it is very useful. Having the ability to access and watch every
video on the server from my iPhone is amazing. Any time I'm sitting in
one place for potentially more than 10 minutes, I pull out the iPhone
and watch something.

Live-Conversion


This of course can all be done using DLNA server/client, much like
MediaTomb. The killer feature for this solution (other than the
aforementioned internet streaming) is the live-conversion its capable
of doing. It will stream any format the iPhone is capable of playing (
h.264, etc). It shines when it finds a video that the iPhone cannot
play, such as .wmv, .avi, etc. It uses ffmpeg.exe to on-the-fly
transcoding to the proper format. I can literally request to play any
video in my collection and Air Video Server will transcode it as I
watch.

Its even smart enough to figure out what device you're trying to watch
on and how the bandwidth is. This information is used to figure out
what resolution to output to the device. This means that theoretically
an iPad with great bandwidth would receive a high resolutoin image,
while an iPhone on a congested network (such as ATT's 3G) may receive
a lower quality one. It even does this on the fly, so if as the video
goes on, the bandwidth gets more congested, Air Video will
automatically downscale to a lower quality image so that there's no
interruption in the video. Depending on how drastic it needs to be,
there may be a momentary stop in the video to change streams.

Speed


The Air Video Server component is fast. It is multi-threaded so it
will use up every core my system has. I'm currently running it on
Squirrel, which is the Q8400 quad with 4GB of ram. It pegs all 4
processors at 100%. This is probably overkill for one live-conversion
thread. The faster the processor, the "farther-ahead" the converstion
can be, on top of real-time. For example, with this system, assume
that we start at the beginning of the video. If my machine can
transcode at 2 seconds of video per second, then at 30 seconds of
watching video, the NEXT 30 seconds is already done and waiting to be
sent over the wire. If somehow the load on the server goes up, it will
be 30 seconds before I even see any kind of stutter (because of the
buffered video).

As I said, a quad core is probably very overkill for
one live-conversion stream. But what about multiple streams? Air Video
can handle streaming video to multiple devices. Not only that, it can
stream different videos to different devices concurrently. The only
limit ( I've found) is how much resources the server has. My record
has been to stream 4 720p (source) videos, in .wmv format, to 4
devices. These devices include an iPod Touch 1G, an iPhone 3G (on
Wifi), an iPhone 3GS (on Wifi) and a 16GB Wifi iPad. Each stream was
clear, with no stuttering. I even did some high speed scrubbing on
each and saw no performance loss. *I'll be adding an iPhone 4 to this
soon, and will post a picture.

Ease of Use


This program is definetly designed for the mac, and mac
users. Everythign is as simple as possible. There are no configuration
files, everything is very straight forward. It even makes a valiant
attempt at configuring your router for internet streaming (through
UPNP). They even provide a server "PIN", which you can enter on your
mobile device to reference your server. I have a hunch that this pin
is merely some numerical transform based on your external IP and port
number. For advanced users, putting the IP and Port would probalby be
more straight forward and easier to debug. But for normal users this
PIN makes everything very simple and very intuitive. Those kinds of
little touches are all around the application. This is the kind of
thing that makes this otherwise good application into a great one.

Cons


The company that created Air Video (inmethod) is very much an iOS
design house. The software doesn't run on any other mobile
platforms. This is only really a con if you don't have an iPhone. Its
such a nice piece of software, it'd be great to have it on Android as
well. Though I will confess to having a bit of smugness knowing that
our Android friends don't have access to it ;-). I'm sure there's an
equivalent app for Android, but is it as polished and easy to use as
this? I dunno.

The server software only works on OSX and Windows. Again, only a con
if you need it in Linux. For me this was a bigger issue than not
working in Android ( since I don't have any android devices). Both of
my file servers ( downy and frisket) both run a flavor of Ubuntu. It
would be awesome if I could run the Air Video Server on one of these
machines, to keep everything self contained. Two issues prevent me
from doing this; the software not running in linux and the horsepower
needed for live-conversion. The older server ( downy ) is a 1.3Ghz
Athlon T-bird with 768MB of RAM. Handling the CRC and file i/o duties
of a software raid5 tend to keep it pretty busy. The newer server (
frisket ) is a 2.3Ghz Athlon64 with 3GB of ram. It is quite a bit more
powerful than downy and has plenty of ram. Unfortunately Air Video
states that it requires at least a Core2Duo class processor. I've seen
people run it on Pentium D's with no issue. So at least a dual-core
for live-conversion. Probably significantly less for straight
playback/streaming.

Conclusion


The price for all this functionality? $3. Amazing. Technically its
free if you get creative with your folder structure. But for 3 bucks
it was well worth it.

2 comments:

Unknown said...

I run it on Ubuntu server.

These are the guides I used to get it up and running:

http://wiki.birth-online.de/know-how/hardware/apple-iphone/airvideo-server-linux

http://ubuntuforums.org/showthread.php?t=786095

http://www.inmethod.com/forum/posts/list/1856.page

Ron said...

Thanks Adrian, I'll give it a try.