LosslessCut: Video Editing Without Re-encoding
LosslessCut: Revolutionary Video Editing Without Re-encoding
Cut gigabyte video files in seconds, not hours. Preserve every pixel of quality. Ditch the command line forever.
That's the promise of LosslessCut, and it's why this open-source powerhouse has become the secret weapon of content creators, developers, and video professionals worldwide. If you've ever waited ages for a simple trim to process or struggled with FFmpeg's cryptic syntax, you're about to discover a tool that will change your workflow forever.
In this deep dive, we'll explore how LosslessCut delivers on its "swiss army knife" reputation, walk through real-world usage scenarios, and show you exactly how to harness its full potential. Whether you're editing drone footage, cutting podcasts, or preparing content for social media, this guide will transform you from a casual user into a LosslessCut power user.
What Is LosslessCut? The FFmpeg GUI That Changes Everything
LosslessCut is a cross-platform desktop application that serves as a graphical interface for FFmpeg, the industry-standard multimedia framework. Created by Mikael Finstad (@mifi), this open-source tool tackles a fundamental problem: video editing typically requires re-encoding, which wastes time and degrades quality.
The core innovation? Direct stream copying. Instead of decompressing and recompressing video data—which can take hours and reduce quality—LosslessCut identifies the exact byte positions where cuts should occur and extracts those segments without touching the underlying codec. This means a 10GB video file can be trimmed in seconds while maintaining identical visual quality.
Mikael built LosslessCut to solve his own pain points as a developer working with large video files. The project launched on GitHub in 2017 and has since amassed over 30,000 stars and millions of downloads. It's trending because it democratizes professional-grade video manipulation—what once required expensive software or arcane command-line knowledge now happens through an intuitive drag-and-drop interface.
The tool runs on macOS, Windows, and Linux, with native builds for Apple Silicon and Intel architectures. It's available through official app stores (Mac App Store, Microsoft Store, Snapcraft, Flathub) or as direct downloads, ensuring both convenience and security for every type of user.
Key Features That Make LosslessCut Irresistible
LosslessCut isn't just a simple trimmer—it's a comprehensive media manipulation suite. Here's what makes it stand out:
1. True Lossless Cutting
The flagship feature performs byte-level copying of video and audio streams. By leveraging FFmpeg's -c copy parameter, it avoids the generation loss inherent in re-encoding. This is perfect for H.264, H.265 (HEVC), ProRes, and AV1 footage from modern cameras.
2. Smart Cut Technology
Traditional lossless cutting can only slice on keyframes, leading to imprecise edits. Smart Cut (experimental) solves this by re-encoding only the small segments between keyframes, achieving frame-accurate precision while keeping 99% of your video untouched. This hybrid approach balances speed and accuracy.
3. Multi-Track Stream Surgery
Extract, rearrange, or combine tracks from multiple files with surgical precision. You can:
- Strip unwanted audio languages from MKV files
- Add external music tracks to videos
- Merge subtitle files without touching video streams
- Extract all tracks simultaneously into separate files
4. Intelligent Scene Detection
Automatically identify cut points using black frame detection, silent audio detection, or scene change analysis. This transforms hours of manual scrubbing into a one-click operation—ideal for removing commercials from TV recordings or splitting event footage into individual clips.
5. Professional Format Support
LosslessCut handles MP4, MOV, MKV, AVI, FLV, OGG, WEBM, and dozens more. It can remux between container formats (e.g., MKV to MP4 for iPhone compatibility) without re-encoding, preserving quality while ensuring device compatibility.
6. Export Flexibility
Generate JPEG/PNG snapshots at full resolution, export frame sequences for timelapses, or create thumbnail grids. The tool supports exporting every Nth frame, scene-change frames, or best thumbnail candidates with original timestamps embedded in filenames.
7. Project Integration
Import and export edit decision lists (EDL) in CSV, XML (DaVinci Resolve, Final Cut Pro), CUE, and YouTube chapter formats. This bridges the gap between quick rough cuts and professional finishing workflows.
8. Developer-Friendly Extras
View the exact FFmpeg commands executed, enabling you to learn the CLI or modify commands for custom scripts. The basic CLI and HTTP API enable automation, while keyboard shortcuts support rapid batch processing.
Real-World Use Cases That Save Hours of Work
1. Drone Footage Workflow Optimization
Professional drone pilots shoot hours of 4K footage to capture minutes of usable content. With LosslessCut, you can:
- Scrub through footage using thumbnail previews
- Mark segments during client review meetings
- Export only the golden moments in seconds
- Preserve the original codec for color grading in DaVinci Resolve
Result: A 50GB file becomes 2GB of selects in under a minute, saving terabytes of storage annually.
2. Podcast Post-Production Pipeline
Audio engineers use LosslessCut to:
- Remove silent gaps and "ums" from multi-hour recordings
- Split multi-track recordings into individual segments
- Extract specific segments for promotional clips
- Merge intros/outros without re-encoding the main content
Result: A 3-hour podcast can be rough-cut in 5 minutes, ready for detailed editing in Audacity or Reaper.
3. Sports Game Analysis
Coaches and analysts need to isolate plays from full-game recordings:
- Use scene change detection to identify play stoppages
- Label segments with tags ("Offense," "Defense," "Turnover")
- Export clips for presentation software
- Maintain 60fps quality for frame-by-frame analysis
Result: Create a highlight reel from a 2-hour game in 15 minutes instead of 3 hours.
4. Broadcast Commercial Removal
For archivists digitizing TV recordings:
- Detect black frames between show segments and commercials
- Use the timeline zoom to fine-tune cut points
- Batch export segments while preserving MPEG-2 quality
- Remux from TS to MP4 for modern playback
Result: Clean, commercial-free episodes ready for media servers, processed 10x faster than traditional methods.
Step-by-Step Installation & Setup Guide
macOS Installation
For Apple Silicon (M1/M2/M3) machines:
# Download via curl (replace version if needed)
curl -L -o LosslessCut-mac-arm64.dmg "https://github.com/mifi/lossless-cut/releases/latest/download/LosslessCut-mac-arm64.dmg"
# Mount the DMG
hdiutil attach LosslessCut-mac-arm64.dmg
# Copy to Applications (drag-and-drop or command line)
cp -R "/Volumes/LosslessCut/LosslessCut.app" /Applications/
# Unmount
diskutil unmount "/Volumes/LosslessCut"
For Intel Macs:
curl -L -o LosslessCut-mac-x64.dmg "https://github.com/mifi/lossless-cut/releases/latest/download/LosslessCut-mac-x64.dmg"
hdiutil attach LosslessCut-mac-x64.dmg
cp -R "/Volumes/LosslessCut/LosslessCut.app" /Applications/
diskutil unmount "/Volumes/LosslessCut"
Windows Installation
# Using PowerShell (Windows 10/11)
# Download 7zip archive
Invoke-WebRequest -Uri "https://github.com/mifi/lossless-cut/releases/latest/download/LosslessCut-win-x64.7z" -OutFile "LosslessCut-win-x64.7z"
# Extract using 7-Zip (must be installed)
& "C:\Program Files\7-Zip\7z.exe" x LosslessCut-win-x64.7z
# Run the executable
.\LosslessCut.exe
Linux Installation
Ubuntu/Debian via Snap:
sudo snap install losslesscut
# For camera access (if needed)
sudo snap connect losslesscut:camera
Any distro via Flatpak:
flatpak install flathub no.mifi.losslesscut
# Run with filesystem permissions
flatpak run --filesystem=home no.mifi.losslesscut
Direct download for x64 systems:
# Download archive
curl -L -o lossless-cut.tar.bz2 "https://github.com/mifi/lossless-cut/releases/latest/download/LosslessCut-linux-x64.tar.bz2"
# Extract
tar -xjf lossless-cut.tar.bz2
# Run
cd LosslessCut-linux-x64
./LosslessCut
First Launch Configuration
- Open LosslessCut - You'll see a clean timeline interface
- Enable experimental features: Go to
Settings→Enable experimental featuresto access Smart Cut - Set default output directory:
Settings→Output directory→ Choose your preferred location - Configure keyboard shortcuts:
Settings→Keyboard shortcutsto customize your workflow - Check FFmpeg integration: The app bundles FFmpeg, but you can specify a custom path in
Settings→FFmpeg pathif needed
Real Code Examples from the Repository
Example 1: Command-Line Batch Processing
LosslessCut includes a basic CLI for automation. Here's how to cut multiple segments from a video:
# Cut segments from a video using the CLI
# This extracts two clips: 00:10-00:20 and 01:00-01:30
losslesscut --export "00:00:10.000-00:00:20.000" "00:01:00.000-00:01:30.000" input.mp4
# The tool generates and executes this FFmpeg command behind the scenes:
ffmpeg -i input.mp4 -ss 00:00:10.000 -t 00:00:10.000 -c copy output_001.mp4
ffmpeg -i input.mp4 -ss 00:01:00.000 -t 00:00:30.000 -c copy output_002.mp4
Explanation: The CLI parses your timecodes, validates them against keyframe positions, and executes FFmpeg with -c copy for lossless extraction. Each segment becomes a separate file with numbered suffixes.
Example 2: HTTP API for Integration
For programmatic control, LosslessCut exposes a local HTTP API:
// Example: Start LosslessCut with HTTP API enabled
// This allows external applications to trigger cuts
const fetch = require('node-fetch');
// Start the API server (run this in terminal first):
// losslesscut --api-server
// Then send cut commands via HTTP
async function cutVideoSegment(inputPath, startTime, endTime, outputPath) {
const response = await fetch('http://localhost:8080/api/cut', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
inputPath: '/path/to/input.mp4',
segments: [
{
start: '00:05:30.000',
end: '00:08:45.000',
outputPath: '/path/to/output_segment.mp4'
}
],
// Lossless mode - copy streams without re-encoding
copyStreams: true,
// Smart cut for frame accuracy
smartCut: true
})
});
return await response.json();
}
// This triggers FFmpeg commands like:
// ffmpeg -i input.mp4 -ss 00:05:30.000 -to 00:08:45.000
// -c:v copy -c:a copy -avoid_negative_ts make_zero output_segment.mp4
Explanation: The API accepts JSON payloads defining segments, then orchestrates FFmpeg with precise parameters. The copyStreams: true flag ensures lossless operation, while smartCut: true enables frame-accurate cuts by re-encoding only non-keyframes.
Example 3: FFmpeg Command Log Inspection
LosslessCut's "Last FFmpeg Command" feature reveals exactly what it's doing:
# Example FFmpeg command generated by LosslessCut for a simple cut
ffmpeg -hide_banner -i 'input.mkv'
-ss 00:00:15.240 # Seek to start time (before input for speed)
-to 00:02:30.850 # End time
-map 0:v:0? # Map first video stream
-map 0:a:0? # Map first audio stream
-map 0:s:0? # Map first subtitle stream
-c:v copy # Copy video codec (no re-encoding)
-c:a copy # Copy audio codec
-c:s copy # Copy subtitle codec
-avoid_negative_ts make_zero # Fix timestamp issues
-map_metadata 0 # Copy all metadata
-movflags +faststart # Optimize for web playback
'output.mp4' # Output file
Explanation: This command demonstrates LosslessCut's intelligent stream mapping. The ? after stream specifiers means "include if exists," preventing errors on files without subtitles. The -avoid_negative_ts parameter ensures compatibility across players, while -movflags +faststart moves metadata to the beginning for faster streaming.
Example 4: Multi-Track Extraction Script
Extract all tracks from a file into separate files—a feature accessible via the UI but scriptable:
#!/usr/bin/env python3
"""
Extract all tracks from a video using LosslessCut's underlying FFmpeg logic
This replicates the 'Extract all tracks' feature programmatically
"""
import subprocess
import json
def extract_all_tracks(input_file):
# First, get stream information
cmd = [
'ffprobe', '-v', 'quiet',
'-print_format', 'json',
'-show_streams',
input_file
]
result = subprocess.run(cmd, capture_output=True, text=True)
data = json.loads(result.stdout)
# For each stream, extract it losslessly
for i, stream in enumerate(data['streams']):
codec_type = stream['codec_type'] # video, audio, subtitle, etc.
# Build output filename
extension = 'mp4' if codec_type == 'video' else 'm4a' if codec_type == 'audio' else 'srt'
output_file = f"track_{i}_{codec_type}.{extension}"
# Extract command (what LosslessCut does internally)
extract_cmd = [
'ffmpeg', '-i', input_file,
'-map', f'0:{i}', # Select specific stream
'-c', 'copy', # Copy without re-encoding
'-y', # Overwrite output
output_file
]
subprocess.run(extract_cmd)
print(f"Extracted {codec_type} track to {output_file}")
# Usage
extract_all_tracks('multi_track.mkv')
Explanation: This script mimics LosslessCut's track extraction feature. It uses ffprobe to identify all streams, then generates individual FFmpeg commands for each. The -map 0:{i} parameter isolates specific streams, while -c copy ensures zero quality loss. LosslessCut's GUI does this with one click, but understanding the underlying commands unlocks automation potential.
Advanced Usage & Best Practices
Master the Keyboard Shortcut Workflow
Enable segment tagging by pressing T to label cuts. Use numeric keys 1-9 to jump between segments. Press E to export all segments at once. This reduces a 30-minute editing session to 5 minutes of rapid-fire annotation.
Optimize Smart Cut Settings
For frame-accurate edits, balance quality vs. speed:
- Set Smart Cut threshold to 500 frames—this limits re-encoding to 20 seconds around each cut
- Use H.264 ultrafast preset for the re-encoded portions to minimize processing time
- Enable hardware acceleration (NVENC/QuickSync) in FFmpeg settings for near-instant smart cuts
Batch Processing with Project Files
Save your cut segments as .llc project files. These JSON files store all timecodes, tags, and settings. Create a shell script to process multiple projects:
#!/bin/bash
for project in *.llc; do
losslesscut --load-project "$project" --export-all
echo "Processed $project"
done
Preserve Metadata Like a Pro
Always enable full metadata copying in settings. For DJI drone footage, this retains GPS coordinates, camera settings, and flight telemetry. Use the built-in map view to visualize flight paths directly in LosslessCut.
Leverage Scene Detection
For interview footage, use silent audio detection to identify pauses. Set the threshold to -40dB and minimum duration to 0.5 seconds to automatically segment responses. This creates a rough cut that's 90% complete before you fine-tune.
Comparison: LosslessCut vs. Alternatives
| Feature | LosslessCut | FFmpeg CLI | Avidemux | Shotcut |
|---|---|---|---|---|
| Speed | ⚡⚡⚡⚡⚡ (instant) | ⚡⚡⚡⚡ (fast, but manual) | ⚡⚡⚡ (moderate) | ⚡ (slow, re-encodes) |
| Ease of Use | ⭐⭐⭐⭐⭐ (GUI) | ⭐ (steep learning) | ⭐⭐⭐ (dated UI) | ⭐⭐⭐ (moderate) |
| Lossless Cutting | ✅ Yes (core feature) | ✅ Yes (with -c copy) | ✅ Yes | ❌ No (always re-encodes) |
| Smart Cut | ✅ Experimental | ❌ Manual only | ❌ No | ✅ Yes (slow) |
| Multi-track | ✅ Advanced | ✅ Complex commands | ✅ Basic | ✅ Yes |
| Format Support | 50+ formats | 200+ formats | Limited | Good |
| Scene Detection | ✅ Automated | ❌ Manual | ❌ No | ✅ Basic |
| Price | Free (open-source) | Free (open-source) | Free | Free |
| Batch Processing | ✅ Via CLI/API | ✅ Native | ❌ No | ⚠️ Limited |
| Metadata Editing | ✅ GUI-based | ✅ Command-line | ⚠️ Limited | ✅ Yes |
Verdict: LosslessCut wins for speed and simplicity while maintaining professional capabilities. FFmpeg offers more power but requires expertise. Avidemux is outdated, and Shotcut re-encodes everything, making it unsuitable for quick cuts.
Frequently Asked Questions
Is LosslessCut truly 100% lossless?
Yes, when using standard cut mode. It copies video and audio streams bit-for-bit without re-encoding. The only exception is Smart Cut, which re-encodes small segments between keyframes for frame accuracy, but this affects less than 1% of typical footage.
What video formats work with LosslessCut?
It supports all formats FFmpeg handles, including MP4 (H.264/H.265), MOV (ProRes), MKV (multiple codecs), AVI, FLV, WEBM, and more. Some proprietary formats like RAW camera files may have limited support.
Can I cut on any frame I want?
Standard lossless cutting works only on keyframes (I-frames). For frame-accurate cuts anywhere, enable Smart Cut in experimental features. This re-encodes only the GOP (Group of Pictures) containing your cut point.
Why is my exported file the same size as the original?
LosslessCut doesn't re-encode, so bitrate remains identical. File size reduction only occurs when you extract shorter segments. The quality is preserved, not compressed.
How does it compare to using FFmpeg directly?
LosslessCut generates optimal FFmpeg commands automatically, adds error handling, provides visual feedback, and manages stream mapping. It saves hours of documentation reading and trial-and-error.
Can I use LosslessCut for commercial projects?
Absolutely. It's released under the GNU General Public License v2.0, allowing free use in commercial and personal projects. You can even modify the source code.
Why do some cuts have a brief freeze or glitch?
This happens when cutting between keyframes without Smart Cut enabled. The player can't decode partial GOPs. Enable Smart Cut or manually move cuts to keyframe positions (use the keyframe jump buttons).
Conclusion: Your Workflow Will Never Be the Same
LosslessCut isn't just another video editor—it's a paradigm shift. By eliminating the re-encoding bottleneck, it redefines what's possible for content creators working under tight deadlines. The combination of blistering speed, pristine quality preservation, and thoughtful features like scene detection and multi-track editing makes it indispensable.
Whether you're a YouTuber churning out daily content, a developer automating media pipelines, or an archivist preserving historical footage, LosslessCut delivers professional results in a fraction of the time. The active development, robust community, and transparent open-source nature ensure it will only get better.
Stop waiting for progress bars. Stop compromising quality. Start editing losslessly.
👉 Download LosslessCut now from GitHub and join thousands of creators who've already revolutionized their workflows. Star the repository, join the Discord community, and experience the future of video editing today.
Your hard drive—and your sanity—will thank you.
Comments (0)
No comments yet. Be the first to share your thoughts!