Challenge Overview
Challenge Objectives
- C++ application running on MacOS X, offering Javascript APIs to developers, being expanded to support video playback via MSE API
- More details can be found here: http://www.sparkui.org/index.html
- We will target Mac OS X for this challenge. Submitters and reviewers will need access to OS X
Basic requirements for this challenge:
Expand on the previously-implemented AAMP integration into Spark and make the playback work better as a Spark object, and start to implement the MSE APIs requiredProject Background
"Spark" is the name for the pxScene project we've done work for in the past. The links below offer a lot more details on these particular technologies. pxCore is a C++ graphics library that is used on a wide variety of embedded devices that the client distributes. Spark is a wrapper application around pxCore that exposes the drawing APIs to Javascript through Node and V8.The client would like to start supporting MSE / EME in Spark through the AAMP playback library. This is the long-term goal of this project
- MSE: https://en.wikipedia.org/wiki/Media_Source_Extensions
- ESE: https://en.wikipedia.org/wiki/Encrypted_Media_Extensions
Technology Stack
- Spark and AAMP: https://github.com/topcoderinc/pxCore/tree/AAMP_Integration
- Spark Build instructions: https://github.com/pxscene/pxCore/blob/master/examples/pxScene2d/README.md
- AAMP specific README: https://github.com/topcoderinc/pxCore/blob/AAMP_Integration/AAMP_README.md
- Debug instructions using VSCode: https://github.com/pxscene/pxCore/blob/master/examples/pxScene2d/VSCODE_DEBUG.md
Code access
The main Spark code is available in Github. Please use the AAMP_Integration branch here: https://github.com/topcoderinc/pxCore/tree/AAMP_IntegrationIndividual requirements
For this challenge, we are going to better integrate the AAMP video rendering using Sparks video renderer and start implementing the MSE APIs required by the client.These requirements are captured in these Github tickets:
Sample DASH streams
Note that for this challenge we will only target DRM-free streams- https://bitmovin.com/demos/stream-test?format=dash&manifest=https%3A%2F%2Fbitmovin-a.akamaihd.net%2Fcontent%2FMI201109210084_1%2Fmpds%2Ff08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd
- https://testassets.dashif.org/
- http://players.akamai.com/dash/
Deployment guide and validation document
Make sure to require two separate documents for validation.A README.md that covers:
Updated build instructions for building the new Spark app with AAMP integration. You can expand on the existing AAMP_README.md in Git.Validation information that covers:
How to validate AAMP playback and how to use the new videoPlayer.js fileWhat To Submit
- Patch file targeting HEAD of https://github.com/topcoderinc/pxCore/tree/AAMP_Integration
- Updated codebase (optional, but definitely recommended in case there are problems with your patch file)
- README.md (or updates to AAMP_README.md)
- Validation.md (or updates to AAMP_README.md)