Show HN: Video editor app that generates FFmpeg commands
newbeelearn.comHello Friends, I have built a new video editor app that generates ffmpeg commands to get the edited video. This gives you flexibility to use it in scripts etc. for your video editing workflows and makes editing tasks smooth by letting you visually adjust video elements that are difficult to adjust in commandline.
Demo is here
- https://www.youtube.com/watch?v=KSvazNBEfTc
Link is here
- https://newbeelearn.com/tools/videoeditor/
Features are
- video, image, text editing
- adjustable timeline and layers
- adjust position, size , alignment, font size color, borders etc.
- quick info of image, video files
- preview player to get the idea of edited video with play, pause, seek.
Limitations are
- Audio files(mp3) are currently not supported though audio inside mp4 will work
- player is not frame accurate it just gives u close enough approximation.
- file paths are not supported due to browser's security limitations.
- I have only tested happy path so there would be many bugs but it should work for simple tasks
Others
- Completely free
- No registration/login etc.
- Works online does not requires any installation
- Works offline after first load
- Works locally does not requires server
Background is i generally have one off video tasks and i don't mind using ffmpeg for it but recently i had to create a bunch of product videos and it was difficult to get text etc. right on commandline, i tried kdenlive and openshot as well but couldn't figure out how to something simple like adding a logo and text to it(i guess i am dumb) so i created this new app to suit my workflow
Added support for audio as well both for adding audio files and playback of audio within video in preview. Now the app size is whooping 350KB.
This is marvelous. Any thoughts on open sourcing it?
no thoughts but seems like a headache cleaning up code and maintaining it. i will think about it this weekend.
It’s a neat project, something I might use if it was something I could host myself.. I think some ppl would help clean it up.
this is clean ... would love to integrate into my side project if you open source this
Am I tripping or is this Ember?
would love to see the code either way, seems like an awesome NLE
Wonderful. Finally an ffpeg wrapped I can get behind.
I wonder what a gstreamer equivalent would be like.
https://blogs.igalia.com/scerveau/introducing-gstpipelinestu...
I am trying to make efficient gst pipelines for security cameras. I only took a quick look at GPS so far. The UX for making connections is a little weird, but so far the whole tool seems to work as advertised.
Wow!! This is like the pgadmin4 of postgres!!!
It is much much needed to make ffmepg on par with a video editor!
pgadmin is GOAT, i hope this tool lives upto expectation, i have some time today will probably add some more features like export setting and audio support to it.
I really love this. I find ffmpeg to be a bit of a pain to work with, but it's so very powerful. This tool might help me craft some cool flows in my app.
glad you liked it
Very good application, but it seems that the video cannot be played after uploading
you mean in preview player or after encoding using ffmpeg video is unplayable? Can you give some more details about your browser, browser version, os, os version and pc/mobile, file, if its publically available that i can replicate. Any other info to debug would be helpful as well. Last but not the least i hope you have pressed play button and waited for some time like 2-3 seconds.
Have wanted this exact thing in the past!
This is neat.
While only tangentially related, I dove into a rabbit hole not long ago trying to find the best ffmpeg GUI (that doesn't require Wine or a VM to run on macOS) and found some good stuff. Handbrake [1] is great and uses ffmpeg as part of its backend, but it gets somewhat limited when you start requiring more advanced things like vf chains, scripting/automation, obscure/legacy codec support, or specific hardware acceleration needs. I wanted to find something that gets (close to) as densely packed with features as ffmpeg from the command line, and here's what I found. I'm not going to list all their features and pros/cons, but just let others know about some of these as a starting point.
I'm not affiliated with any of these programs (Handbrake and ffmpeg included) in any way, I just want to point others in the right direction if they come across this comment.
StaxRip [2] - One of the most popular and complete options. Seems like one of the the go-tos on the VideoHelp [3] forums for video editing GUIs. Supports AviSynth+ and VapourSynth scripts among other advanced features.
clever FFmpeg-GUI [4] - Another VideoHelp go-to. I'm not 100% sure if this supports AviSynth/VapourSynth, but it's pretty damn feature-complete as far as ffmpeg goes.
Shutter Encoder [5] - Probably has the most intuitive UI of the bunch, it feels much closer to a Premiere Pro/Davinci Resolve type program rather than an ffmpeg wrapper, albeit those applications are much more robust for different tasks.
Hybrid [6] - My favorite out of these, purely because it was easy enough to get running on macOS and didn't sacrifice many ffmpeg features. Also supports AviSynth/VapourSynth.
Honestly, probably didn't even need to comment this; I wish I had more knowledge about these to share in-depth. If you're serious about video encoding, your best bet is to start learning how to use ffmpeg from the command line anyways, then maybe add AviSynth+/VapourSynth into the mix as you see fit, though those are a good deal more advanced than even ffmpeg. Just my two cents.
[1] https://handbrake.fr/
[2] https://github.com/staxrip/staxrip
[3] https://www.videohelp.com/software/sections/video-encoders-h...
[4] https://www.videohelp.com/software/clever-FFmpeg-GUI
[5] https://www.shutterencoder.com/
[6] https://www.videohelp.com/software/Hybrid
Can you recommend a tool for dicing up 2h digitizations of VHS tapes? I want to play the 2h video, seek around easily, mark 'chapters' and give them filenames, then do a no-transcode rough cut extraction of each chapter into its own video.
Sounds like a task "easily" done with one massive painful line of `gst-launch-1.0 filesrc ... ! ... ! splitmuxsink`
I've been working on a video editor for this use case: https://github.com/wong-justin/vic
Interesting approach, i like the aesthetic. When you say 'add audio' is a big task , does this mean the videos after cutting up don't have audio, or just that the preview doesn't have audio? the latter wouldn't be a problem for the use case of slicing up home videos. I have the same task as parent, might have to make a weekend project out of it.
Thanks :) The preview doesn't play audio. But the sliced output has audio.
The UX should be a lot smoother once I get around to non-blocking inputs and the audio player. For now, futzing around with mpv or a fully-featured video editor might be the way to go.
Is it one continuous file at the moment?
Yeah, I play a VHS tape and capture the whole thing. Maybe I should be using a scene detector to split files on camera cuts, which would be roughly correct for home movies (but not for TV shows).
u can do it with this command, it will just copy audio and video
ffmpeg -i input.mp4 -ss 00:00:00 -to 0:30:00 -c:v copy -c:a copy chapter1.mkv
u can just copy paste it 10 times in your text editor, than adjust ss, to times using any video player that can play vhs file.
That's where I am now. I'd like to optimize out the retyping and duplication of time strings.
I want the player ui (I'm using mpv) to have a command that:
1. Remembers the last end time to use as this chapter's start time
2. Gets the current time to use as chapter-end.
3. Accepts the name (e.g. 'chapter1').
4. Runs the ffmpeg copy command.
Perhaps mpv+lua can already handle this. I see commands for setting a loop range and for calling a subprocess. Not sure how I'd input the chapter name. Maybe I'll have an LLM name the chapters for me :)
u r on right track with llm, just tell it that you will give input file and set of start, end times and that it should generate the command for u. As a bonus ask it to give u the example as well so that it doesn't misunderstands! i think even chatgpt mini should be able to do it.
I found some existing mpv scripts:
https://github.com/oltodosel/mpv-scripts/blob/master/show_ch... display chapter names as OSD
https://gitlab.com/lvml/mpv-plugin-excerpt press 'i' and 'o' for in/out points, then 'x' to make a new (auto-named) file.
https://github.com/shinchiro/mpv-createchapter press 'shift-c' to mark chapters; export as xml file.
https://github.com/mar04/chapters_for_mpv mark chapter times, input titles, save as txt file
By having an LLM name the chapters, I meant having whisper do speechrec on the chapter and then asking an LM to summarize the content into a name up to k chars.
I've had great luck with HandbrakeCLI for scripted encoding tasks.
i needed this before starting the project but than i might not have started it at all :-)
based
Professional video UIs pretty much all use dark mode, so light mode UI reads as "non-professional" or "toy" in this space.
I suspect flipping the UI from light to dark will significantly increase adoption.
thanks for the feedback. Sure, will add some cool themes to it similar to my other free product https://newbeelearn.com/tools/csvonline/