You sir, are an absolute star. I bought Air Video just after the iPad was announced to see if it would meet my future needs. I love it, but my MBP (Core Duo) is finding it hard going keeping up and the years have taken their toll on the poor thing. However my Linux server is more than man enough and I'm very much looking forward to trying it out.

Admin wrote:I'm not saying compiling FFMpeg is difficult, it just needs bunch of dependencies. Also Air Video needs custom FFMpeg version available here. The configure parameters for mac version (should be pretty close to the linux one) were
--enable-pthreads --disable-shared --enable-static --enable-gpl --enable-libx264 --enable-libmp3lame --enable-libfaad --disable-decoder=aac

faac and mp4creator are only necessary for offline conversion. FAAC is standalone audio encoder, can be downloaded here. mp4creator is tricky. I'm not sure where to find source code that can be used to build linux version. It seems like only the windows port is maintained. I'll take a look at it though.

The CLI version of AVS should not take long to create. However keep in mind it will require Java and it will not be open source. However it should be quite easy to use (just one simple config file). I'll try to put something together over the weekend.

The custom ffmpeg build just fine out of the box -- is ther any particular patches applied to ffmpeg, or just the x264, etc stuff. As my regular system build does support all that and can enocde for the ipod already. IE: any patches build by you or just the usual patch set?
Do you have any encodes that you would like me to test against (CLI options?)

I already have faac, etc built for other things and that is a normal package in linux systems. mp4creator was a pain to build, but has been superseded by libmp4v2 which is the direct replacement for it. Any plans of moving that way, or can I just replace the whole offline encoding with existing offline encoding setups?

I don't need it to be opensource, Java is not a problem on linux -- Is the main program written in JAVA? But running java as a server really does suck as java is slow and crash prone, I do code in JAVA as well.

Personally I'd love to look at the code, as I do have a few ideas that I think would work very well from some of my other work. If you'd let me work from the source I'd be happy to pass anything I do back to you to do whatever you wish. Most of them would be improvements that would help with my particular system, but should be a benefit overall with the online conversion.
I'd rather not post the ideas for improvements in a public forum just yet, but would be happy to discus in a PM

If all goes well I might build a quick GUI config editor. I see this running as a system service rather than running at the user level.

This message was edited 1 time. Last update was at 02/14/2010 07:55:46

I really don't want to get into java performance flamewar. Apart from same extremely specific cases I haven't seen java crash. You can write bad performing code in any language. There are ways to write very performant java applications (and in 1.6 the JIT compiler does pretty decent job). The only possible issues are longer startup time (it takes a while for the JVM to load) and increased memory overhead (which really shouldn't be a big deal in 2010). Anyway, while the server is idle it really doesn't do anything. While it's streaming videos the CPU consumption is rather irrelevant compared to actual transcoding (by FFMpeg).

The first alpha build of the server is available here. Sample property file is available here.

Admin wrote:There are no patches for the FFMpeg. The tar on page that I linked has everything applied.

I think mp4creator is part of MP4IP package http://www.mpeg4ip.net/ . That should build on linux
It does build -- just with the system that I have it complains that faac is built against libmp4v2. I test on one of my non-gentoo based system (ubuntu/debian) to see if it builds nicley

I really don't want to get into java performance flamewar. Apart from same extremely specific cases I haven't seen java crash. You can write bad performing code in any language. There are ways to write very performant java applications (and in 1.6 the JIT compiler does pretty decent job). The only possible issues are longer startup time (it takes a while for the JVM to load) and increased memory overhead (which really shouldn't be a big deal in 2010). Anyway, while the server is idle it really doesn't do anything. While it's streaming videos the CPU consumption is rather irrelevant compared to actual transcoding (by FFMpeg).

Granted, most the CPU power is used here.

The first alpha build of the server is available here. Sample property file is available here.

Bonjour and remote access are disabled in this release. The only way to access server is by specifying the IP address (and port 45631).

Disclaimer: I haven't actually tested this on a linux machine, it's likely that there are issues to be resolved (apart from missing features).

Well, I wasn't expecting a fully polished version at all -- for those of us running a linux media server, the CLI and manual config works just fine.

Add the good news -- it works beatifically with sun java, If I get time I'll test against a few other java versions.

I did have to use the ffmpeg for you, rather than my default build with gentoo (It didn't agree with the segmenter), but it really does perform MUCH better CPU wise than inside a VM on WinXP (MUCH, MUCH better).

One of the ideas That I'd love to see is a "cache of segments". IE hash based on filename/segment#/bitrate and store in a simple cache folder, and process more segments ahead of time using a bitrate prediction.

The other option that I would love to have is the ability to tell the server to gather all thumbnails as a one-shot to pre-seed.

Anyways -- working wonderfully, I'm a happy man, now the silly question -- As air video was cheaper than what I expected and it does seem to get better -- can I pay extra for this lovely extra linux server, fair is fair after all