Skip to content

binkiewka/streamforge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StreamForge — IPTV Player for Linux

StreamForge is a modern, cinematic IPTV player built with Qt 6 + QML + libmpv. It supports Xtream Codes, Live TV, VOD, EPG, catch‑up, recording, downloads, and 10‑foot‑friendly navigation.

Features

  • Live TV + VOD browsing
  • EPG (XMLTV) with 7‑day grid and program details
  • Catch‑up (timeshift) playback
  • Recording (live) + auto‑stop timer
  • VOD downloads with queue panel
  • Favorites, search, channel number jump
  • Media keys + remote‑style navigation
  • Cinematic UI + AppImage packaging

Requirements

Build dependencies:

  • Qt 6.4+ (Core, Gui, Qml, Quick, QuickControls2, Network, 5Compat)
  • libmpv-dev
  • CMake 3.25+
  • pkg-config

Ubuntu/Debian packages:

sudo apt-get install -y qt6-base-dev qt6-declarative-dev qt6-quickcontrols2-dev qt6-5compat-dev libmpv-dev

AppImage packaging:

  • linuxdeploy
  • appimagetool

Build (local)

cmake -S . -B build
cmake --build build
./build/streamforge

Build AppImage

./scripts/build-appimage.sh

The AppImage will be placed in build/.


CI builds (GitHub Actions)

  • Linux AppImage builds by default.
  • Windows build requires a MPV_URL secret that points to a libmpv dev archive (with include/ + lib/ folders). If not set, the Windows job is skipped.
    • You can use official libmpv dev builds (e.g., from mpv-player/mpv community builds for Windows) or host your own compiled archive.
  • Release workflow: push a tag like v0.1.0 to publish AppImage + Windows zip + NSIS installer.

Configuration

Config is stored locally in config/local.json (gitignored). Example:

{
  "iptv": {
    "provider_url": "http://yourprovider.com",
    "username": "YOUR_USER",
    "password": "YOUR_PASS",
    "proxy": "http://127.0.0.1:1082",
    "refresh_minutes": 1440,
    "live_container": "m3u8",
    "download_dir": "",
    "record_minutes": 120
  }
}

Notes:

  • StreamForge supports XMLTV-based EPG with guide grid, programme details, and channel now-playing metadata.
  • Xtream Short EPG may still be used as a fallback for the currently active channel where needed.
  • live_container: Choose m3u8, ts, or m3u in Settings.
  • download_dir: If empty, uses the system Downloads folder.

Controls

  • Arrow keys: navigate
  • Enter/OK: select
  • 0–9: channel number jump
  • Media keys: play/pause/next/prev/stop
  • PgUp/PgDn: channel zap
  • Left/Right on player: seek

Notes

  • Recording uses mpv stream-record (writes .ts).
  • Catch‑up uses Xtream timeshift URLs (requires provider support).

License

MIT — see LICENSE.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors