thehardwarestore.ai

where AI agents shop for the right tools

── 99095 repos indexed ── | filtered by tag: #dash
plotly/dash ★ 24441 2328 APPLICATION

Plotly Dash is a production-grade Python framework for building reactive, data-driven web applications. It provides a declarative callback system (server-side, clientside, background, streaming), a rich component library (core components, data table, HTML wrappers), and a React/Redux frontend renderer. The architecture supports multiple backends (Flask, Quart, FastAPI), real-time communication via WebSocket, cross-process shared storage (local, diskcache, Redis), and an MCP (Model Context Protocol) server for AI/LLM integration. The monorepo includes component generation tooling, extensive testing infrastructure (unit, integration, visual, WebSocket, background callback), and performance benchmarks. While primarily an application framework, its data table, filtering syntax tree, and shared storage subsystems demonstrate strong data engineering patterns.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 8 reusable components found
shaka-project/shaka-player ★ 8252 1528 APPLICATION

Shaka Player is a production-grade, client-side JavaScript library for adaptive media streaming in web browsers. It implements the full DASH and HLS manifest parsing pipelines, DRM integration via Encrypted Media Extensions, and a comprehensive plugin system for ad insertion, text display, transmuxing, and device-specific quirks. The architecture is modular with clear separation of concerns: a core Player class orchestrates manifest parsers, streaming engines, ABR algorithms, and UI controls. Key capabilities include offline storage (IndexedDB), CMCD/CMSD metrics reporting, closed captions (CEA-608/708, WebVTT, TTML), and experimental MoQT streaming support. The codebase is heavily tested with over 1,000 unit and integration tests and runs in CI against real browsers and devices (Tizen, Chromecast, Xbox). It is not a data research project; it is a reusable software library designed for embedding in web applications.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
ossrs/srs ★ 29319 5699 APPLICATION

SRS (Simple Realtime Server) is a high-performance, multi-protocol media streaming server primarily written in C++ with a newer Go-based proxy component (SRSX). It ingests, processes, and delivers live audio/video streams via RTMP, WebRTC (WHIP/WHEP), HLS, HTTP-FLV, SRT, and GB28181. The core C++ engine uses a coroutine model built on state-threads, implements stream forwarding, transcoding via FFmpeg, and provides a full HTTP API for management. The Go proxy component (cmd/proxy, internal/) adds load balancing, Redis integration, and protocol proxying for RTMP/HTTP/WebRTC, designed to scale origin/edge deployments. The repository also includes extensive research code, blackbox integration tests, and vendored third-party libraries (FFmpeg 4, OpenSSL 1.1, gperftools, SRT, libsrtp) that have been customized with a '-fit' suffix. This hybrid architecture is actively developed with multiple CI workflows and a large test suite, though some vendored dependencies are older and may require security updates.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
bytedance/xgplayer ★ 9307 943 APPLICATION

xgplayer is a production-grade, plugin-based HTML5 video player library maintained by ByteDance. It provides a core player package (`packages/xgplayer`) with UI controls, event/hook systems, device sniffing, i18n, and a rich plugin registry, plus separate npm packages for streaming protocols including HLS, FLV, DASH, MP4, and MPEG-TS transmuxing. The architecture is a monorepo of coordinated packages: streaming plugins built on shared networking, MSE, buffer, and error utilities; a custom type-level transmuxer that demuxes/remuxes FLV/TS/MP4 into fMP4 for Media Source Extensions; and extension packages for Chromecast/AirPlay, Google IMA ads, subtitles, and music visualization. In production this library plays both VOD and live streams in the browser, handles adaptive bitrate switching, DRM, low-latency manifest polling, and provides full control UI for desktop and mobile.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
videojs/video.js ★ 39901 7478 APPLICATION

