by GJ51 » Mon Jan 10, 2011 6:28 pm
No easy answer here. Ther are a lot of variables and it takes a lot of experimenting to find the right combination for each situation. I've been testing for quite a few weeks and have a few observations.
Transcoding takes a lot of cpu power and the process can slow down the transfer rate eventhough bandwidth is adequate. The best way to bypass transcoding on the fly for Android is to format video for mobile into flv. That way the stream is just output to the phone without any cpu load. Even when your doing that, results over 3g are inconsistent and vary greatly depending on signal strength. I've had tests where I've streamed DVD's using on the fly transcoding and had them play fine, then I've had tests where any transcoded and flv material just pauses continuously.
Over Wifi, inside my network, everything works great except HD quality movies that are transcoded on the fly. I think that is the result of the transcoding load just being too heavy for the cpu to keep up with the output stream.
So, in general, I think HD quality transcoding is limited by CPU power on the server. Even lower resolution videos may be affected by transcoding depending on the power of the server. I have a quad core Xeon 2.83GHz CPU, but ffmpeg only uses one core per video stream for transcoding. If you have less cpu power, you'll most likely see problems at resolutions lower than HD.
So the first limiting factor is cpu power, which can be avoided by formating your mobile video into flv to stream directly to the phone. If you do that, then the next factors are bandwidth. Your band width numbers look good, so that shoudn't be a problem.
The last issue is the phone itself. No matter how fast or slow you send data, the phone has to process it. Different phones will have different capabilities for displaying the range of resolutions transmitted to the phone.
As an illustration, I was out of town over New Year's and tested watching HD video through Subsonic. I got good results using a new Dell XPS with good graphics and a 1920X1080 screen. I had to let the video download buffer for a few minutes before playback, but if I did the movie would play through. Trying to do the same thing on my old Toshiba laptop that is 7 years old didn't achieve the same results. Even though the data was buffered, the graphics engine on the old laptop just couldn't do the playback without frequent pauses.
Conclusion: Subsonic has the potential to deliver video to various platforms under various conditions, but the user needs to understand and adjust as needed to get satisfactory results for the unique setting and equipment being used.
Gary J
http://bios-mods.com
http://www.maplegrovepartners.com
http://theaverageguy.tv/category/tagpodcasts/cyberfrontiers/