M3U8 Parser
A Rust crate for parsing and creating M3U8 version 7 files for HTTP Live Streaming (HLS), as specified by RFC 8216.
[!IMPORTANT] This project is currently under active development. Please note that features and APIs are subject to change. My goal is to ensure full compatibility with RFC 8216.
Features
- Parse M3U8 playlists from strings, files, or readers
- Generate M3U8 playlists and write them to strings, files, or writers
- Support for all tags specified in RFC 8216, including:
- Basic Tags (e.g.,
#EXTM3U,#EXT-X-VERSION) - Media Segment Tags (e.g.,
#EXTINF,#EXT-X-BYTERANGE) - Media Playlist Tags (e.g.,
#EXT-X-TARGETDURATION,#EXT-X-MEDIA-SEQUENCE) - Master Playlist Tags (e.g.,
#EXT-X-STREAM-INF,#EXT-X-MEDIA) - Encryption Tags (e.g.,
#EXT-X-KEY,#EXT-X-SESSION-KEY) - Date Range Tags (e.g.,
#EXT-X-DATERANGE)
- Basic Tags (e.g.,
Installation
Add this to your Cargo.toml:
[]
= "0.6.0"
Usage
Parsing a Playlist
use Playlist;
Creating a Playlist
use PlaylistBuilder;