Streaming Hi-Quality Video To Android With Tversity and nswPlayer

Apr 4, 2010
5
0
0
Visit site
Hello everyone,

I have pieced together a tutorial to get hi-quality Video Streaming to your Android phone over Wi-Fi or 3G. For those of you using Orb Mycast for years, like I have, have noticed that the quality is unbearable and down right atrocious until I rediscovered Tversity again.

Here are some items you will need:

1: Tversity installed on PC where media is stored

2: nswPlayer installed on Android phone from market
Its the only player for Android that picks up on .mp4 files without having to download the file all the way

3: Handbrake encoder from handbrake.org for converting your movies to a lower resolution and optimizing for progessive playback

Optional: Setup your PC for Static IP and Port Fowarding if you want to stream via 3G if away from home. Go to portforward dot com for detailed tutorials on how to set this up.

Encoding Movies for Progressive Streaming Playback

Before you begin encoding your video for playback, here are some things to look at to keep the video quality hi while making the smallest video size available. You want to look at the resolution/bitrate of the movie you are encoding and if you are like me and get your movies off of uTorrent or such, you want to keep the same quality. You want to keep the bitrate match to the resolution size by converting it such so that if you have a movie file that runs at 729kbps at a resolution width of 672, when you downsize the file to a resolution width of 320 then the bitrate should be 346kbps to match.

In Handbrake, go ahead and select iPhone legacy as the profile for encoding.

Next, check off the Web Optimized button so that the file can played progressively, if not, you will get an error message saying "illegal file".

After loading your source and destination, make sure the destination file is saved as yourmoviefile.mp4 instead of yourmoviefile.m4v because you will also get a "illegal file" error.

Under Picture, change anamorphic encoding to none and make sure "Keep Aspect Ratio" is check marked. Next, changed the width down to 320 and the height will automatically change with it.

Under Video, change to Avg Bitrate to match your width resolution like I explained above and then you are ready to encode when hit the start button.
Bear in mind that this might take a little while depending on your PC's Hardware specs. If you have any issues using Handbrake, visit their forums for any fixes that you need.

Setting Up Tversity For Streaming

I will not go into detail about setting Tversity on your PC such as configuring the libraries and such but I will go over settings that need to be in place for this to work.

Under Settings in the Transcoder section, make sure under "When To Transcode" make sure its set to never. The reason behind this is I havent figured a way for Android to pickup on the stream without waiting for it to fully transcode.

Next under General Settings, under Home Network, make sure you plug in your PC's IP address so that way your phone has access to your video files.

For this part, you would have had to setup your PC for a static IP instead of being a random IP that is given when your PC gets turned on each time. If you got to portforward dot com for detail tutorials on setting up a static IP.

Optional:Under General Settings in the Home Network Section, there is an option for "the media server should accept requests......" which will let you access your media over 3G on your phone. To set this up, after you check mark that you want access, go ahead and setup a username and password to let you login from outside your network.
As before, you need your PC setup as a static IP but also you have setup your home router to Port Forward requests from Port 41952 to your PC's Static IP. Go to portforward dot com for instructions on how to setup port forwarding.

Install A Android Media Player That Will Pickup On Progressive MP4

So far the only media player that works for this so far is the "nswPlayer" that you can download for free off the market.
If anybody has found a better player that works for this solution, please let me know so I can test it out.

Last But Not Least, Lets Stream A Video To Our Phone!!

For Home Wi-Fi Streaming Only

Open your web browser in your Android Phone, input your PC's Static IP such as "192.168.1.XXX:41952/lib"(Replaced the XXX's with Your IP address that you previously setup), from here, you will be navigated to Tversity's mobile WAP GUI. Navigate from here where you setup your video files in your library to appear. After that, select your video file and if all is setup correctly, then either you will get a popup saying with default player would you like to use or it will go straight to nswPlayer and start playing the movie.

For Streaming Over 3G or Another High-Speed Wi-Fi Connection

The only difference here that we are going to do is navigate our Android Browser to your home's IP Address which can be found easily if you go to whatsmyip dot org from your home PC. For example it will look like this, 98.246.64.55:41952/lib to access Tversity away from home.
WARNING: Streaming from outside your network will take a long time for your movies to buffer to nswPlayer. It has taken well over 2 minutes for the movie to play sometimes over 3G. Thats why we try to get the movie as small as possible to stream faster over 3G.

All and all, thats about it. This should get you up and running on streaming to Hi-Quality video files to your Android phone wherever you are at. I will update this tutorial with any helpful updates I get from the community on what works better or my own discoveries as time goes on.