Android and iPhone Video Conference Application

Closed Posted Jan 22, 2010 Paid on delivery
Closed Paid on delivery

Develop a camcorder application and a Video Share application for the iPhone 3Gs and Android platforms.

The Video Share application needs to support 2-way picture-in-picture video. This system should be designed in a manner that would allow for later extensions to support more than a two party video share session.

Once a video share session has been successfully initiated, each party will be able to see not just what is being sent to them but also what is been sent to the other party (preview) with audio in complete synch with video. For the video, the application will utilize a proprietary compiled video codec library as the compression algorithm, and for the audio, use whatever is available.

Our codec library inputs and outputs YV12 video, which means that you will probably need to convert the video format to/from the phone camera to use our codec library.

The application will be developed in two phases:

1) camcorder app to record to and play from a file using the codec library provided

2) 2-way wireless video sharing app using the codec library provided

## Deliverables

Phase 1: Camcorder Application

Develop an application that records video and audio on the device to a file (with the video compressed using the provided codec), showing the preview while recording. The application will also play back the video, synchronized with the audio.

1. Develop a camcorder application prototype that will capture 320x480 video.

2. Successful integration of the provided assembly optimized codec library

3. Capture uncompressed video in the format delivered by the camera. Convert this to the YV12 format if required and send the raw frames to the provided video codec for compression.

4. Capture uncompressed PCM audio and compress it using AMR-WB codec configured for [url removed, login to view], as provided. All compression will be done in real time.

5. Save the two compressed media streams (#3 + #4) into a file format that can be used to verify that the video and audio have been encoded correctly.

6. While the application is running, a preview window should be present at all time which shows what the camera is pointed at.

7. Be able to play on demand the captured video and audio with full synchronization within the camcorder application

8. Stop (capture)/ exit (application)

9. Profile the performance of the handset while the application is actively capturing video.

• Video encoding

• Audio encoding

• File I/O (specifically writing to the AVI file)

• Rendering

Phase II: Video Share Application

The video share application will allow a call initiator to send/start (the other party to receive/accept) a 2-way video call. The first 6 requirements that were specified in Phase I (Camcorder) will also need to be developed for the Video Share application. The ability to store the live video share session will not be required at this time.

1. Both clients start video share application

2. Upon login, each client will see that the other is online and available for a video share session

3. Either client may send an invitation to the other to initiate the video call.

4. The recipient of the invitation shall be notified via a pop up and given a choice to accept or decline the invitation. A decline will return a message to the initiator of the decline and both clients will return to the state in #2

5. By accepting the invitation both parties will be able to participate in a {176x144, 176x176, 320x240, or 320x480} 2-way video call.

6. Each client should see what the other client’s camera is pointing at as well. The video latency should be less than or equal to 1 sec.

7. Simultaneously, there should also be a preview window (in a picture-in-picture format) displaying the local video as it is being captured. The size of the preview window shall be no larger than ¼ the area of the received Video and should be placed in the lower right quadrant of the received video

8. All video and audio received by either client shall be synchronized.

9. Either client should have the ability to stop the call at any time. A notification will be sent to the other party. Both clients shall return to the state in #2

10. There should be the ability to exit the application at any time

11. Profile the performance of the handset while the application is actively capturing video.

• Video encoding/decoding

• Audio encoding/decoding

• Rendering

Engineering MySQL PHP Project Management Software Architecture Software Testing

Project ID: #3112319

About the project

1 proposal Remote project Active Feb 13, 2010

1 freelancer is bidding on average $7630 for this job

foreignt

See private message.

$7629.6 USD in 14 days
(24 Reviews)
6.6