This software – Air Video, http://www.inmethod.com/air-video/index.html – rocks…
Enables streaming of videos, Divx, MKV, flv, etc to iOS devices. A small Java server component runs on the media server, and uses FFMPEG to convert on the fly to a format that is suitable for the client, which can be purchased through the App Store. I haven’t yet found anything it won’t play. The live conversion that it uses works really well – even converting on the fly 1080i and 720p to play seamlessly on the iPad. My server is a Core2Duo E6850, with the software running on a Xen VM that has access to media files.
The VM is a CentOS 5.6 x64 server. Setup is very simple as follows, mainly worked out after reading through several pages on the Air Video forums! http://www.inmethod.com/forum/posts/list/34.page
1. Install Sun Java. Get the latest JRE from Sun. They provide RPMs or just binary files. I downloaded the x64 binary, set it as executable, ran it to unpack it – good to go. If you want you can then sort out the path to see where you have put it, I am just calling java directly at the moment.
2. Install RPMForge repository – see http://wiki.centos.org/AdditionalResources/Repositories/RPMForge for instructions.
3. Install packages using yum to ensure you get dependencies sorted within RPM package management as much as possible.
yum install ffmpeg yasm lame-devel x264-devel
Installing ffmpeg this way ensures that all the deps for the ffmpeg that needs to be built are met.
4. Get the special ffmpeg from Air Video – See this thread for the latest http://www.inmethod.com/forum/posts/list/1856.page
5. Unpack ffmpeg, run ./configure
, and make
As long as you have installed the packages in step 3 this should complete. You can now use this ffmpeg – you don’t need to install
it, just configure and make. Air Video config allows you to advise where the built binary is.
6. You’ll need to create a test.properties file to configure the server. Mine is as follows (make sure the paths are complete including the binary name):
path.ffmpeg = /downloads/ffmpeg/ffmpeg
path.mp4creator = /usr/local/bin/mp4creator
path.faac = /usr/bin/faac
password =
subtitles.encoding = windows-1250
subtitles.font = Verdana
folders = Movies:/mnt/data/media/Movies,Series:/mnt/data/media/Videos
7. Once you have those pieces lined up, I ran
./jre1.6.0_26/bin/java -jar AirVideoServerLinux.jar test.properties
As that line shows I haven’t sorted out the Java path yet! And bingo, it works. Tell the iPad the IP address, and it loads up and plays.
I haven’t installed mp4creator yet, I understand that is only for when you want to queue up conversion.
To run it as a service, I followed these instructions:
http://www.inmethod.com/forum/posts/list/30/1856.page#15119
A few rough edges to sort out like the mp4creator bits, but 95% sorted.
Discover more from SimonandKate.net
Subscribe to get the latest posts sent to your email.
Bram van den Hout
the mp4creator bit sorted out :
yum install SDL-devel
wget http://garr.dl.sourceforge.net/sourceforge/mpeg4ip/mpeg4ip-1.5.0.1.tar.gz
tar xzvf mpeg4ip-1.5.0.1.tar.gz
cd mpeg4ip-1.5.0.1
./bootstrap –disable-mp4live –disable-player
make
make install
Building my VM as we speak, so far so good.. Thx for the instructions !!
Bram van den Hout
Dead link , use :
wget http://downloads.sourceforge.net/project/mpeg4ip/mpeg4ip/1.5.0.1/mpeg4ip-1.5.0.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmpeg4ip%2Ffiles%2F&ts=1310157161&use_mirror=kent
simon
Thanks, will give that a try… 🙂
simon
Well it configured….
And….. bingo! Thanks for that, worked a treat.
Joshua Wulf
You need to modify one of the files to get mp4creator to compile. See:
https://bugs.launchpad.net/ubuntu/+source/mpeg4ip/+bug/444555
Ed
Hi!
Thx for the howto. Im running Centos 6.2 x64.
Ive gotten AirVideoServer working as far as it can stream movies to my ipad.
But i didnt manage to compile mpeg4ip. And yes i applied the patch mentioned above 😛
When i ran make it stopped at
#########
rtphint.cpp:1288: warning: deprecated conversion from string constant to ‘char*’
make[2]: *** [rtphint.lo] Error 1
make[2]: Leaving directory `/usr/src/libmp4v2-1.5.0.1′
make[1]: Leaving directory `/usr/src/libmp4v2-1.5.0.1′
make[1]: *** [all-recursive] Error 1
#########
Didnt give any more particular information.
Did u manage to compile and get mpeg4ip working?
Ed
Hi again!
I figured it out.. Centos 6.2 come with a compiler that is to new.
make clean
** Install **
yum install gcc34
yum install gcc++34
** set Environment Variables **
# export CC=gcc34
# export CXX=g++34
** Compile again **
./bootstrap -–disable-mp4live -–disable-player
make
make install
Conversion with mp4creator now works 🙂
simon
Cool, glad you got it working!
Gilbo
Hi Ed,
Thanks for the compiler tip. I was having massive issues getting it compiled until I saw your post.
Couple of things I discovered, though. If you’re using the native base repo version of nasm (2.07 at this time) then you may need to edit the configure file, search for the first line containing BINSNASM and change the flag from -r to -v. I got a looping error without this change.
Also, in my CentOS 6.2 those older compiler packages are called compat-gcc-34 and compat-gcc-34-c++.
Thanks!
Gilbo
Sorry that should have been BILLSNASM.
simon
Cool – good to know. I haven’t done this on CentOS 6 yet, but this will help when I do.