Challenge Overview
Competition Task Overview
In this challenge we'd like to extend the NGINX module we built in the previous challenge.
The module utilizes the VideoLAN libVLClibrary to transcode a source stream to a specified output format through VLC.
Requirements
- Add support for progressive MP4, the API should follow same pattern as HLS and Pseudo-HLS (RESTful)
- Progressive-mp4 is a made up hack. There's no standard or suggested way to implement it because of that. We belive what we need to do is to define the metadata, return that first and then pipe the VLC stream down the same pipe. It might take some lower level socket manipulation to accomplish this but it should be doable, check http://www.adobe.com/devnet/video/articles/mp4_movie_atom.html for more details. I think basically it involves putting the metadata at the beginning of the stream so that players can play it without waiting for the rest of the video stream.
- To verify that the progressive MP4 produced by your code works, we should test transcoding from a live camera that is continuously viewable, the transcoded MP4 should work on a regular video player.
- Make sure the updated code works on Ubuntu (AWS)
Versions & Environments
- NGINX Version: 1.5.7
- VLC version 2.1.5
- Ubuntu 14.04
Reading Material
Setup
- Send an email to lazybaer or wendell or post in the forums to request to be added to the Operation NGINX team on gitlab if you are not already a member
- Once added to the team, fork the repository, if you haven’t already, and work off of the 30048512-ProgressiveMp4 branch
- Add wendell and lazybaer as members of your forked repository.
Final Submission Guidelines
Submission Deliverables
- Your code changes must be pushed to your private gitlab repo
- Submit a zipped version of your repo to Online Review
- Make sure your submission includes a clear guide to deploy and test / verify your submission
- Once picked as the winner and done with fixes, you're expected to submit a merge request to the specified branch
Final Submission
For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.