Hercules Facebook Live App - Update to use MPEG DASH video playback

Key Information

Register
Submit
The challenge is finished.

Challenge Overview

We are working on a new project for the Hercules client for Facebook Live integration into an app that will be displayed on TVs.  This challenge will look at the playback for currently live videos (not past live videos), and will switch playback from the embedded IFrame to using dash.js to play back the MPEG DASH streams that Facebook uses internally.

DASH stream

Facebook does *not* publish the DASH streams in an easy-to-consume fashion (that I could find).  Instead, we'll need to parse them out of the video page:

So, for a given link like this:

https://www.facebook.com/GameRant/videos/10153975978347705/

We will load the URL and parse out the MPD link like this:

https://video-syd1-1.xx.fbcdn.net/hvideo-ash5/v/dash-ld/10153975978352705.mpd?_nc_rl=AfB1eyMeb5xXYU1f&oh=f82b907863e8e1a456929a339d8921d9&oe=57DE605B&_nc_p_n=2&_nc_p_o=4

The .mpd extension is the MPEG DASH playback link we want, but it's a signed link, so the rest of the URL parameters are required for playback.

Signature

Because the link is signed, we need to do the parsing each time a user wants to play back a specific live video.

Playback

The task for this challenge is to update the live playback screen to use the MPEG Dash link, dash.js, and remove the embed IFrame functionality currently in place.  A good way to test this is to use Safari or Firefox, without the Flash player installed because the current IFrame requires Flash.  You should be able to see live video playback without Flash.  Note that past live videos work regardless, so make sure to test with a current live video, not a past one.

Heroku / Node.js

This app will target deployment to Heroku using Node.js.  
 
Submission format

No video is required for this challenge.

Your submission should be a patch file against the code mentioned in the forum.  

Your patch file should include the README.md with the appropriate setup and validation information needed by the reviewers
 

 



Final Submission Guidelines

Please see above.

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30055261