diff --git a/README.md b/README.md index 5f547a6c..e8a01ca6 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,7 @@ The main feature is lossless trimming and cutting of video and audio files, whic ![Demo](https://github.com/mifi/lossless-cut/raw/master/main_screenshot.jpg) -**Shameless Plugs** - -I made an easy to use Instagram bot with a GUI: [SimpleInstaBot](https://github.com/mifi/SimpleInstaBot/) +**Shameless Plug** I made a tool for cross platform sharing of files between computer/phone over the local network: [ezshare](https://github.com/mifi/ezshare) @@ -67,17 +65,20 @@ See [#284](https://github.com/mifi/lossless-cut/issues/284) 2. Open the exported track files independently and cut them as desired 3. Add the track back to the video and combine them to one output video - ## Download +If you want to support my continued work on LosslessCut, and want the advantage of a secure and simple installation process with automatic updates, consider getting it from your favorite store: + +Mac App Store MS badge Snapcraft + +If you prefer to download the executables manually, this will of course always be free: + - [Mac OS X](https://github.com/mifi/lossless-cut/releases/latest/download/LosslessCut-mac.dmg) - [Windows](https://github.com/mifi/lossless-cut/releases/latest/download/LosslessCut-win.exe) -- [Linux AppImage](https://github.com/mifi/lossless-cut/releases/latest/download/LosslessCut-linux.AppImage) - [Linux tar.bz2](https://github.com/mifi/lossless-cut/releases/latest/download/LosslessCut-linux.tar.bz2) +- [More releases](https://github.com/mifi/lossless-cut/releases) -[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-white.svg)](https://snapcraft.io/losslesscut) - -NOTE: After installing you may need to right click the application icon and then "Open" in order to bypass "Untrusted app" dialogs. This is because Microsoft requires a $300/year EV certificate just to remove this block (I'm not going to pay for that.) Alternatively try to google `windows how to run untrusted app`. +If you find LosslessCut useful, I'm very thankful for [donations](https://github.com/mifi/lossless-cut#donate-). ## Supported formats @@ -87,7 +88,6 @@ For more information about supported formats / codecs, see https://www.chromium. Unsupported files can still be converted to a friendly format/codec from the `File` menu. (Try fastest variant first.) A low quality version of the file (without audio) will then be created and opened in the player. The cut/export operation will still be performed on the original file, so it will be lossless. This allows for potentially opening any file that ffmpeg is able to decode. - ## Typical workflow - Drag drop a video file into player or use /CTRL+O. - Press SPACE to play/pause or , ,. or mouse/trackpad wheel to seek back/forth @@ -110,7 +110,20 @@ Note also that the cut is currently not precise around the cutpoints, so video b ## Keyboard shortcuts Press H To show/hide list of shortcuts -## CSV format +## Known issues & limitations + +- **Cutting times are not accurate and will be "rounded" to the nearest keyframe.** There are wishes to implement a "smart cut" feature that re-encodes only the part before the keyframe, see [#126](https://github.com/mifi/lossless-cut/issues/126) +- Your mileage may vary when it comes to `Keyframe cut` vs `Normal cut`. You may need to try both, depending on the video. See [ffmpeg](https://trac.ffmpeg.org/wiki/Seeking) also has documentation about these two seek/cut modes. `Keyframe cut` means `-ss` *before* `-i` and `Normal cut` means `-ss` *after* `-i`. +- When exporting you may lose some proprietary data tracks (like `tmcd`, `fdsc` and `gpmd` added by GoPro). These can be exported to separate files however +- H265 is not supported natively. There is partial support with very low FPS and no audio preview. Alternatively convert to friendly codec (slow) from the menu, see [#88](https://github.com/mifi/lossless-cut/issues/88) + +## Troubleshooting + +- If you get an error when cutting or opening any kind of file under Windows, please check your anti-virus. It might be blocking execution of ffmpeg, see [#18](https://github.com/mifi/lossless-cut/issues/18) +- If you get an error on Linux like `FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now.`, try to run it as `./lossless-cut --no-sandbox`. See #258 +- If any other problem, please read existing issues or file an issue here on github. + +## CSV import/export The CSV export/import function takes csv files with one cut segment on each line. Each line contains three columns: `segment start`, `segment end`, `label`. @@ -125,19 +138,6 @@ Note that you must use comma `,` (not semicolon `;`) 1234,,Last segment ``` -## Known issues & limitations - -- **Cutting times are not accurate and will be "rounded" to the nearest keyframe.** There are wishes to implement a "smart cut" feature that re-encodes only the part before the keyframe, see [#126](https://github.com/mifi/lossless-cut/issues/126) -- Your mileage may vary when it comes to `Keyframe cut` vs `Normal cut`. You may need to try both, depending on the video. See [ffmpeg](https://trac.ffmpeg.org/wiki/Seeking) also has documentation about these two seek/cut modes. `Keyframe cut` means `-ss` *before* `-i` and `Normal cut` means `-ss` *after* `-i`. -- When exporting you may lose some proprietary data tracks (like `tmcd`, `fdsc` and `gpmd` added by GoPro). These can be exported to separate files however -- H265 is not supported natively. There is partial support with very low FPS and no audio preview. Alternatively convert to friendly codec (slow) from the menu, see [#88](https://github.com/mifi/lossless-cut/issues/88) - -## Troubleshooting - -- If you get an error when cutting or opening any kind of file under Windows, please check your anti-virus. It might be blocking execution of ffmpeg, see [#18](https://github.com/mifi/lossless-cut/issues/18) -- If you get an error on Linux like `FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now.`, try to run it as `./lossless-cut --no-sandbox`. See #258 -- If any other problem, please read existing issues or file an issue here on github. - ## Donate 🙈 This project is maintained by me alone. The project will always remain free and open source, but if it's useful for you, consider supporting me. :) It will give me extra motivation to improve it. Or even better [donate to ffmpeg](https://www.ffmpeg.org/donations.html) because they are doing the world a big favor 🙏 diff --git a/mac-app-store-badge.svg b/mac-app-store-badge.svg new file mode 100755 index 00000000..c36a76a5 --- /dev/null +++ b/mac-app-store-badge.svg @@ -0,0 +1,51 @@ + + Download_on_the_Mac_App_Store_Badge_US-UK_RGB_blk_092917 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ms-store-badge.svg b/ms-store-badge.svg new file mode 100644 index 00000000..21c139ed --- /dev/null +++ b/ms-store-badge.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/package.json b/package.json index ee2098d8..9515cfc4 100644 --- a/package.json +++ b/package.json @@ -140,7 +140,107 @@ "to": "ffprobe" } ], - "icon": "icns-build/app.icns" + "icon": "icns-build/app.icns", + "fileAssociations": [ + { + "ext": [ + "webm", + "mkv", + "flv", + "vob", + "ogv", + "ogg", + "drc", + "gif", + "gifv", + "mng", + "avi", + "mts", + "m2ts", + "ts", + "mov", + "qt", + "wmv", + "yuv", + "rm", + "rmvb", + "asf", + "amv", + "mp4", + "m4p", + "m4v", + "mpg", + "mp2", + "mpeg", + "mpe", + "mpv", + "m2v", + "svi", + "3gp", + "3g2", + "mxf", + "roq", + "nsv", + "f4v", + "f4p", + "f4a", + "f4b" + ], + "description": "Video files", + "role": "Viewer" + }, + { + "ext": [ + "3gp", + "aa", + "aac", + "aax", + "act", + "aiff", + "alac", + "amr", + "ape", + "au", + "awb", + "dct", + "dss", + "dvf", + "flac", + "gsm", + "iklax", + "ivs", + "m4a", + "m4b", + "m4p", + "mmf", + "mp3", + "mpc", + "msv", + "nmf", + "nsf", + "ogg", + "oga", + "mogg", + "opus", + "ra", + "rm", + "raw", + "rf64", + "sln", + "tta", + "voc", + "vox", + "wav", + "wma", + "wv", + "webm", + "8svx", + "cda" + ], + "description": "Audio files", + "role": "Viewer" + } + ] }, "mas": { "hardenedRuntime": false,