Hard | Topcoder Skill Builder Competition | EdgeNet Video Enablement
This is the Hard 1000 points problem of our EdgeNet Video Enablement Skill Builder Competition. In this challenge, you will learn how to stream a streaming media file within your web-app you created in the medium challenge.
In the Medium problem, we created a web application that loaded a .mp4 video in the embedded video player. Now, you will extend what you created in the previous challenge into a web media player app capable of handling streaming media files according to the HLS protocol with content served from an Edge Location.
HLS stands for HTTP Live Streaming. In short, HLS is a media streaming protocol for delivering visual and audio media to viewers over the internet.
m3u8 is a file format that is used in video streaming. It is the Unicode version of the M3U computer file format. The file extension for this file type is ".m3u8". HLS is built upon the m3u8 file format, so sometimes "HLS streaming" is referred to as "m3u8 streaming." Learn More
Solving this problem you will learn:
- How to handle a streaming media file using HLS Protocol
- Understand how a video streaming service can be compared based on latency.
What do you need to do?
- Copy the web app you created in the Medium challenge and continue to work on the copy.
- Use the Edge API to whitelist the domain for the web service you've created.
- Use the Edge API to add a streaming media file to your Service (feel free to use the example file: https://dummypartner.testalef.net/demo/myencoding.m3u8).
- Modify your solution from the previous challenge to work with streaming media files (.m3u8) Feel free to use the HLS.js library for this ( https://github.com/video-dev/hls.js/ )
- By now, you should have two video players embedded in your web app, that are capable of HLS streaming.
- Do some research and be creative in displaying the video streaming statistics in a comparable fashion to show why Edge is the preferable solution for your Enterprise.
- Access your web app through the sandbox as in the previous challenges and tests.
Follow the steps below to make your submission:
- Create a folder with "code" as the folder name then zip.
- Please remove the node_modules folder before submission.
- Please create a url.txt file inside the "code" folder and place your application's URL in that file. This URL will be different from the URL you submitted in the Medium Challenge.
- Zip the "code" folder and submit it to the challenge
Your submission will be reviewed manually and you will earn points as the score for your valid submission.
- Functional requirements (70%) - Are the requirements fulfilled?
- Innovation (20%) - What kind of comparison statistics are you showing? How are you showing these statistics to amplify the comparison between Edge and Cloud?
- UI/UX (10%) - Does the web application look good?
In case you don't see a score, make sure you understand the submission guidelines. You can also discuss in the challenge forum any issues.