Cross platform GUI tool for lossless trimming / cutting of videos using ffmpeg
CSS JavaScript Shell HTML
Latest commit 41d6991 Dec 3, 2016 @mifi 1.3.0
Permalink
Failed to load latest commit information.
scripts/ffmpeg-dl - Icon Nov 5, 2016
src Support more mkv files Dec 3, 2016
test Fix file-opened which returns an array Nov 8, 2016
.babelrc initial Oct 30, 2016
.eslintignore Add eslintignore Nov 25, 2016
.eslintrc initial Oct 30, 2016
.gitignore - Icon Nov 5, 2016
.travis.yml Add lint and travis Oct 31, 2016
LICENSE Initial commit Oct 30, 2016
README.md Update README.md Nov 15, 2016
TODO.md - Icon Nov 5, 2016
package.json 1.3.0 Dec 3, 2016
screenshot.jpg - Icon Nov 5, 2016

README.md

LosslessCut πŸŽ₯ Travis

Simple, cross platform video editor for lossless trimming / cutting of videos. Great for rough processing of large video files taken from a video camera, GoPro, drone, etc. Lets you quickly extract the good parts from your videos and discard GB of data without losing quality. It doesn't do any decoding / encoding and is therefore extremely fast. Also allows for taking JPEG snapshots of the video at the selected time. This app uses the awesome ffmpegπŸ™ for doing the grunt work. Also supports lossless cutting in the most common audio formats.

ffmpeg is now included in the app! πŸŽ‰

Demo

Installing / running

Documentation

Supported platforms

  • Mac OS X
  • Windows (64/32bit)
  • Linux (64/32bit, not tested)

Supported formats

Since LosslessCut is based on Chromium and uses the HTML5 video player, not all ffmpeg supported formats will be supported. The following formats/codecs should generally work: MP4, MOV, WebM, MKV, OGG, WAV, MP3, AAC, H264, Theora, VP8, VP9 For more information about supported formats / codecs, see https://www.chromium.org/audio-video.

Typical flow

  • Drag drop a video file into player to load or use ⌘/CTRL+O.
  • Press SPACE to play/pause
  • Select the cut start and end time
  • Press the scissors button to export the slice
  • Press the camera button to take a snapshot

The original video files will not be modified. Instead it creates a lossless export in the same directory as the original file with from/to timestamps. Note that the cut is currently not precise around the cutpoints, so video before/after the nearest keyframe will be lost. EXIF data is preserved.

Keyboard shortcuts

  • SPACE, k Play/pause
  • j Slow down video
  • l Speed up video
  • ← Seek backward 1 sec
  • β†’ Seek forward 1 sec
  • . (period) Tiny seek forward
  • , (comma) Tiny seek backward
  • i Mark in / cut start point
  • o Mark out / cut end point
  • e Export selection (in the same dir as the video)
  • c Capture snapshot (in the same dir as the video)

Development building / running

This app is built using Electron. Make sure you have at least node v4 with npm 3. The app uses ffmpeg from PATH when developing.

git clone https://github.com/mifi/lossless-cut.git
cd lossless-cut
npm install

Running

In one terminal:

npm run watch

Then:

npm start

Building package

npm run download-ffmpeg
npm run extract-ffmpeg
npm run build
npm run icon-gen
npm run package # builds all platforms

Credits