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
For this challenge, we'd like to work on some fixes so that the transcoded stream can be played on Safari (Mac only). This includes the following tasks:
Play transcoded streams in Safari
We need to make sure the transcoded stream can be played on Safari (Mac only) directly for all 3 formats:
- HLS
- Pseudo-HLS (you'll need to complete the task below to get this working)
- Progressive-MP4
Pseudo-HLS Switch
Add a feature to the p-hls transcode, we'd like to add a switch to it will either return an HLS manifest or rediect the browser.
Specifically:
- Take in a parameter “generateManifest” with a 1 or 0 value indicating true or false
- If true, return an HLS manifest in the payload instead redirecting
- In the HLS manifest put the URL of the redirection that would normally occur
- If false, perform the transcoding as we have it today
General Requirement
- Update the deployment guide to reflect the changes
- Make sure the updated code still works on Ubuntu
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 30048899-SafariSwitchesAndFixes 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.