Transcoder Service- Operation NGINX- NGINX Module with libLVC Part 2!

Register
Submit a solution
The challenge is finished.

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

  • The current service gives back "application/octet-stream" for the http header content type. Fix the content-type for the HLS  from "application/octet-stream" to "application/x-mpegurl".
  • Add in parameters to pass to the libVLC library. We'd like this to be dynamic than fixed params if possible, for example a single param called "options" that we can just pass through or parse and interpret for libVLC when calling it. 
    • options to support are: venc, vcodec, vb, scale, fps, hurry_up, deinterlace, width, height, maxwidth, maxheight, filters, aenc, acodec, ab, alang, channels, samplerate, audio_sync, afilters
    • see this link for explanation of the options
  • Add in support for pseudo-HLS (direct "Transport Stream" delivery)
    • the path for retireving this should be "/pseudo-hls"
    • the header content-type is "video/mp2t"
    • Please note it should just return the transport stream, the TS file, directly to the calling client instead of returning the m3u8 file. Calling to the /pseudo-hls path would set that option to return just the transport stream
  • Make sure the updated code still works on both Ubuntu and Heroku
  • Deploy a working instance on Heroku's Cedar-14 stack. This is the equivalent of Ubuntu 14.04

Versions & Environments

  • NGINX Version: 1.5.7
  • VLC version 2.1.5
  • Ubuntu 14.04
  • Deployable to Heroku Cedar-14 stack

Reading Material

Setup



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.

Review style

Final Review

Community Review Board

Approval

User Sign-Off

Challenge links

ID: 30047606