DOC PREVIEW
U of I CS 414 - Machine Problem 3 (Option 1): Mobile Video Chat

This preview shows page 1-2 out of 5 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Machine Problem 3 (Option 1): Mobile Video ChatCS414 Spring 2011: Multimedia SystemsInstructor: Klara NahrstedtPosted: Apr 4, 2011Due: 11:59pm Apr 29, 2011IntroductionYou may have heard that Apple Facetime was firstly introduced by iPhone 4 as an app for mobilevideo conferencing. But do you know that Apple now has expanded Facetime to many otherproducts so that now you can now use your iPhone 4 to video chat with the Mac users. With allthe components prepared in previous MPs, you are now ready to build something like FaceTime!In this final MP, you will port the video conferencing components to the Android platformand implement an Android-to-Linux video chat system. You are required to work on both Linuxand Android platforms for this machine problem. For the Android development, you need to setup your own machine and lease an Android smartphone (with Android 2.2 installed) to test yourAndroid app. For the Linux development, You can use the Linux workstations in the EWS labroom SC216 and SC220. You still need the Logitech Webcam you have borrowed and use your ownmicrophone/headphone for the audio recording/playback.There will be a competition for this MP on the due date. A judge from Google will be invitedto evaluate your MP projects together with the instructor and TA. The evaluation will be basedon your program features, design, robustness, and overall user experience. The winning team willget a secret award.Problem Description:Implement a Linux program named as desktop and an Android app named as mobile. When bothprograms are running, desktop is able to stream the captured video/audio data to mobile and playthe audio stream from mobile, while mobile is able to stream the captured audio data to desktopand play the audio/video data from desktop. Here are the detailed feature requirements:Required Features (80 points)1. Configuration (10 points): mobile should provide the user interface to configure importantparameters, such as the IP address and port number of desktop.2. Desktop Video (10 points): desktop can capture the video from the USB webcam and streamthe video frames to mobile. mobile should display the received video frames on the mobilescreen. The recommended video resolution is 320 × 240 and the frame rate should be no lessthan 5 frames per second. mobile should keep updating the fps on the mobile screen duringthe video playback.1CS414 MP3: Mobile Video Conferencing Due 04/29/20113. Desktop Audio (10 points): desktop can capture the audio from the microphone and streamthe audio data to mobile. mobile should play the received audio data to the smartphonespeaker.4. Mobile Audio (10 points): mobile can capture the audio from the smartphone microphoneand stream the audio data to desktop. desktop should play the received audio data tospeaker/headphone.5. A/V Sync (10 points): mobile should synchronize the playback of video and audio streamsall the time.6. Bandwidth (10 points): desktop should calculate the incoming and outgoing network band-width and print the stats every second.7. Latency (10 points): Calculate the desktop-to-mobile latency and the mobile-to-desktop la-tency. desktop should print both latencies periodically. Design the system to minimize thelatency to the acceptable level for normal communication.8. Robustness (10 points): your programs are expected to run without crash for up to one hour.Optional Features (70 points)9. GUI (5 points): design any graphic user interface for desktop.10. Name Server(5 points): set up a name server for the video conferencing peers to register andquery IP addresses based on user names.11. Remote Control (10 points): mobile can remotely pan/tilt the webcam controlled by desktopby moving fingers on the mobile screen.12. Mobile Video (10 points): mobile can capture the video from smartphone webcam (rear) andstream the video frames to desktop. mobile should display a small self-view window to playthe currently recorded video. desktop should display the received video frames in a videowindow. The recommended video resolution is 320 × 240 and the frame rate should be noless than 5 frames per second. The playback of video and audio data on desktop should besynchronized.13. Mobile-to-Mobile (15 points): two mobile apps on two different smartphones can communicatewith each other just like the communication between mobile and desktop. You get at most10 points if you only implement audio communication between two mobile phones. Youneed to also implement the feature mobile video and get both audio/video streams runningsynchronously to get full points.14. Multi-Party (15 points): support three-party communication. There are two scenario to testin this feature: mobile-desktop-desktop, and mobile-mobile-desktop. You need to supportboth scenarios to get full points. You get no more than 10 points if you support only onescenario. There are also special requirements for both desktop and mobile in the scenarioof multi-party communication. Both desktop and mobile should mix the two received audiostreams and play together. If receiving two video streams, desktop can just open two videowindows, but mobile, should play only one video stream on the mobile screen at one time andprovide user interface to switch to the other video stream.2CS414 MP3: Mobile Video Conferencing Due 04/29/201115. Your Feature (10 points): design a feature of mobile by yourself and get 10 extra points. Thefeature must be on the mobile and related to the video conferencing. Whether your featuredeserves 10 points will be determined based on its novelty and workload. For example, youcan do file sharing or short message during video conferencing.ExamplesHere is an example of what you are expected to implement and some explanations about thefeatures.For the required features, you can assume that desktop will always start before mobile. It takesone parameter to specify the port number which desktop will listen to.desktop PORTThe video window is shown immediately after desktop starts although there is no mobile online.mobile is an Android App and must have GUI interface. The initial windows can be similarto this: where IP Addr is the IP address of the machine where desktop is running and the Port isthe port number which desktop is listening to. You are free to choose either TCP or UDP as thetransport protocol.After both desktop and mobile are connected, desktop starts to play the audio stream receivedfrom mobile. Meanwhile, it should keep printing the information of incoming


View Full Document

U of I CS 414 - Machine Problem 3 (Option 1): Mobile Video Chat

Documents in this Course
Lecture 1

Lecture 1

32 pages

LECTURE

LECTURE

30 pages

Load more
Download Machine Problem 3 (Option 1): Mobile Video Chat
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Machine Problem 3 (Option 1): Mobile Video Chat and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Machine Problem 3 (Option 1): Mobile Video Chat 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?