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.
BililiveRecorder is a multi-platform application for recording Bilibili (mikufans) live streams. It provides a desktop GUI (WPF), a cross-platform CLI, and a web interface (ASP.NET Core) with REST and GraphQL APIs. The core system manages room monitoring, stream capture via HTTP, danmaku (live chat) recording, and FLV file processing with a pipeline-based repair engine that fixes timestamp jumps, duplicate headers, and other stream corruption. It supports hierarchical configuration, user scripting (via embedded Jint JavaScript runtime), and webhook notifications. The application is modular: separate libraries for FLV parsing/writing (BililiveRecorder.Flv), core recording logic, toolbox utilities (fix, analyze, merge danmaku), and a web frontend with an embedded ArtPlayer-based video player. The codebase is well-structured with dependency injection, unit tests, and code generation for configuration models.