I have a video compression library that I would like to demonstrate on an iPhone. The library is ARM-based (same CPU as the iPhone), using gcc, but is not iPhone specific. I need someone to link the library into a video conference app, such as this open-source one: ? ? ? [login to view URL]
I cannot provide the source for the library.? It's okay if the app only works on jailbroken iphones.
The deliverable is the source and build/deployment instructions for the client and server (or just the client if you make it work over bonjour).
## Deliverables
Here are the full details for the? Video Share Application for iPhone:
?
1. Project Scope?
?
The winning bidder is requested to develop a Camcorder application and a Video Share application for?
the iPhone handset. ? The Video Share application needs to support 2-way video share (Picture in?
Picture (pNp)). ? (Note: 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 video codec as the compression algorithm,?
and for the audio, use whatever is available. ? ?
?
This project is divided into two phases. ? The requirements for each phase are as follows: ? ?
?
Phase I: ? Camcorder Application ?
?
? Successful integration of the codec library; ?
? Prototype the application to capture VGA 15-24fps (video capture/encode) ?
or better ; ?
? Capture the corresponding audio; ?
? Save video/audio in a file (AVI format) (to be used to verify that the video and audio?
have been encoded correctly);?
? Support audio compression;?
? Performance profiling.?
?
Phase II: ? Video Share Application?
?
? Fully functional 2-way Video Share application; ?
? Application performance tuning;?
? Performance profiling;?
?
2. Hardware/Software:?
?
a. Hardware:?
?
Handset Model ??" iPhone 3G (okay if it's jailbroken)
Processor/Chipset ??" Samsung S5L89W 412 MHz ARM 1176 processor?
Operating system ??" OS X?
?
Additional details can be found at:?
[login to view URL] ?
?
b. Software:?
Buyer will supply the following software:?
A codec built in the ARM RVDS2.2 development environment, as a statically linkable object library.?
3. Functional Requirements:?
?
The functional requirements for each phase are as follows:?
?
Phase I: ? Camcorder Application ?
?
? Capture video at VGA (640x480) resolution, 15-24 fps or better, in RGB 565, I420 or YV12?
4:2:0 format as delivered by the camera driver; ? ?
? Convert the format to YV12 if required before compressing it with the provided encoder library?
? Encode the video using the encoder as it is being captured;?
? Capture audio in raw PCM format and compress/encode it using whatever is available (or any?
built-in ? audio codec that can compress) at an audio rate of 8.85Kbps;?
? Multiplex and synchronize the video and audio streams;?
? Store the encoded audio and video stream in an AVI file;?
? Profile the performance with specific emphasis on:?
I. Video encoding?
II. Audio encoding?
III. File I/O (specifically writing to the AVI file)?
IV. Rendering?
V. Color Space conversion (if required)?
?
?
Phase II: Video Share Application ?
?
The video share application will allow a call initiator to:?
?
? Start and exit the video share application;?
? Select a friend (who has the video share client) from a friend’s list using Bonjour, ?
Apple’s Service discovery protocol;?
? Send an invitation to a friend to see what the call initiator is seeing. ? By accepting the?
invitation the friend is able to participate in a 2-way video call (Frame Size QVGA, and?
Frame rate 5-10fps);?
? Share with the friend what he is seeing and conversely see what the friend is seeing;?
? Simultaneously show a preview window (within pNp) displaying the video as it is being?
captured. ? The size of the preview window shall be no larger than ¼ the area of the received?
audio;?
? Exit/Stop the application;?
? The video and audio will have to be synchronized on both streams of the 2-way video call?
? Profile the performance with specific emphasis on:?
I. Video encoding/decoding?
II. Audio encoding/decoding?
III. Rendering?
IV. Color Space conversion (if required)?