ab05f0d2a4
Also bump ffmpeg to 4.0 |
||
---|---|---|
.github | ||
scripts/ffmpeg-dl | ||
src | ||
test | ||
_config.yml | ||
.babelrc | ||
.eslintignore | ||
.eslintrc | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG.md | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
screenshot.jpg | ||
TODO.md |
LosslessCut 🎥
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. This app uses the awesome ffmpeg (included) for doing the grunt work.
Features
- Lossless cutting of common video and audio formats
- Take full-resolution snapshots from videos in JPEG/PNG format
- Change rotation/orientation metadata in videos. Great for rotating phone videos that turns out the wrong way without actually re-encoding the video.
Installing / running
- Download latest LosslessCut from releases
- Run LosslessCut app/exe
- On OSX, to open LosslessCut.app, Right Click > Open to bypass the security warning.
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. Note that the MPEG TS format is not supported. See known issues.
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 rotation button if you want to override orientation metadata
- 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
- Some output videos will have an empty portion in the beginning (you might lose a few seconds after your in-cutpoint). A tip is to set the cutpoint a few extra seconds before the part you want to keep, that way you will not lose anything. 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
- Unsupported files can be losslessly remuxed to for example mp4 first with the following command:
ffmpeg -i input.ts -acodec copy -vcodec copy out.mp4
Development building / running
This app is built using Electron. Make sure you have at least node v6 and yarn installed. The app uses ffmpeg from PATH when developing.
git clone https://github.com/mifi/lossless-cut.git
cd lossless-cut
yarn
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
- App icon made by Dimi Kazak from www.flaticon.com is licensed by CC 3.0 BY