Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Eyevinn/hls-origin-scripts
Scripts to manipulate HLS manifests at origin or edge server
https://github.com/Eyevinn/hls-origin-scripts
Last synced: 3 months ago
JSON representation
Scripts to manipulate HLS manifests at origin or edge server
- Host: GitHub
- URL: https://github.com/Eyevinn/hls-origin-scripts
- Owner: Eyevinn
- License: other
- Created: 2016-09-04T08:12:19.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-04-19T07:02:11.000Z (over 7 years ago)
- Last Synced: 2024-07-26T06:45:13.499Z (4 months ago)
- Language: Python
- Homepage: http://eyevinn.github.io
- Size: 18.6 KB
- Stars: 18
- Watchers: 4
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-video - Eyevinn/hls-origin-scripts - Scripts to manipulate HLS manifests at origin or edge server - Eyevinn/hls-origin-scripts (HLS / Talks Presentations Podcasts)
README
# 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 sourcegit clone https://github.com/Eyevinn/hls-origin-scripts.git
cd hls-origin-scripts
python setup.py install
From Python Package Indexpip install hlsorigin
# UsageThese 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-vodTBD
# 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