lossless-cut

The swiss army knife of lossless video/audio editing

View the Project on GitHub mifi/lossless-cut

FAQ

Please read this first:

App Stores and GitHub difference

LosslessCut version in the App Stores is often a few versions behind the latest GitHub version, because I want to be sure that the new versions work perfectly before releasing in the App Stores. The GitHub version will contain new, untested features and may contain some bugs (even in existing functionality). I consider the newest GitHub versions to be a public “beta” test. Then, once I’m sure that the new version works well, I will release it in the App Stores as well to give a frictionless as possible experience for customers. They have exactly the same in-app features, except for a few platform limitations: Apple doesn’t allow opening VOB files with App Store apps. Apple App Store apps run in a sandbox, and therefore need to prompt for output directory before allowing writing files.

Primer: Video & audio formats vs. codecs

Learn the difference between a codec and a format.

Common / known issues & troubleshooting

The exported video has a problem

If the video exports successfully without any error from LosslessCut, but it does not look as expected when playing back, please try this:

Cutting times are not accurate

Each segment’s start cut time normally (but not always) will be “rounded” to the nearest previous keyframe. This means that you often have to move the start cut time to few frames after the desired keyframe.

Starts from wrong keyframe

For some files, when you place segment start cutpoints at keyframes, and you export, it will instead cut from the keyframe before the keyframe that you wanted. This is because with some videos, ffmpeg struggles to find the nearest previous keyframe, see #1216. To workaround this, you can try to shift your segments’ start-cutpoints forward by a few frames, so that ffmpeg correctly cuts from the previous keyframe. You can also enable the Export Option “Shift all start times” by +1, +2, +3 frames or so.

This will effectively shift all start times of segments by 6 frames (6/30=0.2 for 30fps video).

Cut file has same length as input

If you cut a file, but the duration of the exported file is the same as input file’s duration, try to disable all tracks except for the video track and see if that helps. Sometimes a file contains some tracks that LosslessCut is unable to cut. It will then leave them as is, while cutting the other tracks. This may lead to incorrect output duration. Try also changing avoid_negative_ts (in export options).

If you are trying to cut a FLAC file but your output has the same duration as input, you might have run into this ffmpeg limitation.

Merge / concat results in corrupt or broken parts

This can happen when trying to merge files that are not compatible. Make sure they have the exact same codec parameters before merging. If you are sure they are the same, you can try to first running each of the files separately through LosslessCut before merging the outputs:

  1. First open each file separately and just export without cutting anything
  2. Then merge the exported files.

Doing this first might “clean up” certain parameters in the files, to make them more compatible for merging. If this doesn’t work, you can also try to change avoid_negative_ts (in export options). Also try to disable most tracks (see above). If this doesn’t resolve the issue, then it probably means that you’re hitting a bug or limitation in FFmpeg with the particular file that you’re cutting/merging. Unfortunately there’s not much to do other than trying different output settings, different cut time or waiting for improvements in FFmpeg.

Smart cut not working

Smart cut is experimental, so don’t expect too much. But if you’re having problems, check out this issue.

MP4/MOV issues

MP4 and MOV are technically almost the same format. Sometimes files have the extension .mp4 but are in reality the MOV format (and vice versa). MOV tends to be more lenient in which codecs it supports. FFmpeg has problems exporting some MP4 files as MP4, so MOV needs to be selected instead. Unfortunately I don’t know any way to fix this. Sometimes certain players are not able to play back certain exported .mov files (Adobe Premiere 👀). You can try to rename the exported MOV file extension to .mp4 and see if it helps. Or vice versa, rename an exported MP4 file to .mov.

Output file name is missing characters (Chinese, accents etc)

If the output file name has special characters that get replaced by underscore (_), try to turn off “Sanitize” in the “Output file names” editor in the “Export options” dialog. Note that this will cause special characters like / to be preserved. Some characters are not supported in some operating systems, so be careful. using / or \ can be used to create a folder structure from your segments when exported.

Linux specific issues

If you have an issue with the Snap or Flatpak version of LosslessCut, try instead the GitHub downloads. I cannot provide support for the Flatpak version because is not maintained by me.

Windows specific issues

Known limitations

File not supported

If you’re getting a message saying that the file must be converted to a supported format, this means that LosslessCut’s built-in player isn’t able to play back that particular file. As a work-around LosslessCut has an FFmpeg-assisted software decoding playback which can be activated from the menu: File -> Convert to supported format.

Low quality / blurry playback

Some formats or codecs are not natively supported by LosslessCut’s built in player, and LosslessCut will automatically use FFmpeg-assisted software decoding to playback in a lower quality. For better playback you may convert these files to a different format from the menu: File -> Convert to supported format. Note that this will not affect the output from LosslessCut, it is only used for playback, see #88.

MPEG TS / MTS

MPEG TS (.mts/.ts) files have a tendency to be a bit problematic. It may help to first remux them to another format like MP4/MKV. Then you can open the MP4/MKV file an work on that. Also disable non-needed tracks. In LosslessCut you can remux files by simply opening them, select a different output format, and export without editing the timeline (segments).

EXIF / metadata

It is a known problem that FFmpeg will not always preserve metadata correctly. More info #1027. Some metadata can be preserved (see Export Options dialog), but it doesn’t always output compliant files, so use it carefully. Alternatively you can use exiftool after exporting with LosslessCut to transfer metadata, for example:

exiftool -tagsFromFile Original-Source-File.mp4 -all:all -overwrite_original Exported-From-LosslessCut.mp4

Proprietary data tracks list

When exporting, LosslessCut may be unable to process certain proprietary tracks. For example tmcd, fdsc and gpmd added by GoPro. These can however be losslessly exported to separate files if you want to keep this data for later.

Multiple LosslessCut instances

By default, only a single running instance of LosslessCut is allowed. If you start a new LosslessCut instance from the command line, it will pass the list of files to the already running instance. You can override this behavior inside settings. Note that running multiple instances is experimental, because Electron doesn’t seem to support this. More info #1641

Rotation and merging

A video’s rotation is just metadata stored in its file. A file can only have a single rotation across the whole file, so if you have two video files and you rotate only one file and then concatenate them, there will be only one output rotation.

Extract single track as format

When you use the Tracks panel to extract a single track as a file, e.g. a subtitle, a default format will be automatically chosen. For example for subtitle, it will output an .mks. If you want a different output format, you can instead disable all tracks except the single track you want to extract, then close the Tracks panel, the choose the output format, (e.g. srt) and then perform an export.

Still cannot find an answer?

If any other problem please search for existing issues before you ask a question here on GitHub. You can check the developer tools for any errors or clues. Menu: Tools -> Toggle Developer Tools. Also you are welcome to hang out on Discord 🤗