Forked from jim60105/YoutubeSegmentDownloader (archived August 2024). See Changes from upstream below.
A free, open-source media segment downloader and processing utility. Extract precise time-range segments from video content you are authorized to access -- including your own uploads, licensed media, public-domain works, and Creative Commons content -- with frame-accurate cutting powered by FFmpeg.
Windows x64 only. Requires .NET 8.0 Runtime.
This software is intended for lawful use only. Users are responsible for complying with applicable copyright law, license terms, and platform terms of service. This project does not endorse or encourage copyright infringement.
Intended use cases include:
- Downloading and trimming your own uploads or content you created
- Processing media you have explicit permission to use
- Working with public-domain, Creative Commons, or other openly licensed content
- Offline access for research, accessibility, archival, or QA where you hold the necessary rights
- Segment extraction and trimming for authorized editing workflows
- Precise segment extraction - Specify a start and end time to extract only the portion you need, with frame-accurate re-encoding
- Automatic dependency management - yt-dlp and FFmpeg are downloaded and updated automatically at startup
- Metadata embedding - Source metadata (title, creator, date, tags, source URL) is embedded into output MP4 files
- Customizable file naming - Tag-based output filename patterns using tokens like
[video creator],[upload date],[video title],[video segment], etc. - Format selection - Specify yt-dlp format codes for fine-grained control over source quality
- Browser session import - Authenticate with your browser session for accessing content that requires login
- Multi-site support - Compatible with any yt-dlp supported site
- Dark theme UI - Modern, minimalist dark interface
- I18n - English and Chinese interfaces
Download the latest release from Releases.
Option A: Setup installer (setup.exe)
- Installs .NET 8.0 Runtime automatically
- Creates Desktop and Start Menu shortcuts
- Auto-checks for updates on launch
Option B: Standalone executable (YTSDownloader.exe)
- Requires .NET 8.0 Runtime pre-installed
- Deno runtime must be installed (required by yt-dlp for certain sites)
When extracting a segment via stream copy, FFmpeg seeks to the nearest keyframe before the requested start time, resulting in imprecise cuts with corrupted leading frames. YTS Downloader solves this with a two-pass approach:
yt-dlp → download segment (stream copy)
↓
ffmpeg -sseof → re-encode from end offset (frame-accurate)
↓
Clean MP4 output with precise start/end times
Output is encoded to H.264/AAC MP4 with configurable quality settings.
This fork includes the following changes from the original jim60105/YoutubeSegmentDownloader:
- Tag-based file naming - Customizable output filename patterns using configurable tag tokens
- Metadata embedding - Source metadata automatically embedded into downloaded MP4 files
- Fixed naming/settings overlap - Resolved UI issue where naming settings overlapped with other input fields
- CI/CD improvements - Automated releases, pull request build triggers
- App renamed to YTS Downloader - Differentiated from the archived upstream repository
- Modern dark theme UI - Redesigned interface with a dark color scheme
Note
This software uses FFmpeg licensed under the GPLv3. FFmpeg binary distributions will be downloaded from here. FFmpeg source code can be found here.
This software uses yt-dlp licensed under the Unlicense License. yt-dlp binary distribution will be downloaded from here.
This software uses Xabe.FFmpeg licensed under the License Agreement with Non-commercial use - Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0).
This software uses Beautiful Flat Icons licensed under the GPLv2. Icon source can be found here.
GNU GENERAL PUBLIC LICENSE Version 3
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.