GithubHelp home page GithubHelp logo

imclab / streamsurfer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from grafov/streamsurfer

0.0 3.0 0.0 1.34 MB

Software for monitoring of HTTP video streams.

Home Page: http://streamsurfer.org

License: GNU General Public License v3.0

streamsurfer's Introduction

Stream Surfer

Current state: code broken now. Don't use!

Stream Surfer โ€” probe utiliy for HTTP video streaming. The utility detects errors in HTTP Streams (Apple HLS now supported) and monitor health of any HTTP resources. It may be used as regular monitoring tool and stress testing for mediaservers (and any HTTP-servers too).

Features are:

  • parse M3U8-playlists (master and single-bitrate playlists)
  • detect bad playlists format (empty playlists, incorrect chunk durations)
  • check HTTP response statuses
  • collects response time statistics
  • webreports to represent collected statistics
  • integration with Zabbix (http://zabbix.com) monitoring software

Planned features:

  • probe more formats beside HLS (planned HDS, DASH, Widevine VOD)
  • probe chunks with mediainfo utility (from ffmpeg)
  • REST HTTP to represent collected data and utility control
  • aggregate and analyze statistics from other streamsurfer nodes
  • visualize monitoring information in Web UI
  • persistent storage for statistics and reports generation

This software can't be used for HLS playback.

streamsurfer is an furfer development of Python hlsprobe (https://github.com/grafov/hlsprobe).

Install

You need Go language (http://golang.org) environment installed. Then:

go get github.com/grafov/bcast
go get github.com/grafov/m3u8
go get github.com/gorilla/mux
git clone https://github.com/grafov/streamsurfer
cd streamsurfer
sudo make install

The code includes Bootstrap 2 (http://getbootstrap.com) library (under Apache License). It may be packaged with streamsurfer due GPLv3 license. To simplify installation Bootstrap code yet included in streamsurfer package. Later it will be splitted and Bootstrap will be downloaded separately.

Usage

Setup configuration file (copy one of templates from package) and start utility:

streamsurfer --config=config.yml

All stream problems logged to error log (error-log parameter in the config params section). Web reports available at localhost:8088 (define listener with http-api-listen).

Similar projects

Build status

Build Status

Is maintained?

streamsurfer's People

Contributors

grafov avatar

Watchers

 avatar  avatar  avatar

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.