Replies: 5 comments 5 replies
-
This might be something I'm interested in working on but maybe with a less casual bent for my workflow.
|
Beta Was this translation helpful? Give feedback.
-
I had a crack at this last WRJ, but found ffmpeg a royal pita to try and work with. I know with all the different codecs/streams/etc it's an inherently thorny problem, but do we know of any other cross platform libraries we could start building off? Or do we need to split this into two projects - the casual editor and a nice handmade video manipulation library? |
Beta Was this translation helpful? Give feedback.
-
ffmpeg is only good option if you want to support importing "any" file formats with arbitrary codecs. It is very good for that. Next good alternative is to use system builtin support for media files, that will get you few popular codecs/formats, but will very limited compared to ffmpeg. After that there's no other choice that to manually use bunch of different libraries for each individual codec manually - then it's your choice what you support or not. But for encoding you should be careful - if you want H264 or H265 output then using using libx264/libx265 directly or through ffmpeg is only good option for good quality (unless you go to some commercial encoder software). BUT - that makes your software to require GPL license, as libx264 is and libx265 is GPL. Or you'll need to do something like running encoder as external process and then piping data over or something. Similar for AAC codec. Best AAC codec is binary-only (no library) from QuickTime/iTunes. Next good choice is fdk-aac library which has non redistributable license for binary (distributing source is OK, but compiled binaries is NOT). Other available AAC codecs are very poor quality. Simple alternative to encoding is to use system default libraries for media (MediaFoundation and CoreVideo) but they won't give best quality encoding. libx264 will beat them sometimes by factor 2x if you're willing to spend encoding time. I strongly recommend for such software to use ffmpeg. It will give you least problems for supported features and performance per quality. For start you can easily do it as shared library. But eventually due to license requirements you'll probably want to run it in custom external process which can use shared memory to send & receive large amount of data for encoding/decoding. |
Beta Was this translation helpful? Give feedback.
-
FWIW, this is as far as I got last year before life got in the way: https://github.com/Khrob/blue If anyone's keen to team up, I'm definitely open to working together with some folk on this! |
Beta Was this translation helpful? Give feedback.
-
The world moved on to "professional" video software like Premiere, Final Cut Pro, DaVinci Resolve, etc., and left normal people in the dust. Windows Movie Maker is dead. The best we have these days is iMovie, and who knows how long that will last - Apple seems to have mostly abandoned "iLife".
It's really quite difficult these days to do simple video editing like these tools used to allow. Put some clips in sequence, trim them, throw some music behind it, throw some text on top of it. We need software that is just good at the basics.
In my opinion the ideal audience for this software would be:
Fun fact: Jon Bois edits all his incredible sports documentaries in iMovie: https://twitter.com/jon_bois/status/1215090372734541824
Stuff this software should do:
Stuff this software should not do:
Notable projects
Beta Was this translation helpful? Give feedback.
All reactions