Video.js is a mature, full-featured HTML5 video player library and framework for the web. It provides a component-based UI architecture where every visual element (buttons, sliders, menus, modals) extends a base `Component` class with lifecycle management, DOM creation, and event handling. The player supports a wide range of media formats including HLS and DASH via the `@videojs/http-streaming` plugin, and offers extensive accessibility features, internationalization (50+ languages), text tracks (captions, subtitles, chapters), audio/video track management, and a plugin system for extensibility. The library is distributed as a JavaScript package (CommonJS, ES modules) with a built-in CSS skin and is used by millions of websites. The architecture is layered: a `Player` class orchestrates techs (HTML5, custom techs) and UI components; a middleware system allows intercepting source selection, playback, and volume; and a robust event system (with mixins for evented and stateful behavior) enables decoupled communication. The codebase is well-tested with QUnit and Sinon, and includes a comprehensive build pipeline (Rollup, Sass, PostCSS) and CI/CD for releases. While the library is actively maintained (v8.24.1, v10 planned for 2026), it carries some legacy baggage: deprecated APIs, browser-specific workarounds, and outdated documentation files. Overall, it is a high-quality, production-grade video player framework with many reusable patterns.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
nilaoda/N_m3u8DL-RE ★ 8914 890 APPLICATION

N_m3u8DL-RE is a cross-platform command-line tool for downloading streaming media from HLS, DASH, and Microsoft Smooth Streaming (MSS) sources. It supports both on-demand (VOD) and live recording with features like decryption (AES-128, CENC, ChaCha20), subtitle extraction and timeline repair, ad filtering, and muxing into MKV/MP4 via FFmpeg or mkvmerge. The architecture is a monolithic CLI application built on .NET 10 with System.CommandLine, Spectre.Console for progress UI, and extensive external tool integration. The codebase is well-tested with over 100 test files covering parsing, download managers, and edge cases. Key modules include manifest parsers (HLS, DASH, MSS), a download manager with live segment tracking and catchup, and utilities for MP4 box parsing, encryption, and media merging. While the tool is functionally rich and demonstrates solid engineering, it has some maintenance risks: reliance on prerelease .NET toolchains, large monolithic classes (e.g., SimpleLiveRecordManager2), and external binary dependencies that may change. The repository is actively maintained with a large user base and frequent updates.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
plotly/dash-component-boilerplate ★ 294 196 APPLICATION

This repository is a Cookiecutter template for generating Dash component projects. It provides a structured starting point for creating custom Dash components, including Python package structure, React component code, build scripts (webpack), a demo application, and tests. Users run the template via `cookiecutter`, answer prompts about their project (name, component type, licensing), and receive a fully configured project ready for development. The template employs Jinja2 templating to conditionally include files based on user choices, such as asynchronous component loading or class/function-based React components. It includes pre-generation and post-generation hooks to validate user input and automate setup tasks like creating a virtual environment, installing dependencies, and running the initial build. Generated projects follow Dash's conventions for component distribution, including proper packaging for PyPI and NPM. Notably, the template includes a sophisticated webpack configuration implementing code splitting for asynchronous chunks and shared common chunks, optimizing bundle loading. The template also includes validation scripts to ensure the generated project's build configuration is correct. Tests verify the generated project can be built and the component renders correctly in a Dash application. The repository is actively maintained with recent commits and ongoing issue activity.

RATING: 7.8/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
mediaelement/mediaelement ★ 8299 1536 APPLICATION

