Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lezhnev74/hls-monitor
Console script to monitor that HLS links are accessible (supports adaptive streaming)
https://github.com/lezhnev74/hls-monitor
console hls hls-links hls-monitor hls-stream monitor php stream
Last synced: 3 months ago
JSON representation
Console script to monitor that HLS links are accessible (supports adaptive streaming)
- Host: GitHub
- URL: https://github.com/lezhnev74/hls-monitor
- Owner: lezhnev74
- License: mit
- Created: 2016-11-28T17:33:58.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-02-16T14:09:54.000Z (almost 3 years ago)
- Last Synced: 2024-09-27T05:54:49.128Z (4 months ago)
- Topics: console, hls, hls-links, hls-monitor, hls-stream, monitor, php, stream
- Language: PHP
- Size: 63.5 KB
- Stars: 12
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# HLS-monitor
Console script to monitor that HLS links are accessible (supports adaptive streaming)## Install via Composer
```
composer require lezhnev74/hls-monitor
```## Usage
Package comes with a console file located at `vendor/bin/hls-monitor`. Check that playlist is available and all it's streams are accessible from the Internet (in 10 simultaneous connections)```
vendor/bin/hls-monitor playlists --log log.txt --concurrency=10 https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8
```Output will be something like this:
```
#---------------------------------------------------
Executed on node:
Date of execution: 29.11.2016, 10:04 UTC
#---------------------------------------------------Concurrency level:50
Playlists fetching is over in 0.7s
Streams fetching is over in 0.68s
Chunks fetching is over in 255.22s
```The console command will return code `0` if no problems found.
In case of some stream is not accessible, you will see someting like this:
```
#---------------------------------------------------
Executed on node:
Date of execution: 29.11.2016, 11:11 UTC
#---------------------------------------------------Downloading playlist...DONE
Playlist is located on: 127.0.0.1
Found streams in playlist: 3
Started checking streams
Stream is not accessible: http://m3u8provider.dev.com/stream2.m3u8
Stream has unaccessible chunks:
|--Chunk: http://m3u8provider.dev.com/04.ts
|--Chunk: http://m3u8provider.dev.com/05.ts
|---
Checking Streams is DONE
```## Reporting
At this version library has no reporting capabilities.
You will have to write a wrapper for this tool which will capture all of the failed output and will email it to you or report to somewhere.
Pseudo code looks like this:
```php
$playlists = [...many playlists to check...];
$failed_reports = [];// for each given playlist - make checking
$output = [];
$return_code = 0;
exec('vendor/bin/hls-monitor playlists '.implode(",",$playlists), $output, $return_code);
if($return_code) {
// there were problems with this palylist
$failed_reports[] = $output;
}
// then report if anything is not good
if(count($failed_reports)) {
// mail reports to somewhere
}
```