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.
bolangi [3 hidden]5 mins ago
FWIW, here's a simple command line utility for joining and trimming the multiple video files produced by a video camera.
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
sorenjan [3 hidden]5 mins ago
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.
tptacek [3 hidden]5 mins ago
Point of order: the Dropbox HN comment is famously misconstrued. People think it was about Dropbox; it was about the Dropbox YC application, and was both well-intentioned and constructive.
gyan [3 hidden]5 mins ago
> with ffmpeg you need to make two temporary videos and then concatenate them
It can be done in a single command, no temp files needed.
hiccuphippo [3 hidden]5 mins ago
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.
tptacek [3 hidden]5 mins ago
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.
booi [3 hidden]5 mins ago
You can use AI to figure out the arguments to ffmpeg. But indeed it seems like there's just a single call to FFmpeg CLI to power the whole thing which is amazing.
I think this is the first instance I've seen of an actual terminal video player. Very fun to play with.
mikkupikku [3 hidden]5 mins ago
mplayer, mpv and I think VLC can do it, with the right output driver settings (libcaca or a few other choices.)
tptacek [3 hidden]5 mins ago
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.)
chadrs [3 hidden]5 mins ago
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.
Invoking ffmpeg, gzip and tar commands is a sort of reverse Turing test for LLMs
noiv [3 hidden]5 mins ago
On MacOs I just press space and trim with finder. Even avoids re-compressing.
Acrobatic_Road [3 hidden]5 mins ago
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.
utopiah [3 hidden]5 mins ago
Don't think I need it (using ffmpeg directly or Kdenlive if I need fine edits) but to know that it exists brings me joy, so thank you!
throw101010 [3 hidden]5 mins ago
The intermediary solution for me between ffmpeg and kdenlive is LosslessCut (https://github.com/mifi/lossless-cut). Also free and open-source... of course it look less cool than a Terminal UI like the OP, but it's very practical when I don't want to reencode everything, or if I just need to change the format of container (MP4, MKV, etc.).
tim-projects [3 hidden]5 mins ago
I use losslesscut but its package size is absolutely massive. Would really appreciate alternatives like this.
mrbluecoat [3 hidden]5 mins ago
I agree. Trim is nice but the killer feature of LosslessCut is cutting a scene in the middle and merge results while maintaining correct subtitles.
nacs [3 hidden]5 mins ago
Lossless-cut has both an HTTP api and a CLI so it could be controlled via a lightweight TUI if someone wanted.
masterpos [3 hidden]5 mins ago
You are welcome! It is nice when you need to quickly crop or trim something and don’t want to launch a video editing app.
The repo is owned by a friend, you can leave a star to make him happy :)
HelloUsername [3 hidden]5 mins ago
Doesn't -y mean overwrite file? And isn't there a difference between -ss before -i and after -i?
dylan604 [3 hidden]5 mins ago
yes and yes. I assume no further info is necessary for what I also assumed was rhetorically asked
bfrjjrhfbf [3 hidden]5 mins ago
Having to separately download ffmpeg in the windows distribution does not really make sense
Just bundle it
sorenjan [3 hidden]5 mins ago
I disagree, I don't want another ffmpeg binary, I already have one. Winget works well, especially since this is already a terminal program.
ftchd [3 hidden]5 mins ago
People that use GUIs/tools for things like ffmpeg, rclone etc really want the developer to autodetect if they have it already, and use that instead of installing a separate version/binary.
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.
https://metacpan.org/dist/App-fftrim/view/script/fftrim
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.
It can be done in a single command, no temp files needed.
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.
(There's Kitty Graphics too, but I couldn't figure out how to make terminal UI layout work with it.)
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/
[0]https://github.com/wong-justin/vic
Just bundle it
How do I know? I built one (https://github.com/rclone-ui/rclone-ui)
https://hpjansson.org/chafa/
Hadn’t heard of Chafa before.
Chafa supports outputting to all popular terminal graphics formats according to the Chafa website: Sixels, Kitty, iTerm2, Unicode mosaics.
Speaking of which it is also worth to point out that for example sixels were first invented and put into use quite early on:
> […] as a way to send bitmap data to the VT200 series and VT320 terminals when defining custom character sets.
https://en.wikipedia.org/wiki/Sixel
In the references if that Wikipedia article you see for example VT330/VT340 Programmer Reference Manual, Volume 2: Graphics Programming from May 1988.
https://www.vt100.net/docs/vt3xx-gp/chapter14.html