Amazon Vinyl logo Amazon Vinyl v3.2.1

@amazon/vinyl-hls-parser

Website npm size

A small, fast HLS playlist parser for browser and Node. Produces typed objects for both the multivariant (main) playlist and the per-rendition media playlist. Zero runtime dependencies.

Install

npm install @amazon/vinyl-hls-parser

Usage

import { parseMainPlaylist, parseMediaPlaylist } from '@amazon/vinyl-hls-parser'

const main = parseMainPlaylist(await (await fetch(mainUri)).text())
const variant = main.variants[0]

const media = parseMediaPlaylist(await (await fetch(variant.uri)).text())

for (const segment of media.segments) {
    console.log(segment.uri, segment.duration)
}

parseMediaPlaylist accepts an optional second argument with HLS variable-substitution values for playlists using {$NAME} interpolation.

License

Apache-2.0