I'm looking for a developer who is experienced in video streaming technologies based on Java. I want to hire someone who is able to create desktop streaming application. I will only accept someone who can show prior similar projects in his portfolio or working demo.
The project contains 3 parts.
Part 1 – application that runs on host computer and grabs desktop (including mouse pointer), his voice, and face from camera. Combines this into one video stream and sends it to streaming server.
Part 2 – streaming server that accepts stream from host and resend the stream to multiple clients
Part 3 – php - html/flash based player that receives the stream from streaming server and plays the stream
- host can select part of his desktop or full desktop
- quality of the streamed video must be perfect (without blur, smoothing etc.)
- must use compression codec – so streaming will work even on 1Mbit upload speed without any delays, pauses, hanging.
- video must be synchronized with mouse pointer, camera view, and voice
- application must work on windows and mac on average speed machine
- send stream to multiple clients based on link provided (for example Host1 sends his video with token : abcd, Host 2 sends his video with token: xccd, client can choose which one he wants to view. If client will click on link: http://streamingserver/abcd then the web based player will open stream from Host1)
- receive stream from host and save it in file for offline use in the future
- must be efficent enough to handle multiple clients (over 100)
- receive stream from sever from the time of connection (once user press play)
- stream received from server must be played continuously (no delays, no stop and play etc)
- client can choose if he want to view full screen or in the specified area on website
if host didn't started to stream his desktop yet, must display message “presentation will begin shortly”
All libraries and codec used in this project must allow commercial usage without any limitations (eg LGPL license).
Programmer should use good programming practices, which means that code should be organized properly, commented and well documented. All copyrights will be transferred to me after releasing milestone.
Milestone will be released only after reviewing the source code. Programmer need to provide source code in each stage of the project (each time you present part of your job).
I will provide VPS access to install streaming server.
Above job is just a first step of the whole project which is suppose to present your programming skills. Full project will contain around 12 different milestones and this is just one of them. Once first milestone is finished, I will add new milestones and give full description of what need to be done additionally in this app.
Right after we finish with this one I will need a programmer to develop android app and iOS app as separated projects. So treat this job as a start of long term ongoing cooperation.
I need someone who will work with me closely – thus why I require full attention and thus why timeline is short (5 days). Programmer must be fluent in english.