Giter VIP home page Giter VIP logo

hls-to-dash's Introduction

Build status

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.