MediaGo Documentation

repository·master·Indexed 25 days ago

https://github.com/mediago-dev/mediago

A cross-platform video downloader featuring built-in sniffing capabilities and support for over 1,000 sites via yt-dlp. MediaGo includes a Go-based core with an HTTP API, a React-based frontend for web and Electron desktop environments, and integrated tools like aria2c for direct downloads. The project provides packages such as @mediago/core and @mediago/core-sdk, supporting headless Docker deployments and a web UI.

Tokens
48.7K
Snippets
82
Records
313
Agent score
92%

What's inside MediaGo

  1. Overview of aria2 integration in MediaGo

    master
    MediaGo uses pre-compiled aria2c static binaries to power the DownloadType: "direct" functionality. This replaces the previous gopeed implementation as of version v3.5.0-beta.2. MediaGo invokes aria2c as a separate subprocess rather than a linked library.
  2. Overview of MediaGo Open-source Edition capabilities

    master

    MediaGo is a cross-platform video downloader designed to simplify workflows for web video, HLS/M3U8, and various streaming sites. It integrates underlying tools like yt-dlp, N_m3u8DL-RE, BBDown, and FFmpeg into a unified interface.

    Key Capabilities:

    • Multi-platform Clients: Desktop apps for Windows, macOS, and Linux, plus Docker/NAS deployment (amd64 and arm64).
    • Browser Integration: Chrome/Edge extensions to detect web video resources and send them to MediaGo.
    • Built-in Browser: Sniff media resources directly within the client.
    • Site Coverage: Supports YouTube, Twitter/X, Instagram, Reddit, Bilibili (via BBDown), and 1000+ other sites.
    • Advanced Downloading: Handles HLS/M3U8, live streams, batch downloads, and queue management.
    • Post-Processing: Built-in format conversion and quality selection.
    • Automation & Integration: Provides an HTTP API for scripts/third-party tools and an OpenClaw Skill for AI coding assistants to trigger tasks.
    • Local Network Access: Desktop app can listen on a local network IP to allow mobile devices to access the Web UI for playback.
  3. Overview of Electron Main Process capabilities

    master

    The Electron main process is responsible for the desktop application lifecycle and system-level integration. Key responsibilities include:

    • Window Management: Creating and managing the main application window.
    • System Integration: Managing the system tray, notifications, and OS-specific features.
    • Security: Implementing secure IPC (Inter-Process Communication) with the renderer process.
    • Auto-Updates: Managing the built-in update mechanism.
    • Native Access: Providing native file system access and application menus/shortcuts.
    • Cross-Platform Support: Compatibility with Windows, macOS, and Linux.
  4. Overview of MediaGo Open Source capabilities

    master

    MediaGo Open Source is a cross-platform video downloader designed to simplify the process of sniffing, selecting, and saving video resources without requiring complex command-line knowledge or manual M3U8 segment stitching.

    Core Capabilities:

    • Desktop Clients: Available for Windows, macOS, and Linux.
    • Browser Integration: Chrome/Edge extensions can identify video resources and send them to MediaGo.
    • Built-in Browser: Open video pages directly within the client for automatic resource sniffing.
    • Broad Site Coverage: Uses yt-dlp for YouTube, Twitter/X, Instagram, Reddit, etc., and BBDown for enhanced Bilibili support.
    • Streaming Support: Integrated professional streaming download capabilities for HLS/M3U8 and live streams.
    • Automation & API: Supports HTTP API for scripts, third-party tools, and browser extensions, as well as OpenClaw Skill for AI agent task creation.
    • NAS & Docker: One-click Docker deployment (supporting amd64 and arm64) for home servers and NAS.
    • Local Network Access: The desktop client can listen on LAN IPs, allowing mobile devices to access the Web UI for viewing download lists and playing content.
    • Post-processing: Includes built-in format conversion and quality selection.
  5. Overview of MediaGo Frontend architecture

    master

    The MediaGo frontend is a React-based application designed to operate in two distinct environments:

    1. Electron Renderer: Integrated into Electron's BrowserWindow for the desktop experience.
    2. Standalone Web: Served by the webapi backend for access via standard web browsers.

    Communication with backend services is handled via Socket.io for real-time updates (such as download progress) and HTTP APIs for standard data operations.

  6. Overview of MediaGo features

    master

    MediaGo is a cross-platform video downloader that uses built-in sniffing to detect downloadable resources without requiring packet capture tools (like Fiddler or Charles), plugins, or command-line interfaces.

    Key capabilities include:

    • Built-in Sniffing: The desktop version includes a browser that automatically detects downloadable resources when you visit a video page.
    • Browser Extension: Supports Chrome and Edge for one-click sniffing, with a toolbar icon showing detected items. Supports YouTube, Bilibili, and more.
    • Wide Source Support: Supports HLS/m3u8 streams, live streaming, and over 1,000 sites including YouTube, Bilibili, Twitter/X, and Instagram using N_m3u8DL-RE, BBDown, and yt-dlp internally.
    • Batch Downloading: Allows simultaneous downloading of multiple videos or live streams with adjustable concurrency.
    • Built-in Format Conversion: Converts downloaded files to different formats or qualities within MediaGo using integrated ffmpeg support.
    • Mobile Playback: The desktop version can listen on a LAN IP, allowing smartphones or tablets on the same Wi-Fi to access the Web UI for viewing download lists and playing videos.
    • Open HTTP API: Provides a full HTTP API for creating tasks, tracking progress, and managing lists via scripts or third-party apps.
    • AI Assistant Integration (OpenClaw Skill): Allows AI coding assistants like Claude Code or Cursor to download videos via a single-command Skill installation.
    • Docker Deployment: Supports one-line deployment to NAS or VPS via Docker Hub or GHCR with multi-architecture image support.
  7. Compare MediaGo with other video downloaders

    master

    This review compares MediaGo against various video downloading tools to highlight its unique positioning in the 2026 ecosystem.

    Key differentiators for MediaGo include:

    • Comprehensive Coverage: Supports desktop, browser extensions, NAS (Docker), APIs, and streaming protocols (M3U8/HLS).
    • Workflow Integration: Unlike standalone tools, MediaGo connects browser sniffing to task queues, format conversion, and automated Agent workflows.
    • Advanced Processing: Offers AI-driven features like transcription, subtitle translation, and vocal separation which are often missing in CLI-based or traditional commercial tools.
    • Self-Hosting & Automation: Provides a robust Docker/NAS presence with HTTP APIs, making it suitable for automated media pipelines compared to purely desktop-centric tools.
  8. Compare Cat Catch (猫抓) and MediaGo

    master

    MediaGo and Cat Catch (猫抓) serve different primary purposes in a video downloading workflow:

    • Cat Catch (猫抓): Primarily a browser extension for media resource sniffing. It is best for discovering media links (video, audio, m3u8) directly within a browser session.
    • MediaGo: A complete video downloading workflow. It includes a desktop application, browser extensions, a built-in browser, download queues, m3u8/HLS processing, format conversion, and support for Docker/NAS deployments.

    Comparison Summary

    FeatureCat Catch (猫抓)MediaGo
    Core FormBrowser Extension / SnifferDesktop App + Extension + Docker/NAS
    Primary CapabilityDiscovering web media resourcesIdentification, downloading, queuing, processing, automation
    m3u8/HLSDiscovers resources; processing depends on external toolsHandles as a core download scenario
    Download FailuresRequires user to troubleshoot resources/toolsBuilt-in browser can re-identify context
    Merging/Audio IssuesOften requires external toolsIntegrated download and processing pipeline
    Target UserUsers comfortable with browser extensionsUsers seeking a complete video downloader
  9. MediaGo Download API Overview

    master

    MediaGo exposes its download core as an HTTP service. You can use any HTTP client (curl, Python, Node.js, Postman, etc.) to create tasks, start/stop downloads, and query progress.

    Base URLs

    • Desktop Client: http://localhost:39719
    • Docker Deployment: http://<server-address>:9900 (adjust based on your -p port mapping)

    All endpoints are prefixed with /api.

    Authentication

    • Desktop Client: No authentication required by default.
    • Docker Deployment: If authentication is enabled, retrieve an API Key from the MediaGo Settings page and include it in requests as Authorization: Bearer <key>.
  10. Understand M3U8 and HLS streaming concepts

    master

    M3U8 is not a standard video file; it is a playlist format used in HTTP Live Streaming (HLS). It contains metadata that points to various video/audio tracks, different quality levels (bitrates), or individual media segments.

    When a player processes an M3U8 file, it reads the segment addresses and downloads them sequentially. The user perceives a continuous video stream, but the underlying data consists of multiple small files, typically in .ts or .m4s formats.

    Common HLS Structure

    ComponentDescription
    Master PlaylistContains links to multiple sub-playlists representing different resolutions or bitrates.
    Sub-playlistPoints to the specific list of media segments.
    TS / M4S SegmentsThe actual files carrying the video or audio data.
    Key InformationContains encryption-related data for protected HLS streams.
  11. Compare MediaGo with commercial and browser-based downloaders

    master

    MediaGo competes with several established categories of downloaders:

    • Commercial Desktop (4K Video Downloader Plus, Downie, IDM): These tools focus on polished UI and ease of use for single-machine users. MediaGo differentiates through open-source transparency, cross-platform Docker/NAS support, and API/Agent automation.
    • Browser Extensions (Video DownloadHelper): These are excellent for quick, temporary captures of web videos. MediaGo's extension is designed as a frontend for a much larger workflow (task queues, conversion, and remote NAS storage) rather than just a simple capture tool.
  12. Compare MediaGo with specialized video downloaders

    master

    This documentation provides a comparative review of MediaGo against various specialized video downloading tools to help users understand where MediaGo fits in their workflow.

    Key Competitors and Use Cases:

    • Desktop/Commercial Tools (Pulltube, SnapDownloader, iTubeGo): These are strong for single-machine macOS/Windows users with mature UIs. MediaGo differentiates by offering a complete chain of Desktop + Browser + Docker/NAS + API.
    • Android Tools (YTDLnis, Seal): Optimized for mobile sharing and lightweight downloads. MediaGo serves mobile users via its Web UI and NAS playback/remote management.
    • Protocol-Level/Advanced Tools (N_m3u8DL-RE, FFmpeg, Streamlink): These require manual stream URLs or CLI expertise. MediaGo acts as a user-friendly wrapper providing web recognition, task management, and graphical workflows.
    • Platform-Specific Tools (yutto, BBDown, TwitchDownloader): Highly specialized for Bilibili or Twitch. MediaGo aims to productize these capabilities for a general audience across multiple platforms.
    • Web-Based/Lightweight Tools (Cobalt): Focused on a 'paste link and download' experience. MediaGo is better suited for local, private, long-term running, and multi-entry download workflows.