Craig A Holliday

HLS Manifest and Resource Requesting Tool

Only general information is provided for this project because this project is under an NDA

TL:DR

Challenge: A pressing need for validating HLS media across various projects.

Solution: Developed a tool for fetching and parsing HLS manifests, validating resources, and presenting results in an easy-to-read format, complemented by a user-friendly CLI.

Tech Stack: Custom HLS Parser, Fetch for resource requests, and Node.js for the CLI.

Project Goals

I built this tool to fill a need for validating HLS media that I had during many other projects.

This tool needed to:

  • Make requests for HLS Set and Level manifests
  • Parse the HLS manifests to retrieve the location of other manifests or the media resources.
  • Request each resource and validate a response.
  • Present the results of the validation in an easy-to-read output.
  • Provide a simple-to-use CLI for all of the functionality.

Functions

  • Sole Developer
    • Defined and implemented all features.

Features

Some of the notable features include:

  • A custom HLS Parser
  • Requesting resources using Fetch
  • Easy-to-read test report
  • Basic Node CLI for user input

Project Outcomes

This project was helpful for the fast testing of HLS assets.

If there was an issue with resources being available in an HLS asset, this tool could be used to verify issues quickly.

Personal Takeaways

Testing is a big part of any long-lived engineering workflow.

In Media Streaming, there is always the need to check if the origin, CDN, player, application, or anything in between has an issue.

Tools like this help isolate systems while testing, leading to faster development and bug-fixing workflows.