简体中文 | English
A high-performance, native desktop application for lossless video and audio clipping. Unlike web-based solutions, this app uses a native media engine for seamless playback of all formats (HEVC/AV1/4K) and leverages FFmpeg for lightning-fast, no-reencoding exports.
To be honest, it is a product of vibe coding
- Native Performance: Powered by
libmpvwith full hardware acceleration via OpenGL rendering. - Lossless Export: High-speed clipping without quality loss using FFmpeg's stream copy.
- Flexible Workflow: Supports reordering segments and exporting them individually or merged.
- Modern UI: Clean dark-themed interface built with Qt Widgets.
- Multilingual Support: Built-in English and Simplified Chinese (switchable at runtime).
- Framework: Qt 6 (Widgets + OpenGL)
- Media Engine: libmpv (render API)
- Backend Processor: FFmpeg CLI
- Build System: CMake
- Package Manager: vcpkg (Windows)
- File → Open File to load a video.
- Use the playback controls to navigate. Press Mark In at the start of a clip and Mark Out at the end — the segment is added to the export queue.
- Reorder or delete segments in the queue as needed.
- Export Merged to combine all segments into one file, or Export Separately to save each segment individually. Export uses FFmpeg stream copy — no re-encoding, no quality loss.
- Space: Play / Pause
- Left / Right Arrow: Seek backward / forward 1 second
- Shift + Left / Right Arrow: Seek backward / forward 5 seconds
- I: Mark In (Set segment start)
- O: Mark Out (Set segment end and add to queue)
- Delete: Delete selected segment from the queue
- Ctrl + E: Export Merged
- Ctrl + Shift + E: Export Separately
- Visual Studio 2022 with the "Desktop development with C++" workload.
- vcpkg: Microsoft's C++ package manager.
- CMake (bundled with VS 2022 or standalone ≥ 3.16).
- FFmpeg: Must be available in your system
PATH. - libmpv: The CMake script will automatically download the Windows dev package on first configure.
- CMake ≥ 3.16
- Qt 6 development packages (Widgets, OpenGLWidgets, LinguistTools)
- libmpv development package
- FFmpeg (in
PATH) - pkg-config
Package install commands (click to expand)
Debian / Ubuntu:
sudo apt install cmake qt6-base-dev libmpv-dev ffmpeg pkg-configFedora:
sudo dnf install cmake qt6-qtbase-devel mpv-libs-devel ffmpeg pkgconfigArch:
sudo pacman -S cmake qt6-base mpv ffmpeg pkgconfGentoo:
sudo emerge dev-build/cmake dev-qt/qtbase media-video/mpv media-video/ffmpeg dev-util/pkgconf-
Clone the repository:
git clone https://github.com/YOUR_USERNAME/MediaCutter.git cd MediaCutter -
Install Qt6 via vcpkg:
vcpkg install qtbase:x64-windows
-
Configure and build:
- Open the folder in Visual Studio 2022.
- Set the CMake toolchain file to your
vcpkg.cmakepath. - Click Build → Rebuild All.
Or from the command line:
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake cmake --build build --config Release
-
Clone the repository:
git clone https://github.com/YOUR_USERNAME/MediaCutter.git cd MediaCutter -
Install dependencies (see Prerequisites above for your distro).
-
Configure and build:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release cmake --build build -j$(nproc)
-
Run:
./build/MediaCutter
Translation files live in translations/. To add or update a language:
- Edit or create
translations/media-cutter_<locale>.ts. - Rebuild — CMake will compile
.tsinto.qmand embed it in the binary automatically. - Switch language at runtime via Language menu.
MIT License - See LICENSE for details.