{"repo":"jonathaneoliver/infinite-streaming","free":true,"listed":false,"github":"https://github.com/jonathaneoliver/infinite-streaming","clone":"git clone https://github.com/jonathaneoliver/infinite-streaming.git","description":"Docker-based HLS/DASH live-like media server for testing video players under deterministic failure conditions. Includes per-session failure injection, traffic shaping, and ABR characterization.","language":"Go","stars":52,"topics":["avplayer","dash","exoplayer","failure-injection","hls","ll-dash","ll-hls","low-latency-streaming","shaka-packager","video-testing"],"license":null,"category":"deployment-docker-iac","readme_excerpt":"InfiniteStream A Docker-based HLS/DASH test server for video players. Generates LL-HLS and LL-DASH streams (plus 2s and 6s segment variants) from short VOD content on a shared clock, and lets you inject deterministic, streaming-aware failures — HTTP errors, hung responses, corrupted segments, transport drops, bandwidth limits — on a per-session basis so player bugs become reproducible. Built for player QA, SDK development, and side-by-side comparison across HLS.js, Shaka, Video.js, native, iOS/tvOS, Android, and Roku. Or for anyone interested in how ABR interacts with content, networking, and players. Not a production streaming origin. Everything is driven by a REST API (the dashboard is a thin client over it), so every fault, every shaping change, every session control available in the UI is also available to test scripts and CI. --- Why you might want this Player bugs are usually environmental — a network blip, a truncated segment, a slow manifest, a discontinuity the player didn't handle. Reproducing them is the hard part of player QA. Existing options each fall short: - Public test streams (Apple samples, DASH-IF vectors, Bitmovin demos) aren't deterministic, don't loop cleanly, and can't fail on command. - Production origins (Wowza, AWS Elemental, Unified Streaming) are built to serve real viewers, not to misbehave on purpose. - DIY stacks (ffmpeg + nginx-vod or nginx-rtmp) take days to wire up and don't give you LL-HLS and LL-DASH from the same clock, let alone a fault-","default_branch":null,"files":null,"tree":[],"storefront":"/r/jonathaneoliver","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jonathaneoliver/infinite-streaming/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}