LosslessCut aims to be the ultimate cross platform FFmpeg GUI for extremely fast and lossless operations on video, audio, subtitle and other related media files.
 
 
 
 
Go to file
snyk-bot e28deb6bca fix: package.json & .snyk to reduce vulnerabilities
The following vulnerabilities are fixed with a Snyk patch:
- https://snyk.io/vuln/npm:debug:20170905

Latest report for mifi/lossless-cut:
https://snyk.io/test/github/mifi/lossless-cut
2017-09-30 01:58:04 +00:00
.github add issue template 2017-02-27 11:04:05 +01:00
scripts/ffmpeg-dl Improve build scripts 2017-02-11 14:47:04 +01:00
src Fix indentation 2017-09-14 19:30:34 +02:00
test Fix file-opened which returns an array 2016-11-08 20:45:25 +01:00
.babelrc initial 2016-10-30 11:57:12 +01:00
.eslintignore Add eslintignore 2016-11-26 00:18:00 +01:00
.eslintrc initial 2016-10-30 11:57:12 +01:00
.gitignore - Icon 2016-11-05 21:22:31 +01:00
.snyk fix: package.json & .snyk to reduce vulnerabilities 2017-09-30 01:58:04 +00:00
.travis.yml Add lint and travis 2016-10-31 16:22:02 +01:00
CHANGELOG.md update changelog 2017-09-14 20:00:06 +02:00
LICENSE Bump copyright year to 2017 2017-02-03 10:18:11 -06:00
README.md add docu about -how- to select the cut 2017-08-14 22:36:30 -04:00
TODO.md Update TODO.md 2017-03-19 17:33:29 +01:00
_config.yml Set theme jekyll-theme-minimal 2017-02-11 13:55:21 +01:00
package.json fix: package.json & .snyk to reduce vulnerabilities 2017-09-30 01:58:04 +00:00
screenshot.jpg - Icon 2016-11-05 21:22:31 +01:00

README.md

LosslessCut 🎥 Travis

Simple, cross platform tool for lossless trimming / cutting of video and audio files. Great for rough processing of large video files taken from a video camera, GoPro, drone, etc. It lets you quickly extract the good parts from your videos and discard GBs 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 workflow

  • 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 I to select the start time, O to select the end time for the cut.
  • 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

Press h To show/hide list of shortcuts

For old shortcuts see here: 41d6991c11/README.md (keyboard-shortcuts)

Known issues

  • Output videos will have an empty portion in the beginning, see discussion in #13
  • If you get an error when cutting any kind of file under Windows, please check your anti-virus. It might be blocking execution of ffmpeg, see #18

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

Release new version

# Commit changes
# Wait for Travis
npm version ...
# Update CHANGELOG.md
# Commit CHANGELOG.md
# Push
npm run download-ffmpeg
npm run extract-ffmpeg
npm run build
npm run icon-gen
npm run package
npm run release

Credits