this post was submitted on 14 Mar 2024
203 points (97.2% liked)

Open Source

31044 readers
863 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
all 29 comments
sorted by: hot top controversial new old
[–] [email protected] 69 points 7 months ago (2 children)

The swiss army knife for lossless video and audio editing is ffmpeg

[–] [email protected] 83 points 7 months ago (2 children)

And LosslessCut is a ffmpeg frontend, so that checks out.

[–] [email protected] 29 points 7 months ago

Neat, love me a GUI

[–] [email protected] 6 points 7 months ago

Oh hell ya. I won't have to Google to find the specific ffmpeg command I need anymore with this?

[–] [email protected] 5 points 7 months ago

Thanks but I will prefer GUI frontends for a task as complex as video editing.

[–] [email protected] 8 points 7 months ago

I've been using LosslessCut for a few years now. It's really easy and smooth. It does exactly what I want and what the name says, and I couldn't ask for more.

[–] [email protected] 6 points 7 months ago

I'll never need this but I want to hoard all FOSS software regardless

[–] [email protected] 4 points 7 months ago (2 children)

Or Shotcut, which can trim and so much more?

I mean, they all use ffmpeg.

[–] [email protected] 3 points 7 months ago (1 children)

It can trim without re-encode? I always thought it was more like a standard NLE.

[–] [email protected] 1 points 7 months ago* (last edited 7 months ago)

It's a slightly different use case, I default to Losslesscut and switch to Shotcut when I need a vfilter or if I'm just generally willing to concede to making a lossy cut.

Shotcut is way more flexible but I can make a quick clip in Losslesscut with probably 1/3 the number of user effort/inputs. Let alone trying to remember every ffmpeg parameter under the sun just to get consistent usable output

[–] [email protected] 4 points 7 months ago (2 children)

It is a good tool, but for me it only trims from the keyframes. To trim precisely, it has to re-encode, which, unfortunately, does not work on my machine for some reason. So, I just stick to ffmpeg cli.

[–] [email protected] 13 points 7 months ago (2 children)

I suppose that makes sense given that information is encoded as a series of key frames interspersed by 'I-frames" that simply encode the delta to the previous key-frame when using most compressed video algorithms. So cutting in-between key-frames doesn't really make sense since the I-frame would no longer have anything to reference it's delta to.

[–] ryannathans 2 points 7 months ago* (last edited 7 months ago) (1 children)

Except if it's lossless so there's no harm in reencoding to accurately clip files

[–] [email protected] 3 points 7 months ago (2 children)

You're confusing cause and effect. It's lossless because it cuts at keyframes and does not re-encode.

If it did what you're suggesting it wouldn't be lossless anymore.

[–] [email protected] 1 points 7 months ago* (last edited 7 months ago)

I think they were talking about a special kind of media file, that is not compressed but instead stored losslessly. I think H264 can do that too.

[–] ryannathans 0 points 7 months ago (1 children)

Lossless codecs can be decoded and reencoded without effect

[–] [email protected] 2 points 7 months ago

LosslessCut doesn't only use lossless codecs. It losslessly cuts video files encoded in lossy codecs.

[–] [email protected] 1 points 7 months ago (1 children)

This has always bothered me, I suspect it's the same underlying reason most video players can't do reverse frame-by-frame. But Quicktime allowed it twenty years ago, so it's possible. I suppose you'd have to actually decode the entire keyframe interval and use the resulting frames as new "baked-in" keyframes so to say. I suppose that's more or less what djv and other frame checkers do under the hood. But I don't know what I'm talking about so...

[–] [email protected] 2 points 7 months ago* (last edited 7 months ago)

That's what I've always assumed it does since back when quicktime player barely even ran on my PC yet for timeline operations it was significantly more responsive than WMP/MPC.

For Losslesscut I just get around this by encoding my input from source using keyint=n:scenecut=0 in ffmpeg where n is a manually set keyframe interval.

So e.g. if my expected cut occurs on a frame that occurs at t+10 seconds of footage, n can be the same as the fps and then there'll always be a keyframe exactly at timestamp 00:00:01, 00:00:02 and so on. I can then open it in losslesscut and easily snap to the frame I want and make the cut losslessly.

Yeah the first encode generally means a lossy transcode by the time I get to my final video but being realistic that'd be a part of my workflow either way and this way it's less

[–] [email protected] 1 points 7 months ago (1 children)

That's due to the source codec using keyframes, you can only cut without re-encode on those specific points.

[–] [email protected] 1 points 7 months ago

They allow re-encoding, but that is in experimental state. It never works for me.

[–] [email protected] 4 points 7 months ago* (last edited 7 months ago) (2 children)

lol@typescript and appImage. Yuck. Just use mpv to find cutpoints and man ffmpeg

[–] ryannathans 9 points 7 months ago (1 children)
[–] [email protected] 3 points 7 months ago

Nothing, I just never think to use it since mpv has more features for general use.

[–] [email protected] 2 points 7 months ago (1 children)
[–] [email protected] 3 points 7 months ago

Here is an alternative Piped link(s):

https://piped.video/watch?v=9kaIXkImCAM

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source; check me out at GitHub.