v1.0 · Free & open source · Auto-updating · Windows / macOS / Linux

Your Telegram channels are a movie library. Start watching like one.

NoBuf streams video straight from your channels. Press play and it plays, MKVs included, with no download-first wait. Your files stay in your own Telegram.

v1.0.0 · $0 · local-first · auto-updates · no telemetry

Big_Buck_Bunny_60fps_4K.mkv
NoBuf player streaming a 4K video from a Telegram channel, with a hover-scrub thumbnail over the seek bar and a live cache meter
Playing a 4K file directly from a Telegram channel while it caches in the background.
⌘ dual-audio switch mid-scene hover-scrub thumbnails
Windows macOS · Intel & Apple silicon Linux · AppImage, deb, rpm

The download wall

You already keep movies and courses in Telegram channels. But watch one and you're downloading gigabytes first, or re-downloading them on another machine tomorrow. NoBuf deletes the wait without moving your files anywhere.

Why not just Telegram?

Telegram is a great vault. It was never a cinema. NoBuf keeps everything where it is and adds the missing half.

What Telegram already gives you
Unlimited cloud storageYour channels hold terabytes for free
MP4 streaming in-appFor files Telegram's player supports
QR login & drag-drop uploadSame account, same files
Signed auto-updatesOne click, verified builds
Global CDN deliveryFast downloads wherever you are
What NoBuf adds
MKV, TS and HEVC play immediatelyNo full-file download first. The format wall comes down
A real seek engineJump anywhere in seconds, even cue-less MKVs; frame previews follow your cursor everywhere
Subtitles built inEmbedded SRT/ASS tracks render with their fonts, plus OpenSubtitles search
Dual-audio switching mid-sceneChange languages without losing your place
A library, not a chat logFolders, groups, search, plus a local REST API to script it all

One seek bar. Four honest layers.

Every color on NoBuf's player bar means something. No fake progress, no guessing what's buffered — hover each layer below.

0:0033:001:06:001:39:002:13:42

Layer 01

White — buffered in memory Ranges decoded into RAM right now. Hover the bar and watch them hug your playhead.

Layer 02

Green — cached to disk The glowing strip along the bottom edge. Seek into it and playback starts instantly.

Layer 03

Yellow — previews ready The strip along the top edge. A frame preview follows your cursor before you commit.

Layer 04

Red — your playhead Where you are right now. Drag anywhere; NoBuf fetches and plays from that exact spot.

The seek engine

Keyframe indexes grow as files arrive. Cue-less MKVs get cluster bisection, so far jumps land in seconds. Scrub anywhere: frame previews follow your cursor.

0:00 / 2:13:42 18% cached drag anywhere · it plays instantly

Formats, handled

HEVC, 10-bit, HDR, odd containers: NoBuf detects what your machine plays and remuxes or hardware-transcodes the rest.

Subtitles built in

Embedded SRT and ASS render with bundled fonts. Size, position and sync sliders. OpenSubtitles search included.

Caching that follows you

Playback starts instantly while the rest of the file quietly downloads ahead of your playhead, so rewinds are instant.

Dual-audio films.
Subtitles that just work.

The two questions every movie hoarder asks first. Both answered.

  • Switch audio languages mid-sceneJapanese to English and back without a reload or lost position
  • Embedded subs extract near your playheadThey never fight playback for bandwidth
  • Full controlSize, position, sync sliders; per-file track memory
  • No subs embedded?Hash-matched OpenSubtitles search is built into the player
subtitle controls
NoBuf player settings panel showing playback, display and bandwidth controls

Honest footnote: image-based subtitle formats like PGS aren't supported yet; text formats are.

Watch the download happen

Real screenshots, not renders.

cache meter
In-player download pill showing live megabytes-per-second speed while watching
Live cache pill. Download speed while the film keeps playing
close dialog
Dialog offering to continue downloading, keep cached buffers, or discard when closing a partially cached video
Close a video at 39%. Save the rest later, keep the cache, or discard
transfers
Light theme transfers panel listing concurrent uploads and downloads with progress
Transfers panel. Concurrent uploads and downloads under your control

Setup in three steps

One login you already have, one scan, done.

Install

Grab the installer for your platform from GitHub Releases.

Log in once

The built-in wizard opens my.telegram.org, fills the app-creation form for you, then QR-scans you in.

You log in to my.telegram.org once yourself. Keys are stored locally and never sent anywhere but Telegram.

Press play

Rename a channel with [NB] or paste a public channel link, and your library appears ready to play.

Need details? Download page walks through first-run completely.

Local-first by architectureAll servers bind to 127.0.0.1, the UI sandbox allows only localhost. No accounts with us, no telemetry.
Signed automatic updatesEvery release is minisign-verified before install, straight from GitHub Releases.
ScriptableAn opt-in REST API on localhost lists your library and range-streams any file to mpv, VLC or curl.

Your library is already uploaded.
Start watching it.

Free, open source, and it never moves your files.