New Update LosslessCut - Updates Thread

silversurfer

Super Moderator
Thread author
Verified
Top Poster
Staff Member
Malware Hunter
Forum Veteran
Aug 17, 2014
12,726
123,827
8,399
Homepage: LosslessCut


Features​

  • Lossless cutting of most video and audio formats
  • Smart cut (experimental)
  • Losslessly cut out parts of video/audio (for cutting away commercials etc.)
  • Losslessly rearrange the order of video/audio segments
  • Lossless merge/concatenation of arbitrary files (with identical codecs parameters, e.g. from the same camera)
  • Lossless multi track/stream editing
    • Combine arbitrary tracks from multiple files (ex. add music or subtitle track to a video file)
    • Remove unneeded tracks
    • Replace or re-encode only some tracks
    • Extract all tracks from a file (extract video, audio, subtitle, attachments and other tracks from one file into separate files)
  • View technical data about all tracks. Edit file metadata, per-track metadata and per-track disposition
  • Select video/audio tracks for playback. Playback multiple audio tracks simultaneously.
  • Fast multi-file workflow (note: no mass/batch export yet)
  • Keyboard shortcut workflow
  • Losslessly remux video/audio into a different container (file) format
  • Take full-resolution snapshots from videos in JPEG/PNG format (low or high quality)
  • Export ranges of video frames to images (every nth frame, second, by scene change, best thumbnails)
    • Export only from a selected time range (segment)
    • Optionally include original timestamps in image file names
  • Manual input of cutpoint times
  • Apply a per-file timecode offset (and auto load timecode from file)
  • Change rotation/orientation metadata in videos
  • Timeline zoom and frame/keyframe jumping for cutting around keyframes
  • Video thumbnails and audio waveform
  • Saves per project cut segments to project file
  • View FFmpeg last command log so you can modify and re-run recent commands on the command line
  • Undo/redo
  • Advanced segment query and mutation JS-based expression language.
  • Give labels to cut segments, annotate with tags
  • Import/export segments: MP4/MKV chapter marks, Text file, YouTube, CSV, CUE, XML (DaVinci, Final Cut Pro) and more
  • MKV/MP4 embedded chapters marks editor
  • View subtitles
  • Customizable keyboard hotkeys
  • Black scene detection, silent audio detection, and scene change detection
  • Divide timeline into segments of length L, size (X MB), N number of segments or even randomized segments!
  • Speed up / slow down video or audio file (changing FPS)
  • Basic CLI and HTTP API
  • Show (DJI) embedded GPS track on a map
  • Losslessly Download videos over HTTP (e.g. HLS .m3u8)

