The increasing shift towards people using their devices for just about everything they used to do on their computers extends to consuming media as well. In addition to easy access to media sites like Youtube, there is also a demand for watching videos which people already have on their PC’s, on their mobile devices. An example of this is if you have a DivX/Xvid TV show, a movie, or some other media that you want to take with you on the road on your device. This guide will cover some basics and where to start. For more in-depth guides on using the software, please read the software guide.
There are two issues which users face when trying to watch content on their mobile device. The first is converting the content from a format that the device cannot process, to one that it can. Note that modern mobile devices such as the HTC Desire/Incredible/Nexus One use a WVGA resolution (800×480), where older devices such as the HTC Hero use an HVGA resolution (480×320). The second is transferring that content across to the device. As you may know, most devices these days can natively play back MP4 video (and occasionally H263/264), however occasionally they do not, and generally do not play back XviD/DivX content due to a lack of processing power to decode this on the fly. There are solutions which offer a compromise, but these generally have limited success, often stuttering or pausing during playback (http://www.cyrket.com/p/android/kr.mobilesoft.yxflash/).
After a quick look around, the 3 most accessible solutions to converting I downloaded and tested out. There are many commercial solutions, but I only looked at the freely available solutions. Here are my thoughts:
1) HTC Touch HD Encoder 1.21 (by “Projection”) – Open Source
Note that this is not an official HTC Application, but the video output will work with a wide range of mobile devices from any manufacturer. Very easy to use, just add the files you want in the top box. Select a directory to spit them out. You must select the correct type of input quality, and the correct type of output resolution. Note that older Android devices such as the Hero/Magic must select Custom as they have a 480×320 resolution. I tested this program out on various AVI (XVid), WMV, FLV and MKV (H264) files with great success. Processing speed was decent, depending on how powerful your computer is, but does not support GPU acceleration. Highly recommended for nearly everything.
2) MP4forHD v2.9 (by “Jandre”)
Note that I did test only test out a slightly older version before writing this article, problems listed may have been resolved and I will update. With more options and customisations available, MP4forHD allows you to tweak and adjust the video output to your tastes. It is also more complicated to use, which may put some people off. Does not support 3D acceleration, but did convert all my test videos without a problem, with the exception of WMV files. Worth checking out if you want something more powerful.
3) MediaCoder 0.7.3.4640 – Open Source
By far the most powerful of all 3 listed here, MediaCoder has been a long standing solution for audio and video conversion. There are a ton of options to play around with, and it’s highly recommended that you read the user guide before starting. I found no issues converting all the test files without a problem. You can also adjust the quality settings to strike a balance between file size and quality, as well as choosing different encoding methods for various encoding speeds. Most of the features for people converting to mobile devices are overkill, however there is one that is very useful, and that is using CUDA GPU acceleration. By utilising your graphics card for intensive calculations (read more here – http://en.wikipedia.org/wiki/CUDA), conversion time can be cut down dramatically. Do note that you need to have a compatible NVidia graphics card (most of them in the last two years or so will have some degree of CUDA support, but check here – http://www.nvidia.com/object/cuda_home.html). I found a speed increase of nearly 4x-5x when using GPU acceleration, which makes converting a batch of TV shows or movies much quicker. Definitely something to look into if you want to cut down encoding time.
Transferring to device:
Now that you have the resulting .MP4 file and wondering why the file size has actually increased (because the compression is not as efficient as XVid), you will need to transfer the file across to the phone. The two easiest ways to go about this:
* Plug in USB, mount phone and drag and drop onto phone (quickest).
* Set phone FTP, transfer wirelessly (see my guide here – https://senk9.wordpress.com/2010/05/17/how-to-accesstransfer-files-on-your-android-phone-wirelessly/)
Playing on device:
The media file should automatically show up in your media player list, as they are now in a recognised format. Easy as that. Be sure to unmount the SD card after you have finished transferring files across. If you want to instead play the file manually, you can launch your favourite file explorer, browse to the directory you put the movies in, and then select the file. You will then be prompted to play the file on the media player of your choice.
Another thing you can also do is stream the file from a network location. If, for example, you have a home network, with a PC with Windows shares on it, use Estrongs File Explorer (http://www.appbrain.com/app/com.estrongs.android.pop) which supports connecting to SMB shares. From there you can then stream videos across from your network location.