Open-source software for hosting your own real-time video broadcasting and interactive streaming services.
Owncast is a self-hosted live streaming server that provides full control over broadcast infrastructure and audience data. It functions as an RTMP video streaming server, accepting incoming video feeds and distributing them to viewers through HLS-based segmented streaming. The platform includes a built-in, stateful web-based chat interface that enables real-time viewer engagement during broadcasts. The project distinguishes itself through deep integration with the decentralized Fediverse, allowing servers to automatically broadcast stream status updates and notify followers across distributed social networks. It is designed for extensibility and performance, supporting event-driven webhooks for automation and offloading resource-intensive tasks like video encoding and media storage to external hardware or cloud-based object storage providers. The platform offers a comprehensive suite of tools for managing live content, including adaptive bitrate streaming, moderator controls, and customizable public interfaces. Administrators can tailor the viewer experience through theme variables, custom client scripts, and embedded components that allow video and chat to be integrated into external websites. The system also provides robust observability, with support for exporting performance metrics and monitoring hardware utilization to ensure stable stream delivery.
Owncast is a self-hosted live streaming server that provides RTMP ingestion, HLS delivery, and a built-in chat interface, making it a comprehensive, purpose-built alternative to platforms like Twitch.
Restreamer is a self-hosted video broadcast platform and RTMP streaming server. It functions as a live media processing gateway and a multi-destination stream relay, providing a web-based management interface to configure video codecs, hardware acceleration, and stream routing. The system enables multi-platform video streaming by duplicating a single live video source and forwarding it to various third-party broadcast services and external servers simultaneously. It also supports direct-to-website broadcasting, allowing users to host live content for private or public audiences via customizable embedded players and template-driven landing pages. The platform covers a broad range of media capabilities, including diverse source ingestion, real-time media processing with hardware-accelerated filtering, and stream performance monitoring. Security is managed through automated traffic encryption and access controls for video content visibility. Programmatic stream management is available via a REST-based orchestration API for integration with external software.
This platform provides robust RTMP ingestion and HLS delivery for self-hosted live streaming, though it functions primarily as a broadcast relay and management gateway rather than a full-featured social streaming site with built-in multi-user chat.
This project is a real-time communication and media streaming server designed for broadcasting, recording, and distributing audio and video content. It functions as a live streaming server and an RTMP media server, providing the infrastructure necessary to deliver real-time media to multiple concurrent viewers over a network. The system distinguishes itself through a multi-protocol media gateway that supports RTMP, E-RTMP v2 for modern codecs like HEVC and AV1, and HTTP media tunneling to bypass restrictive firewalls. It further acts as a real-time communication platform by synchronizing shared state objects across connected clients and pushing asynchronous updates via server-sent events. The server covers broad capability areas including media session management, live stream recording, and video-on-demand delivery. It incorporates security features such as TLS/SSL encryption and protocol traffic validation, while using hierarchical user scoping to control data visibility across global, web, and room levels. Administrative utilities allow the server to be deployed as a daemon on Linux and Windows for background execution.
This is a low-level media streaming server and infrastructure component that handles RTMP ingestion and distribution, but it lacks the built-in user interface, multi-user chat, and frontend platform features required for a complete Twitch-like streaming application.
PeerTube is a decentralized, open-source video hosting platform that enables users to operate independent, interoperable servers. By utilizing the ActivityPub protocol, it connects these servers into a global, federated network where users can follow channels, discover content, and interact across different instances. The platform is designed to function as a self-hosted video content management system, providing a community-driven alternative to centralized media services. What distinguishes PeerTube is its hybrid approach to content delivery and infrastructure management. It integrates peer-to-peer distribution via WebTorrent to reduce server bandwidth consumption, while simultaneously supporting remote object storage to decouple media assets from local disk capacity. To maintain performance under high load, the platform delegates resource-intensive tasks like video transcoding and transcription to external worker instances, ensuring the primary server remains responsive. The platform offers a comprehensive suite of tools for content management, including live streaming, automated moderation, and granular access controls. Its extensibility is supported by a hook-based plugin architecture, allowing administrators to inject custom logic, modify interface elements, or integrate third-party services. Additionally, the system provides a robust command-line interface and a standardized REST API, enabling programmatic control over administrative tasks, bulk content processing, and platform maintenance. The software is packaged for containerized deployment, simplifying infrastructure management and ensuring consistent execution across various hosting environments.
PeerTube is a self-hostable, federated video platform that supports live streaming and video-on-demand, serving as a decentralized alternative to centralized streaming services.
This application is an Android TV streaming player that functions as a self-hosted IPTV client, a DASH live TV player, and an M3U playlist viewer. It is designed for television screens and supports navigation via remote control or touch gestures. The player delivers live television channels using DASH adaptive bitrate streaming, adjusting quality based on bandwidth. Video sources are configured by loading local or remote playlist files in M3U, text, or JSON formats, or by scanning a QR code that encodes a URL or serialised playlist data. Users can switch channels, bookmark favorite channels for quick access, and persist those selections across sessions. Beyond the core playback and navigation, the system includes automatic generation of release version metadata from git tags for build pipelines, supporting structured deployment.
This is an IPTV client for viewing existing streams on Android TV, rather than a self-hostable broadcasting platform that provides RTMP ingestion, multi-user chat, or video-on-demand hosting.
The NGINX RTMP module is a server-side extension that functions as a live video streaming engine. It enables the ingestion, processing, and distribution of real-time audio and video feeds, supporting both RTMP and HLS protocols to facilitate media delivery to multiple clients. The module distinguishes itself by integrating directly into the host server event loop, allowing for high-concurrency network input and output without blocking the main thread. It provides a toolkit for managing media streams through event-driven callbacks, which can trigger external process invocations for custom transcoding workflows or perform asynchronous HTTP queries to validate client requests before allowing stream ingestion or playback. The software includes a broad range of infrastructure capabilities, such as segmented media packaging for web-based delivery, remote stream relay for synchronization across distributed nodes, and live stream recording to local storage. It also offers administrative controls for monitoring connection statistics, managing active client sessions through dynamic redirection or termination, and securing content via IP-based access restrictions and fragment encryption.
This is a server-side module for handling RTMP and HLS stream ingestion and distribution, but it lacks the built-in user interface, chat, and multi-user management features required for a complete, Twitch-like streaming platform.
This project is an Apple TV video application and API client for Bilibili, designed to stream video content with support for HDR and subtitles. It serves as a specialized media player that integrates with Bilibili services to provide video discovery and user account management. The application features a real-time danmaku renderer that overlays scrolling user comments on top of video playback. It includes a plugin-based player system for adding custom overlays and behavioral modifications, as well as tools for adjusting playback speed and skipping sponsored segments. The system covers adaptive video streaming via DASH manifests, a focus-driven user interface optimized for television navigation, and digital content discovery through paginated feeds and search interfaces. It also implements QR code authentication for account login and cloud-based projection protocols for synchronizing playback between mobile devices and screens.
This project is a specialized Apple TV client for consuming content from an existing third-party service rather than a self-hostable platform for broadcasting and managing your own live streams.