Guideline on how to make a Streaming App in Windows Phone

Intern Assignment

Since Tanzim Saqib, Tech Evangelist, Microsoft Bangladesh has thrown a new assignment (mini challenge) as part of the recruitment process of Microsoft Bangladesh Intern, a few of you have inbox me asking how to make an windows phone app that could stream video to server.

Back in 2013 when I was preparing for Imagine Cup competition 2013 I had to make a client-server based streaming app for windows phone that could stream video to a server and server had to do the required processing to interpret the video gesture.  From that experience I believe I will be able to mentor you to pass this mini assignment with proper guideline. But since the assignment is a part of intern recruitment process, I am sorry that I wont be able to help you directly with a step by step tutorial.

But all of you are very close to me and I can’t ignore your questions. What I can do is give you a guideline, more appropriately a path that you can follow to complete the assignment.

Lets begin the journey. Its a 3hour task (Assuming you are a noob).

  1. Take the camera feed and show it in a rectangle
  2. Convert the stream into bytes
  3. Send it through TCP* prototcol
  4. Receive bytes to the Server End
  5. Convert the bytes into Stream

* Well, I know for Live streaming UDP is good. The speed for UDP is faster than TCP.

The use of TCP protocol means that the Server must have to buffer the lost segment for every client. So some of you might be planning to use UDP instead of TCP. That’s indeed a good point. But hold on, in this particular case you don’t have to deal with multiple clients, servers. Your phone is the only client that needs to transmit some data to a single server. So, go for TCP protocol. A good debate on TCP vs UDP is going on here.

That’s all for today 🙂