Skip to main content

Description

This is an open source video streaming packager and toolkit to rewrap live HLS streams to live MPEG DASH streams.

Features

  • Generate single period MPEG DASH for live based on an HLS live stream

  • Generate multi period MPEG DASH for live based on an HLS live stream with SCTE35 splicing

  • Rewrap MPEG2 TS segment to fragmented MP4

Usage

Install

Installation from Python package index:

pip install hls2dash

Installation from source:

python setup.py install

Running

Generate Single period MPEG DASH:

hls-to-dash http://example.com/master.m3u8 > stream.mpd

Generate Multi period MPEG DASH:

hls-to-dash http://example.com/master.m3u8 --multi > stream.mpd

Rewrap MPEG2 TS segment to fragmented MP4

ts-to-fmp4 master2500_19274.ts 2500_19274.dash

or when TS segment is on a remote server

ts-to-fmp4 http://example.com/master2500_19274.ts 2500_19274.dash

Help

hls-to-dash

usage: hls-to-dash [-h] [--multi] [--ctx CTX] [--ctxdir CTXDIR] [--debug]
                   PLAYLIST

Generate single and multi period MPEG DASH manifest from a live HLS source.
Writes MPEG DASH manifest to stdout.

Currently assumes that HLS variant is named as 'master[PROFILE].m3u8'
  master2500.m3u8, master1500.m3u8
and that the segments are named as 'master[PROFILE]_[SEGNO].ts'
  master2500_34202.ts, master1500_34202.ts

positional arguments:
  PLAYLIST         Path to HLS playlist file. Can be a URI or local file.

optional arguments:
  -h, --help       show this help message and exit
  --multi          Generate multi period MPEG DASH on EXT-X-CUE markers in HLS
  --ctx CTX        Name of DASH session file
  --ctxdir CTXDIR  Where to store DASH session file. Defaults to /tmp/
  --debug          Write debug info to stderr

ts-to-fmp4

usage: ts-to-fmp4 [-h] [--outdir OUTDIR] [--debug] TSFILE OUTPUT

Rewrap a MPEG2 TS segment to a fragmented MP4

positional arguments:
  TSFILE           Path to TS file. Can be a URI or local file.
  OUTPUT           Output file name

optional arguments:
  -h, --help       show this help message and exit
  --outdir OUTDIR  Directory where the fragmented MP4 will be stored. Default is current directory
  --debug          Write debug info to stderr

Metadata

Release files for hls2dash 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hls2dash 0.2.1
File Size Uploaded Provenance Actions
hls2dash-0.2.1.tar.gz 9.8 kB Without provenance Details for hls2dash-0.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for hls2dash 0.2.1
File Interpreter ABI Platform Actions
hls2dash-0.2.1-py2-none-any.whl Python 2 none any Details for hls2dash-0.2.1-py2-none-any.whl

Total release size: 25.4 kB

Release files / hls2dash-0.2.1.tar.gz

Download URL hls2dash-0.2.1.tar.gz
Size 9.8 kB
Tags Source
SHA-256 checksum
How to use checksums
86b2813fda5bc450e4e4a5365ac8d177ae8ff9aac087f28847d51096c9623eff
BLAKE2b-256 checksum
How to use checksums
8844da0f1fe2d0862cc2c98bdf603f33007f841038e9c9bbcbae9897133f086c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / hls2dash-0.2.1-py2-none-any.whl

Download URL hls2dash-0.2.1-py2-none-any.whl
Size 15.6 kB
Tags Python 2
SHA-256 checksum
How to use checksums
8cf2d6dfba2198002e4a1e170e2104a924c95454d84976a24025694ccaf73d6e
BLAKE2b-256 checksum
How to use checksums
df53b7d930e9002f608a2cc9a16d6dbbdefbc9f224653f0e61fdaba4873688f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for hls2dash 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page