Lazycut: A simple terminal video trimmer using FFmpeg

7 hours ago (github.com)

I don't find trimming videos with ffmpeg particularly difficult, is just-ss xx -to xx -c copy basically. Sure, you need to get those time stamps using a media player, but you probably already have one so that isn't really an issue.

What I've found to be trickier is dividing a video into multiple clips, where one clip can start at the end of another, but not necessarily.

  • I don't find Sharing files with people very difficult, just login to your FTP and give an account to another user. - Person commenting on OneDrive

    • Missed opportunity to reference the famous Dropbox hn comment.

      I just think there are other closely related use cases where a separate program can add more value, especially in the terminal. I wouldn't suggest most people should use ffmpeg instead of a gui, those are too dissimilar. Another example is cutting out a part of a video, with ffmpeg you need to make two temporary videos and then concatenate them, that process would greatly benefit from a better ux.

      2 replies →

  • I used a plugin in mpv to do it but I can't find it anymore. You just pressed a key to mark the start and end. And with . and , you could do it at keyframe resolution not just seconds.

This is very cool. I built one of these myself around Christmas; Claude Code can put one together in just a couple prompts (this is also how I worked out how to have Claude test TUIs with tmux). What was striking about my finished product --- which is much less slick than this --- was how much of the heavy lifting was just working out which arguments to pass to ffmpeg.

It's surprisingly handy to have something like this hanging around; I just use mine to fix up screen caps.

Commenting mostly because when I did this I thought I was doing something very silly, and I'm glad I'm not completely crazy.

I think this is the first instance I've seen of an actual terminal video player. Very fun to play with.

  • mplayer, mpv and I think VLC can do it, with the right output driver settings (libcaca or a few other choices.)

    • You can just use ffmpeg to extract frames, and then just render the raw images with unicode blocks.

      (There's Kitty Graphics too, but I couldn't figure out how to make terminal UI layout work with it.)

    • yeah I remember learning this trick in like 2007 with libaa and later caca for color.

      It looks like this app is shelling out to ffmpeg to get the bitmap of a frame and then shelling to something called chafa to covert to nice terminal-friendly video.

      https://github.com/hpjansson/chafa/

Could have really used this a couple days ago. I had to record a video an assignment, but due to lack of global hotkeys on OBS with wayland, I had to start and stop the video on the OBS GUI. I tried to figure out ffmpeg but I was too tired and it was getting close to the deadline so I spent some time learning how to to do it with kdenlive.

Having to separately download ffmpeg in the windows distribution does not really make sense

Just bundle it

  • I disagree, I don't want another ffmpeg binary, I already have one. Winget works well, especially since this is already a terminal program.

I guess I can find another implementation to combine trimmed parts after taking out certain scenes?

  • Write a text file with all the parts like this:

        file 'file1.mp4'
        file 'file2.mp4'
        file 'file3.mp4'
    

    Then call ffmpeg like this:

        ffmpeg -f concat -i files.txt -c copy output.mp4
    

    And I guess you could make an LLM write a {G,T}UI for this if you really want.