{"id":13908324,"url":"https://github.com/grafov/streamsurfer","last_synced_at":"2025-07-18T07:30:56.355Z","repository":{"id":9612846,"uuid":"11537742","full_name":"grafov/streamsurfer","owner":"grafov","description":"Software for monitoring of HTTP video streams.","archived":true,"fork":false,"pushed_at":"2015-07-18T16:22:27.000Z","size":1405,"stargazers_count":84,"open_issues_count":1,"forks_count":17,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-11-25T17:46:03.753Z","etag":null,"topics":["abandoned","hls","monitoring","probe"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grafov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-07-19T21:41:06.000Z","updated_at":"2024-05-31T08:25:06.000Z","dependencies_parsed_at":"2022-09-13T03:10:58.774Z","dependency_job_id":null,"html_url":"https://github.com/grafov/streamsurfer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/grafov/streamsurfer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafov%2Fstreamsurfer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafov%2Fstreamsurfer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafov%2Fstreamsurfer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafov%2Fstreamsurfer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grafov","download_url":"https://codeload.github.com/grafov/streamsurfer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafov%2Fstreamsurfer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265720451,"owners_count":23817240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abandoned","hls","monitoring","probe"],"created_at":"2024-08-06T23:02:38.481Z","updated_at":"2025-07-18T07:30:56.026Z","avatar_url":"https://github.com/grafov.png","language":"Go","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"**As I moved away from videostreaming development I not more interested in this project. So I leave code as is in unfinished state. I'll continue to maintain [m3u8](https://github.com/grafov/m3u8) library as it is used in some other projects.**\n\nStream Surfer\n=============\n\n**Current state: code broken. Don't use!**\n\nStream Surfer — probe utiliy for HTTP video streaming. The utility detects errors in\nHTTP Streams (Apple HLS now supported) and monitor health of any HTTP resources. It may\nbe used as regular monitoring tool and stress testing for mediaservers (and any\nHTTP-servers too).\n\nFeatures are:\n\n * parse M3U8-playlists (master and single-bitrate playlists)\n * detect bad playlists format (empty playlists, incorrect chunk durations)\n * check HTTP response statuses\n * collects response time statistics\n * webreports to represent collected statistics\n * integration with Zabbix (http://zabbix.com) monitoring software\n\nPlanned features:\n\n * probe more formats beside HLS (planned HDS, DASH, Widevine VOD)\n * probe chunks with `mediainfo` utility (from ffmpeg)\n * REST HTTP to represent collected data and utility control\n * aggregate and analyze statistics from other streamsurfer nodes\n * visualize monitoring information in Web UI\n * persistent storage for statistics and reports generation\n\nThis software can't be used for HLS playback.\n\n`streamsurfer` is an furfer development of Python `hlsprobe` (https://github.com/grafov/hlsprobe).\n\nInstall\n-------\n\nYou need Go language (http://golang.org) environment installed.\nThen:\n\n\tgo get github.com/grafov/bcast\n\tgo get github.com/grafov/m3u8\n\tgo get github.com/gorilla/mux\n\tgit clone https://github.com/grafov/streamsurfer\n\tcd streamsurfer\n\tsudo make install\n\nThe code includes Bootstrap 2 (http://getbootstrap.com) library (under Apache License).\nIt may be packaged with `streamsurfer` due GPLv3 license.\nTo simplify installation Bootstrap code yet included in `streamsurfer` package.\nLater it will be splitted and Bootstrap will be downloaded separately.\n\nUsage\n-----\n\nSetup configuration file (copy one of templates from package) and start utility:\n\n    streamsurfer --config=config.yml\n\nAll stream problems logged to error log (`error-log` parameter in the config `params` section).\nWeb reports available at `localhost:8088` (define listener with `http-api-listen`).\n\nSimilar projects\n----------------\n\n * http://code.google.com/p/hls-player\n * http://github.com/brookemckim/hlspider\n\nBuild status\n------------\n\n[![Build Status](https://travis-ci.org/grafov/hlsprobe2.png?branch=master)](https://travis-ci.org/grafov/hlsprobe2)\n\n[![Is maintained?](http://stillmaintained.com/grafov/hlsprobe2.png)](http://stillmaintained.com/grafov/hlsprobe2)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrafov%2Fstreamsurfer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrafov%2Fstreamsurfer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrafov%2Fstreamsurfer/lists"}