Register
Submit a solution
The challenge is finished.

Challenge Overview

The Hercules Fog application is a C++ app that can recording both HLS (Http Live Streaming) and Mpeg Dash streams to a local file system for later playback.  It has ABR (adaptive bitrate) and a bunch of functionality for dealing with dropped fragments, missing servers, and optimization of the recorded streams.  It will be eventually used on a huge number of embedded devices.

The current implementation will run on:

  • Windows
  • Linux (Ubuntu and Yocto on embedded devices)
  • Mac
For this challenge, we are going to update the documentation to ensure that it's up to date and complete.  We are also going to roll in the modified AAMP player build documentation in as well so that we can:
  1. Build and run Fog to record streams
  2. Play back the recorded streams in the modified AAMP player
This documentation will split the existing README into 3 separate READMEs - one for Windows, one for Mac, and one for Linux.  NOTE: You'll need to have access to all 3 platforms for submission and review.

AAMP

AAMP is a media player that can be used to play the streams that are recorded by Fog.  Because a lot of our test streams have DRM attached to them, actual playback isn't always possible.  To get around this, we have built a modified version of the player that can be used to test Fog.  The modified version will do the same manifest parsing and fragment download / ABR that AAMP normally would do, but the actual fragments aren't played, so it's a good way to test.

Windows Documentation

For this challenge, please create a new "WindowsBuild.md" file that covers all the various setup steps necessary to:
  • Build Fog
  • Run Fog
  • Debug Fog using Visual Studio
We can target the Visual Studio 2013 for the build (community edition is fine).  Note that this is an important restriction - the client uses VS 2013.

MacOS Documentation

Similar to the Windows documentation, please create a new "MacBuild.md" file that covers all the various setup steps necessary to:
  • Build Fog
  • Run Fog
  • Debug Fog using XCode
We can target the latest version of XCode for the build.


Linux Documentation

Similar to the Windows and Mac documentation, please create a new "LinuxBuild.md" file that covers all the various setup steps necessary to:
  • Build Fog
  • Run Fog
  • Debug Fog using gdb

We can target Ubuntu 16.04 and the gcc and other tools installed via apt-get for this documentation

Validation Documentation

A separate "AAMPValidation.md" document must be provided that describes how to use the modified AAMP player (running on Linux) to connect to Fog running on Windows, Mac, or Linux and playback both regular recordings *and* recordings in progress in the TSB (time sync buffer).  Note that your validation documentation must cover:
 

  • Regular recordings
  • TSB recordings
  • HLS streams
  • Dash streams
  • Using the HTML test harness in html-testharness
You must cover how to start and stop the recordings, how to schedule them, how to verify they are working properly, and how to play them back with the modified AAMP player.

Documentation in general

The more details here the better - this documentation will be given to future challenges to help new competitors get up to speed on the build setup of Fog and ensure they know how to build, run, and test the app.

Code changes

There should be no code changes for this challenge unless confirmed in the forum.

Testing

You MUST test your documentation to ensure it works as expected.  The current documentation is not ideal, is missing important steps, and doesn't cover things in detail.  Don't expect reviewers to do your validation on the various platforms for you.  I expect reviewers to do very little to work through issues in your submission.  If something doesn't work, or steps are ambiguous or missing, expect to be marked down significantly.

Submission requirements

Your submission will only include the new markdown files listed above.  
 

Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30064063