by GJ51 » Wed Jan 05, 2011 4:48 am
If I understand you correctly, I think I've already implied the answer. Although I'm not 100% sure, i believe that as the Android app is currently set up, it can only play flv format, unlike the desktop JW Player that can play mp4 as well as flv. Assuming that the Androis app requires flv for playback, you have only two ways to get there. First, just use the standard seup and transcode on the fly. This approach works, but there is a penalty to pay. In my testing, I found that even though my server has a quad core Xeon CPU, ffmpeg only uses one core per video stream to do the transcoding. therefore, in my case the server can never use more than 25% of the CPU's power per each video stream being transcoded. Testing with HD video and trying to squeeze it down to 200 kbps feed for mobile playback over 3G maxes out the core doing the transcoding and the process itself becomes a bottleneck for getting the data out. For my purposes, it makes more sense for me to just use video transcoding software to convert files I want to stream over internet into formats that are the right size and format for the device I intend to recieve the video on.
For example, hi res HD video that I'm going to watch internally on my home network, I'll leave encoded in mp4 at native resolution. I've already tested and found that over gigabit lan the JW player will give me 1920X1080 quality with no skips or stutters. It performs the same as if you were watching the original Blue Ray on a conventional player attached to a TV. Same quality and playback performance.
At the other end, 3g to Android devices has a wide range of throughput speed depending on signal strength, ranging from pretty good to almost non-existent. So I intend to set up a directory just for mobile video that will already be stored in flv format so that there's no transcoding involved. This way connection speed will be the bottleneck. I'll probably set up a format for 3g speed and another for Wifi speed, neither of which will be formatted for any better quality than my EVO can display.
There are a whole range of options and alternatives in between, including experimenting with custom transcoding options. What's possible in each particular application instance is dependent on a large number of variables as we all are running Subsonic on unique hardware configurations. None of us has identical servers, network set ups, phones, isp's, cellular carriers, and on and on ... There is no one size fits all in ths arena. But, if you know your equipment, and have realistic expectations for what your configuration can handle, you can customize SS to give good reults for your particular application.
It' s when users think they can watch a Blue Ray video over a crappy 3g signal on a device without much computing or graphics power, that dissappointment occurs. So, these are the extremes, finding the happy middle ground for you gear is the challenge.
Gary J
http://bios-mods.com
http://www.maplegrovepartners.com
http://theaverageguy.tv/category/tagpodcasts/cyberfrontiers/