PR-053: Programmer, Video Compression Engine Development
(CONTRACT: hourly rate to be negotiated)
Job Type: Short-Term Contract, for Independent Contractor
If you are interested in this position please reply immediately with a cover letter and resume. Make sure to include the position number (PR-O53) in the subject line.
This is a short-term contract to compile existing OPEN SOURCE code to compress a video stream coming from multiple USB TV Tuner Sticks (or multiple external HDhomerun Tuner Boxes) on a Windows platform (or Linux Platform) to use less bandwidth for each TV channel decoded by each USB TV Tuner stick.
Currently the video stream tends to be about 10 Mb/s. The project goal is to make the output bandwidth selectable ranging from about 100 Kbit/second (poor quality), to 250 Kbit/s, 500 Kbit/s, 1 Mbit/s, 1.5 Mb/s, 2.0 Mb/s, 2.5 Mb/s, 3 Mb/s, 3.5 Mb/s, 4 Mb/s, 5 Mb/s, 7.5 Mb/s to 10 Mb/s (good quality).
A simple management interface is needed, to select the channel to be viewed, and the output compression selected. If more than one output compression standard is supported, then the standard must also be chosen. The management interface should also be able to report performance metrics and current settings.
The output can be in any video format that is easily viewable on remote viewers on the internet. In particular, viewable on Android platforms.
This project involves makefiles, compiling from source, working with x264 open source code for video compression and transcoding (from VLC) or with open source FFmpeg code. The resulting executable should run on a Windows (7 or 8.1) server.
As value added, if drivers can be found for the USB Tuner Sticks that run on Linux, then it is preferable to use a LINUX plaform (built on an x86 or x64 processor box that used to run Windows) to do the compression. (We prefer LINUX servers whenever possible).
It is expected that a compression box should handle 2 to 20 USB Tuner Sticks at a time. The real limit is imposed by the processing power of the box, and the computational demands of the compression settings in use.
After this contract is completed, there are MANY opportunity for other development contracts.
You MUST have prior experience with:
Makefiles, Eclipse, GIT, Compiling Open Source projects from Source, H264 compression, Video Tuner Sticks, VLC, Windows 7, LINUX.
You SHOULD have prior experience with:
Linux Device Drivers, Porting Windows Device Drivers to Linux, Video Transcoding Standards, programming a very simple management interface accessible over some port on a internet connected computer.
It is a BENEFIT if you have prior experience with:
Linux Driver Development, programming an Application for Windows or LINUX.
This project is ready to go immediately, literally a few hours after the right contractor is identified.
The contractor is welcome to work on-site at our office in Stittsville, Ontario, Canada. The office is on an OC-transpo bus route. Or the contractor is welcome to work from any location in the world.
You must be reachable by email and phone (or Skype) to apply for this contract (or any contract we offer).
This job is paid on an hourly wage basis. The wage rate is to be negotiated.
Invoices with timesheets are submitted weekly just after Friday and are paid by Paypal within 7 days.
A reasonable project deposit is paid by the firm upon awarding this contract.