Example lossless use cases​

  • Cut out commercials from a recorded TV show (and re-format from TS to MP4)
  • Remove audio tracks from a file
  • Extract music track from a video and cut it to your needs
  • Add music to a video (or replace existing audio track)
  • Combine audio and video tracks from separate recordings
  • Include an external subtitle into a video
  • Quickly change a H264/H265 MKV video to MOV or MP4 for playback on iPhone
  • Import a list of cut times from other tool as a EDL (edit decision list, CSV) and run these cuts with LosslessCut
  • Export a list of cut times as a CSV EDL and process these in another tool
  • Quickly cut a file by its MP4/MKV chapters
  • Quickly cut a YouTube video by its chapters (or music times from a comment)
  • Change the language of a file's audio/subtitle tracks
  • Attach cover art / thumbnail to videos / audio from an external JPEG file or from a frame on the timeline
  • Change author, title, GPS position, recording time of a video
  • Fix rotation of a video that has the wrong orientation flag set
    • Great for rotating phone videos that come out the wrong way without actually re-encoding the video.
  • Loop a video / audio clip X times quickly without re-encoding
  • Convert a video or parts of it into X image files (not lossless)
  • Losslessly split a video into one file per scene (note you probably have to shift segments, see #330.)
  • Cut away silent parts of an audio/video
  • Split video into segments to for example respect Twitter's 140 second limit
  • Annotate each segment with one or more tags, then use those tags to organize your segments or use it to create an output folder structure or hierarchy for your segments.
 

Version 3.63.0​

  • Allow customising output file name using a template when merging too #2108
  • URL download feature #1486
  • implent customisable wheel modifiers #1884
    • alt (customisable) + wheel: seek 1 frame
    • shift (customisable) + wheel: seek keyframe
  • Allow revealing config path in File Explorer/Finder
  • Allow drag-drop working dir #2147
  • Allow auto-reassign duplicate keybinding #2154
  • Allow selecting track also when there's only one: this allows the user to enable ffmpeg assisted playback when audio track is not supported #2144
  • Two black/silent detect modes: Mode 1: start/stop segments at the center of each black/silent section. Mode 2: bounding the black/silent sections
  • Improve seek speed (wait for seeked event)
  • Fix seek timeline indicator jerkiness bug
  • Make timeline time transparent when hovering it with mouse #2177
  • Re-encode FLAC when cutting #1809
  • GPS map: Support more DJI devices #2072
  • Reduce flickering #2083
  • Make it more explicit when changing mp4 to mov and show a notification #1075
  • Check if output file is writable before exporting (if it exists) so we can inform user
  • Escape last ffmpeg command properly on windows and escape quote on linux #2151
  • Don't show keyframes when packed too close together
  • Convert all non webvtt to webvtt when exporting to webm #2179
  • Allow enabling/disabling preservation of metadata and chapters #2176 #1027
  • Prevent alt button from opening menu when alt is bound in some keybinding #2180
  • Make toasts wider
  • Always show playback rate
  • Don't use toasts for fatal errors
  • Improve Settings page
  • Give segment list a scroll bar
  • Improve subtitle rendering
  • Log more ffmpeg commands
  • Translation update
  • Bug fixes and improvements
 

3.64.0​

This release fixes a crash in 3.63.0 for FFmpeg-assisted playback #2197

Also some other fixes and usability improvements:
  • translations
  • improve error msg when unknown error #2232
  • always render all thumbnails, but abort processes when params change #2229
  • warn about adjusting fps and cutting at the same time #2190
  • fix output timestamp bug #2210
  • warn if file name is too long for concat/merge #2200
  • always show template warnings #2211
  • warn when falling back to default template #2188
  • fix bug #2176

 

Version 3.65.0​

New features​

  • 🆕 Markers: Segments that don't have any end time are now considered "markers". They are rendered differently, and are excluded from exports. Markers can be useful for bookmarking locations on the timeline and all markers can be batch exported as screenshots. More ideas for marker features are welcome!
  • 🔈 Play multiple audio tracks simultaneously (with FFmpeg-assisted playback) #256 #936
  • ✅ Remember segment selected/deselected state inside .llc file #1329 #885 #371
  • 💿 Split timeline by byte size #1219
  • Modify segments by JavaScript expression #2128 #2305
  • Black/scene/silence detect
    • Remember dialog parameters (for current LosslessCut launch) #371 #2257
    • Allow selecting which audio/video track to use (current preview track) #2354
    • Streaming segment detection #2325
  • New shortcuts #2289
    • shift+alt+up Jump & seek to previous segment
    • shift+alt+down Jump & seek to next segment
    • shift+alt+pageup Jump & seek to first segment
    • shift+alt+pagedown Jump & seek to last segment
  • New action selectSegmentsAtCursor #1284 #254 (comment)
  • Improve waveform rendering #260
    • Make it faster and render around current time
    • Allow loading full waveform overview
    • Allow customising bottom waveform height
  • New file name template variables FILE_EXPORT_COUNT and EXPORT_COUNT #2296
  • Upgrade to electron v35 (drops support for macOS 10)
  • Upgrade to ffmpeg v7.1

More changes​

  • Show loading indicator for mini waveform #260
  • change SEG_NUM and SEG_NUM_INT variables: they will now correspond to the original index of the segment as shown in the number on the segment list. new variables SELECTED_SEG_NUM and SELECTED_SEG_NUM_INT can be used for previous behavior (where the numbering is based on the segment's number in the list of selected segments).
  • All segments will now have a start time defined - llc project file version bumped to v2 (to migrate missing start times). Missing end time now means that the segment is a marker (previously it meant extend to end of timeline).
  • minor change: most operations will no longer take place if no segments selected #2335
  • Make "combine overlapping segments" also combine adjecent segments #2340
  • export confirm: allow adjusting all end frames too #2256
  • allow disabling remember window position closes #2240
  • don't create detected segments twice in mode 2, fixes #2236
  • improve segment list buttons
  • log more ffmpeg commands to cli
  • make playback rate indicator pop (when changing) - customer thought it was hard to see currently
  • implement CMX3600 EDL import #1340
  • import PBF as markers #993
  • fix webp on mac #1671
  • fix broken loop selected segments
  • Also: Removed old csv project auto import
  • Allow extracting markers as images
  • improve loader 🌈
  • fix time input placeholder #2346
  • Bugfixes and improvements 😉
 
Version 3.66.1
  • Everything from v3.65.0 (pre-release)
  • Upgraded FFmpeg to 8.0
  • Upgraded Electron to 38 - note: they dropped support for macOS 11 ‼️
  • Drastically improve performance of FFmpeg-assisted playback for non-natively supported codecs/formats.
  • Improve UI performance and increase max segments to 1000 #2473
  • Add new file name template variables: CUT_DURATION, CUT_FROM_NUM, CUT_TO_NUM #2486
  • New SEG_LABEL array in cut+merge mode #2428
  • Toggle tracks by expression #2435 #1465 #371
  • Cut also externally added tracks #896
  • Allow setting timeline zero offset to current cursor time #2512 - this effectively also means allowing a negative time offset (new action makeCursorTimeZero)
  • New keyboard actions:
    • toggleDarkMode: Toggle dark mode
    • toggleStripCurrentFilter: Toggle tracks using current filter
    • toggleStripAll: Keep or discard all tracks
    • toggleStripSubtitle: Keep or discard subtitle tracks
    • toggleStripVideo: Keep or discard video tracks
  • Allow importing CSV with 2 columns #2412
  • CSV export/import tags as extra columns #2507
  • Show number in batch list #2357
  • Improve dark mode #1969
  • Transfer labels when inverting segments #2362
  • Improve creating segments flexibility: these functions now apply to the current segment. If not run without any segment, they will apply to whole timeline (like before). This allows things like running a binary search, see #2427. Applies to the following functions: "Create num segments", "Create fixed duration segments", "Create random segments"
    Allow drag dropping files to batch list #2400 and tracks panel
  • Add new display format "total seconds" #254
  • Show markers also in inverse mode #2408
  • Implement basic OTIO importer #2441 #1340
  • Allow utf8 letters when not in sanitize mode #889 #2482
  • Allow spaces in file name, even if sanitize is enabled #2498
  • Indicate when we are on a keyframe (approximately) #2155
  • Select segment under cursor when playing back current segments #2456
  • Allow reading all keyframes (action: readAllKeyframes and menu item from file or current segment) #2490 #563
  • Don't fill chapter gaps for matroska (it seems to support gaps)
  • Experimental lossy encoding mode #372 e.g. --lossy-mode "{ videoEncoder: 'libx264' }"
  • Support DJI Air 3 GPS from SRT (GPS map)
  • When detecting segments, will now auto delete the currently selected segment #2427
  • Many more bugfixes and improvements
 
Version 3.67.0
  • Improve UI and accessibility #2561 (remove abandoned evergreen-ui and reduce usage of sweetalert)
  • Use Shift + mouse click/drag to move/resize segments (configurable modifier key) #517 #2595 #483
  • Use native web keyboard events (KeyboardEvent.code): This makes keybindings consistently independent of keyboard layout. Also don't trigger hotkeys when some UI element or dialog is focused.
  • New action play-selected-segments (once) #2557
  • Implement file name template also for merge files #2403 #2489 #2054 #2400
  • Persist whether or not window was maximized #2574 #989 #2396
  • Persist settings waveformMode, thumbnailsEnabled, keyframesEnabled #843 #2539 #371
  • New reduce motion setting to override OS default - also improve reduce motion to include more animations/transitions #2580 #1410 #880 #371
  • Set minimum window dimensions to 300x300 #2574
  • Add fixCodecTag option #2518
  • Always show invert mode button #2576 to avoid confusion
  • Many more bugfixes and improvements
  • Dialog buttons are now OS-dependent
  • Add "What's new" #669
 
Version 3.67.2
  • Remove "Fix video codec tag / ID" option (no more auto codec tag "fixing" as it turned out to also cause problems for some). Instead you can override codec tag for individual tracks in the "tracks" dialog
  • Add a hevc_metadata=aud=insert bitstream filter in the track editor #2518 #2626
  • Improve dialogs #2622
  • Fix capture frame timestamp transfer #2620
  • Fix system language not saving #2606
  • Remember advanced settings setting while the app runs #371
  • Blur export button when clicking it to prevent it from holding focus #2625
  • Fix broken selecting current segment when looping segments playback
  • Show estimated segment file size in segment list #2630
  • New action generateOverviewWaveform #2490
  • Allow testing/triggering actions from keyboard shortcuts page
  • Encode flac when merging too #2636
  • Enable flatpak #2471
  • Fix segments history bug when history limit (100) exceeded
 
Version 3.68.0
Note: there's a bug with the app size of this version being larger.
  • Changed: Invert scroll zoom direction #2703
  • Changed: toggleStripAll action to not invert selection - instead actually toggle all on/off
  • New setting: When opening a new file, ask about import chapters: "Always", "never" or "ask" #2699
  • Add "Copy to clipboard and close" button for YouTube chapters #2675
  • Add new keyboard actions for existing functions #2699
    • selectSegmentsByLabel
    • selectSegmentsByExpr
    • labelSelectedSegments
    • mutateSegmentsByExpr
  • Add new template variable FILES for all templates. It is a list of SourceFile objects. #2694
  • Improve documentation
  • Enable language Norsk Bokmål 🇳🇴
  • Pull latest translations
  • Bugfixes, improvements and dependency upgrades