Craig A Holliday

Rust HLS Parser POC

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

TL:DR

Challenge: Diverse implementations of HLS parsers led to duplicated work, update delays, inconsistent parsing/validation, and varying parsing speeds across platforms.

Solution: Developed a Proof of Concept Rust library to efficiently and swiftly parse HLS manifest files consistently across Android, Apple, and Web.

Tech Stack: Rust.

Project Goals

There are implementations of HLS specification compliant parsers in most platforms.

There are a few problems with re-implementing the parser on multiple platforms:

  • There will be duplicated work per platform
  • It can be slow to update all supported libraries
  • The parsing and validation could be different per platform
  • The parsing speeds can vary wildly

With these issues in mind, this project aimed to create a Proof of Concept Rust library that would parse HLS manifest files quickly, efficiently, and across platforms.

Functions

  • Sole Developer
    • Defined and implemented all features.

Features

For this POC, there were only a few features that had to be developed:

  • String parsing for HLS Set and Level Manifests
  • Providing fully typed interfaces for all parsed properties
  • The deliverable for the library could be used on Android, Apple, and Web platforms.

Project Outcomes

The POC was completed, and integration was in our product roadmap.

Personal Takeaways

This was the first project I had done in Rust. I’m interested in continuing to work with Rust because the language and use cases are appealing.