MediaElement is a mature, client-side JavaScript library that provides a consistent, cross-browser HTML5 video and audio player experience. It wraps native `<video>` and `<audio>` elements with a unified API and UI, while supporting a plugin-based renderer system for fallback and streaming formats including YouTube, Vimeo, HLS, DASH, Facebook, SoundCloud, Twitch, and Dailymotion. The library is distributed as two bundles: a core `mediaelement.js` (API only) and `mediaelement-and-player.js` (with full UI controls). It includes internationalization (i18n) for over 30 languages, subtitle/caption track support, and a range of player features (play/pause, progress bar, volume, fullscreen, time display) that can be customized via a feature injection pattern. Architecturally, the codebase is organized into core modules (`mejs.js`, `mediaelement.js`, `renderer.js`, `i18n.js`), renderer implementations (each self-contained and registered via a common interface), player features (each added as a method on the player prototype), and utility functions (DOM helpers, time formatting, media type detection, polyfills). The build system uses Grunt with Browserify and Babel 6, targeting older browsers (IE10+, iOS 7+, Android 3+). The library is designed to be framework-agnostic but includes optional jQuery/Zepto integration. While the library is functionally complete and widely used, it shows signs of technical drift: the build toolchain is outdated (Grunt, Browserify 13, Babel 6), some dependencies are stale, and the codebase relies on global namespace pollution (`window.mejs`). The player class (`player.js`) is monolithic and handles many responsibilities. Despite these issues, the core abstractions—especially the renderer registry and i18n engine—are well-designed and could be extracted for reuse in other projects.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
krzemienski/awesome-video ★ 1913 237 APPLICATION

Awesome Video is a curated resource catalog for streaming video technologies, maintained as structured JSON (contents.json) and rendered into both a README and a static documentation site (MkDocs Material) deployed to awesome.video. The catalog spans ~50 hierarchical categories covering HLS, DASH, FFmpeg, codecs (HEVC/VP9/AV1), transport protocols (RIST/SRT/RTMP), players, DRM, QoE, testing, CDN, HDR, subtitles, and learning resources. It is not a runtime application — it is a content curation pipeline: contents.json is the source of truth, convert.rb generates the README, database.json feeds the site's lunr search index, and loader.py imports bookmarks from Raindrop.io. The repo is hybrid in nature: primarily a curated data catalog with a static-site build system around it, rather than a software application or research pipeline. The build pipeline (GitHub Actions) validates the JSON against schema.json, checks external links with awesome_bot, and deploys to GitHub Pages. The curation quality is strong — entries include authoritative references (Netflix TechBlog, DASH-IF specs, Apple WWDC sessions, Xiph test media) — but the supporting code is simple utility scripting with notable weaknesses: hardcoded Raindrop.io credentials in loader.py, inconsistent category identifiers and malformed tag entries in the data, and aging CI dependencies (Python 3.7, jinja2 3.0.3). The repo is actively maintained and the data model (hierarchical categories + multi-tagged project records) is a clean, portable schema for any awesome-list-style content site.

RATING: 6.7/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
tiajinsha/JKVideo ★ 5000 2872 APPLICATION

JKVideo is a cross-platform (Android/iOS/Web) Expo React Native application that acts as an unofficial Bilibili client. It browses Bilibili recommendation feeds, searches videos, plays DASH video via a locally generated MPD consumed by react-native-video/ExoPlayer, streams live rooms over HLS, displays video and live danmaku, loads comments, supports QR-code login, downloads videos, and shares them over a LAN HTTP server. The code is organized into expo-router screens, React hooks, Zustand stores, a single API service module, and utility modules; it uses signed WBI requests and maintains Bilibili cookies/CSRF state. The implementation quality is above average for a community project: the service layer includes request deduplication and network-only retries; the video player uses Animated-driven seek bars with video-shot preview thumbnails and quality fallback chains; DASH MPD generation handles Dolby Vision and segment ranges; the download hook pauses on background and resumes on foreground. However, there are no automated tests, some dead/default code remains (App.tsx is not the real entry), a hardcoded Sentry DSN and an exposed EAS Sentry auth token are present, and the LAN-share QR code relies on an external QR API. Live 'real-time' danmaku is actually 1.5-second REST polling of Bilibili's history endpoint, despite README claims of WebSocket. The repository is explicitly deprecated: the Chinese README states Bilibili sent a legal letter and maintenance/Issues/PRs have ceased, even though the last commit is recent. This code is useful as a reference for Bilibili API integration, DASH MPD construction, danmaku rendering, and React Native video-player architecture, but it should not be selected for new production use.

RATING: 6.2/10 MAINT: deprecated DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: