Skip to content

Comprehensive HLS support for Membrane #924

Open
1 of 2 issues completed
Open
1 of 2 issues completed
@varsill

Description

@varsill

Membrane Framework is currently missing full HLS support. Users can either:

The idea is to unify the rearrange the HLS processing packages and provide users with simple API allowing them to conveniently work with HLS playlists.

This issue involves:

  1. Creating membrane-agnostic ex_hls package which would contain the following logic for operating on HLS:
  • INGRESS:
    • parsing of HLS master playlist and choosing from different available stream variants
    • reading segments from media playlist at appropriate pace
  • EGRESS:
    • creation of HLS master playlist with different stream variants
    • creation of HLS media playlist of both "VOD and "LIVE" types and generating segments out of the media streams
  1. Creating membrane_hls_plugin which would which would use ex_hls under the hood. The plugin should contain HLS.SourceBin and HLS.SinkBin components which would wrap appropriate muxers/demuxers, allowing user to just operate on audio/video streams. The following operations should be supported:
  • creating and reading of HLS playlist with MPEG-TS segments
  • creating and reading of HLS playlist with fMP4 segments
  1. Adding support for demuxing fragmented MP4 in the membrane_mp4_plugin (CMAF Demuxer in MP4 #930)

Sub-issues

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions