LosslessCut: The Swiss army knife of lossless video/audio editing
LosslessCut is a versatile FFmpeg GUI tool for fast, lossless media operations. It supports cutting, merging, editing, and more on various formats. Available on multiple platforms with advanced features and automation options.
Read original articleLosslessCut is a versatile cross-platform FFmpeg GUI tool designed for fast and lossless operations on various media files. It supports features like lossless cutting of most video and audio formats, smart cut, rearranging segments, merging files, stream editing, snapshots, metadata editing, and technical data viewing. The tool is available for download from multiple sources including Mac App Store, Microsoft Store, Snapcraft, Flathub, and GitHub Releases. LosslessCut supports a wide range of formats and codecs, with the ability to convert unsupported formats for lossless cutting. It offers a user-friendly interface with keyboard shortcuts, timeline zoom, video thumbnails, audio waveform, undo/redo functions, and advanced features like CLI and HTTP API for automation. For more information, including detailed features, supported operating systems, and download options, users can visit the LosslessCut GitHub page.
Related
Show HN: Online OPML editor to manage subscription lists
The OPML Editor on GitHub manages RSS and Atom feeds. Users can add, merge OPML files, and remove duplicates using Svelte and CodeMirror technologies. Licensed under AGPL-3.0. Access at opml.imadij.com.
G'mic 3.4.0: Image Processing in Its Prime
G'MIC version 3.4.0 celebrates its 16th anniversary with stability improvements and long-term support. Updates include new filters, enhanced tools, and focus on API stability and backward compatibility.
Show HN: Semantic Search of 1000 Top Movies of All Time
The website discusses Mixpeek, a media analysis tool focusing on top movies. It offers demos for analyzing popular movie concepts, assigns relevance scores, and promotes multimodal understanding with easy software upgrades. Based in NYC, Mixpeek provides resources for media analysis.
Show HN: I made a site for finding cheaper alternatives to pricey software
OnlyFewDollars offers budget-friendly alternatives to pricey software. GIMP, Pixlr, and Blender are highlighted as free, open-source options for photo editing, design, and 3D animation, rivaling expensive industry-standard software.
A Hex Editor for Reverse Engineers
ImHex is a versatile Hex Editor catering to Reverse Engineers and Programmers. It offers byte patching, search functions, theming, data interpretation tools, and more. The GitHub repository provides additional information.
(Unfortunately, VideoReDo was proprietary, produced by an indie developer, and that indie developer recently passed away.)
For those who don't really get what "lossless" video editing is all about, consider that most video editing software always involves these stages: importing video/audio "clips", storing the video/audio timelines in some sort of "app native" format (e.g. Pitivi, Premiere, Final Cut), and then exporting the completed video in one or more output formats (e.g. MP4, MOV), re-encoding the entire thing from scratch.
This means that if your only goal is to, say, cut 30-90 seconds out of a 1-hour video, you're still going to have to re-encode the entire 1-hour video. That also means if your re-encoding system isn't a match for however the original video was encoded, you'll make some changes you didn't intend via the re-encoding (e.g. video or audio quality changes).
With this "lossless" style of editor, however, it'll figure out a way to "snip out" the 30-90 seconds (you can think about this being "at the byte level") without re-encoding the entire thing.
It's no wonder that it uses FFMpeg to do the heavy-lifting, but I think it's worthwhile for the community to understand how this process ultimately works.
In a nutshell, every single modern video format you know about - mp4, mov, avi, ts, etc - is ultimately the extension of the container that could contain multiple video and audio tracks. The tracks are called Elementary Streams (ES) and they are separately encoded using appropriate codecs such as H264/AVC, H265/HEVC, AAC, etc. Then during the process called "muxing" they are put together in a container and each sample/frame is timestamped, so the ESes can be in sync.
Now, since the ES is encoded, you don't get frame-level accuracy when seeking for example, because the ES is compressed and the only fully decodable frame is an I-Frame. Then every subsequent frame (P, or B) is decoded based on the information from the IFrame. This sequence of IPPBPPB... is called GOP (Group of Pictures).
The cool part is that you could glean the type of the frame, even though it's encoded by looking into NAL units (Network Abstraction Layer), which have specific headers that identify each frame type or picture slice. For example for H264 IFrame the frame-type byte is like 0x07, while the header is 0x000001.
Putting all this together, you could look into the ES bitstream and detect GOP boundaries without decoding the stream. The challenge here is of course that you can't just cut in the middle of the GOP, but the solution for that is to either be ok with some <1sec accuracy, or just decode the entire GOP which is usually 30 frames and insert an IFrame (fully decoded frame can be turned into an IFrame) in the resulting output. That way all you do is literally super fast bit manipulation and copy from one container into another. That's why this is such an efficient process if all you care about is cutting the original video into segments.
LosslessCut: lossless video/audio editing - https://news.ycombinator.com/item?id=33969490 - Dec 2022 (153 comments)
Lossless-cut: The swiss army knife of lossless video/audio editing - https://news.ycombinator.com/item?id=24883030 - Oct 2020 (10 comments)
LosslessCut – Save space by quickly and losslessly trimming video files - https://news.ycombinator.com/item?id=22026412 - Jan 2020 (1 comment)
Show HN: LosslessCut – Cross-platform GUI tool for fast, lossless video cutting - https://news.ycombinator.com/item?id=12885585 - Nov 2016 (33 comments)
C=0;echo -n "-filter_complex '";
while read f;do
A=($f);echo -n "[0:v]trim=start=${A[0]}:end=${A[1]},setpts=PTS-STARTPTS[${C}v];[0:a]atrim=start=${A[0]}:end=${A[1]},asetpts=PTS-STARTPTS[${C}a];";C=$((C+1));
done <$1
for i in `seq 0 $((C-1))`;do echo -n "[${i}v][${i}a]";done
echo -n "concat=n=$((C)):v=1:a=1[outv][outa]'"
echo ' -map "[outv]" -map "[outa]"'
It's basically just a GUI for ffmpeg.
I then use Permute if I need to recompress, or Davinci Resolve if I need to add effects or lossy edits.
Not sure that I have a use for it, myself (although I could have used it back in my wageslave days).
I know exactly how difficult this type of thing is, so hats off to making it easy.
Best of luck with it!
Related
Show HN: Online OPML editor to manage subscription lists
The OPML Editor on GitHub manages RSS and Atom feeds. Users can add, merge OPML files, and remove duplicates using Svelte and CodeMirror technologies. Licensed under AGPL-3.0. Access at opml.imadij.com.
G'mic 3.4.0: Image Processing in Its Prime
G'MIC version 3.4.0 celebrates its 16th anniversary with stability improvements and long-term support. Updates include new filters, enhanced tools, and focus on API stability and backward compatibility.
Show HN: Semantic Search of 1000 Top Movies of All Time
The website discusses Mixpeek, a media analysis tool focusing on top movies. It offers demos for analyzing popular movie concepts, assigns relevance scores, and promotes multimodal understanding with easy software upgrades. Based in NYC, Mixpeek provides resources for media analysis.
Show HN: I made a site for finding cheaper alternatives to pricey software
OnlyFewDollars offers budget-friendly alternatives to pricey software. GIMP, Pixlr, and Blender are highlighted as free, open-source options for photo editing, design, and 3D animation, rivaling expensive industry-standard software.
A Hex Editor for Reverse Engineers
ImHex is a versatile Hex Editor catering to Reverse Engineers and Programmers. It offers byte patching, search functions, theming, data interpretation tools, and more. The GitHub repository provides additional information.