This project is licensed under the nRn World Non-Commercial License.
- Individuals & Students: Free to download, use, and modify for personal education and private use. You are PROHIBITED from generating any income or profit from this software or its code.
- Companies & Organizations: Professional use requires prior written consent.
- Monetization: Any commercial use, sale, or redistribution for profit requires a paid license.
To purchase commercial rights, contact: bynrnworld@gmail.com
Doggy Player is a next-generation, high-performance video player built for modern users. Designed with a sleek, dark-themed interface, it offers unparalleled control over your viewing experience with unique features like intuitive mouse-wheel zooming, custom area selection, on-the-fly rotation, and seamless playlist management.
- Smart Remux Seeking (v1.1.68): Detects MPEG-TS (and similar) files mislabeled as
.mp4and remuxes them once to real seekable MP4 β fixes the ~1s freeze on certain large files. - Advanced Zooming & Panning: Smooth mouse-wheel zoom and click-to-pan.
- Area Selection Zoom: Hold
Shiftand draw a rectangle to zoom into details. - Video Rotation Controls: Rotate with
Alt + Arrow keysand reset to the original orientation at any time. - Per-Video Rotation Lock: Save a manual rotation for a specific video and automatically restore it whenever that video is opened again.
- Clean Rotation UI: The rotation lock appears only after the user manually rotates the video in Doggy Player, not because of a video's built-in orientation metadata.
- Video Brightness Control: Adjust the active video from 50% to 150% brightness without modifying the original media file.
- Per-Video Brightness Lock: Lock a brightness level for a specific video and automatically restore it the next time that video is opened.
- Brightness Shortcuts: Press
Ctrl + Arrow UporCtrl + Arrow Downto adjust brightness in 5% steps with an on-video percentage indicator. - Precision Playback Control: Play, pause,
5s/15s(Shift) /20s(Ctrl) seek with hold-to-seek, adjustable volume and press-and-hold slow motion (0.25x). - Smart Playlist: Drag-and-drop support with optional automatic removal of finished videos.
- IPTV Support: Xtream Codes, M3U, and EPG support built in.
- Subtitle Engine: Support for
.srt,.vtt,.ass, and additional subtitle formats with synchronization offset. - Screenshot Capture: Capture frames instantly with
Alt + S. - Equalizer: Professional audio control with +/-12 dB adjustment.
- Download the latest installer from the Releases page.
- Run
Doggy-Player-Setup.exe. - Enjoy your media!
We welcome community contributions! Please read our Contributing Guidelines before starting.
- Clone the repo:
git clone https://github.com/nRn-World/Doggy-Player.git
- Install dependencies:
npm install
- Run in Development Mode:
npm run dev:electron
- Build your own version:
npm run build:electron
We take security seriously. Please review our Security Policy to report any vulnerabilities.
- Core: Electron
- Frontend: React 19, Vite
- Styling: Tailwind CSS
- Icons: Lucide React
- β Star this project if you find it useful!
- π Report bugs via GitHub Issues.
- β Support development: Buy me a coffee π
Fixes seek freezes on large files that are MPEG-TS (or similar) despite a .mp4 extension:
- Root cause: Some β
.mp4β files are actually MPEG-TS β Chromium freezes about 1 second on every seek. - Fix: Detect real container, remux once with stream-copy to a real MP4 + faststart (quality preserved), then play that file.
- Cached: Next open of the same file skips remux and seeks immediately.
- Automatic update: Installed apps receive v1.1.68 via the built-in updater after release assets are published.
Hotfix for a regression in v1.1.66:
- Frozen picture / working audio: Removed the FFmpeg scrub-preview overlay that could stay on top of the video after seeking.
- Reliable resume: Video playback is forced to continue after seek so picture and sound stay together.
- Automatic update: Installed apps receive v1.1.67 via the built-in updater after release assets are published.
Doggy Player v1.1.66 fixes the remaining freeze when seeking large/HQ videos with arrow keys or the timeline:
- Live scrub preview: Holding β/β or dragging the timeline shows FFmpeg JPEG frames on top of the video so the picture keeps updating.
- Seek once on release: The real
<video>seek runs only when you release keys/mouse β no stacked freezes on big files. - fastSeek, no pause-first: Single seeks use keyframe seeking without pausing first (which made freezes worse in v1.1.65).
- Automatic update: Installed apps receive v1.1.66 via the built-in updater after release assets are published.
Doggy Player v1.1.65 fixes freeze-on-seek for large and high-quality videos:
- No more freeze when seeking: Playback pauses briefly during seek, then resumes so the decoder is not overloaded on big/HQ files.
- Direct disk playback: Common local formats (mp4, mkv, mov, webm, β¦) use
file://instead of HTTP Range for much faster seeks. - Smarter seek queue: Rapid scrubbing and hold-to-seek coalesce into one in-flight seek (last-wins) instead of stacking decode jobs.
- Smoother timeline & arrows: UI time updates immediately; media seeks less often while you drag or hold β/β.
- Transcoded formats: Debounced FFmpeg restarts for avi/ts and similar so seeks no longer pile up.
- Automatic update: Installed apps on Windows, macOS and Linux receive v1.1.65 automatically via the built-in updater (
latest.yml/latest-mac.yml/latest-linux.yml).
Doggy Player v1.1.64 delivers buttery-smooth seeking for large/long videos and pro-grade hold-to-seek controls:
- Fixed lag on large files: Timeline scrubbing is now debounced (
75ms), usesfastSeekto the nearest keyframe and a subtle spinner instead of black flash β no more freeze on 4K/long.mp4/.mkv. - Faster local streaming: Electron stream server now serves
32 MBchunks with512 KBhighWaterMark, properContent-Rangehandling and MIME detection for instant seeks. - New seek steps: Single tap
Arrow Left/Rightis now5s(was10s),Shift+ arrow =15s,Ctrl+ arrow =20s. - Hold to seek: Hold
Arrow Left/Right(orCtrl/Shift+ arrow) to continuously seek until you release β perfect for long videos. - Smarter UI: Seeking state is tracked separately from buffering, so
onTimeUpdatestays smooth and the timeline stays responsive while the video decodes. - Automatic update: Installed apps on Windows, macOS and Linux receive v1.1.64 automatically via the built-in updater (
latest.yml/latest-mac.yml/latest-linux.yml).
Doggy Player v1.1.63 adds flexible video brightness controls with per-video persistence:
- Brightness adjustment: Make the active video darker or brighter from 50% to 150%.
- Visible percentage: The current brightness percentage is displayed in the player controls and as an on-video indicator while adjusting.
- Keyboard control: Use
Ctrl + Arrow UpandCtrl + Arrow Downto change brightness in 5% steps. - Per-video lock: Lock a brightness value for one video and automatically restore it whenever that video is opened again.
- Non-destructive processing: Brightness affects playback only and never modifies the original video file.
- Automatic update: Existing installations receive v1.1.63 through Doggy Player's built-in updater after the release assets are published.
Created by β€οΈ Β© nRn World