Command line tools for HLS manipulation at origin or edge server
Project description
Description
This package contains useful scripts to manipulate HLS manifests at origin or edge server.
Script |
Description |
---|---|
hls-capture |
Create a VOD playlist between two timestamps in a LIVE playlist |
hls-live-from-vod |
Create a LIVE playlist from a set of VOD playlists |
hls-startover |
Create a LIVE playlist from a specific starttime in another LIVE playlist |
Preconditions
These scripts are based on the assumption that all HLS manifest files and segments are archived at the origin server where these scripts are executed. The archive for a specific live stream contains the history for all HLS manifest updates. For example:
Live HLS stream called ‘foo’ is archived in the directory /archive/foo on the server. It contains all updated HLS manifest files with a unix timestamp when it was last updated.
master800.m3u8-1472977456 master800.m3u8-1472977465 master800.m3u8-1472977475
All video segments are also stored in the same directory.
Installation
From source
git clone https://github.com/Eyevinn/hls-origin-scripts.git cd hls-origin-scripts python setup.py install
Usage
These scripts are executed by the request handler at the origin webserver. The scripts output the generated manifest file to stdout
hls-capture
Generate a VOD playlist from a LIVE HLS where segments and manifest files are archived at /hlsarchive/stream/. A 20 minutes VOD manifest from 11:45 to 12:05 is created in this case.
hls-capture /hlsarchive/stream/ --mediaplaylist master800.m3u8 --in "2016-09-04 11:45:00" --out "2016-09-04 12:05:00"
By default any cueout periods (e.g. ads) are removed and a discontinuity tag is added in the generated manifest. Available options:
--help show help message and exit --in TS YYYY-mm-dd HH:MM:SS --out TS YYYY-mm-dd HH:MM:SS --mediaplaylist PL name of media playlist --noremovecueout do not remove segments in cue out periods
hls-startover
Generate a new LIVE HLS playlist with a new start position. This is useful when needing a startover functionality but the user should not be able to watch before the startover position.
hls-startover /hlsarchive/stream/ --mediaplaylist master800.m3u8 --startover "2016-09-04 16:25:00"
Available options:
--help show help message and exit --mediaplaylist PL name of media playlist --startover TS YYYY-mm-dd HH:MM:SS
hls-live-from-vod
TBD
Contribution
We welcome contributions to this project. Just follow the normal procedures by forking this repository, create a topic branch for your fix and then submit a pull request.
License
See LICENSE for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for hlsorigin-0.0.2.linux-x86_64.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e66fed90150ad57a465b9ee2104a7c327245fe050f1d762de5f4eb79b988b7bc |
|
MD5 | f629f81c2b5631ec99d5aec01b1bbd60 |
|
BLAKE2b-256 | 57b003a7e7c705c15671c0962289d105eb95fbe5830fb13b69da637be11b13a7 |
Hashes for hlsorigin-0.0.2-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e0e8b1af4bfeafea7ca20c0d098c609648bacdbdc242bae605c6fd90d4be5b5 |
|
MD5 | b6623e8726abb93c6a2bb25cf5b5db81 |
|
BLAKE2b-256 | c25e991641262ac2872cd48f47e3c3b9dbb07052e4d22a9e6ecdd33d8b2b67cb |