I've been working on a modernized version of virtualdub. Basically, a front-end for ffmpeg and vapoursynth/avisynth scripts along with built-in capture card support and importing of various digital audio formats (BD rips, DVD rips, LD rips, digitized tape and so on). I started working on this because I've been incredibly frustrated by all the random tools I've needed to use over the years. Many of which are still Windows/NT-only. Capturing analog sources is very frustrating because they haven't made a proper capture card in 20+ years now and most of the tools to control the proper ones are Windows XP-era software. Most of this stuff doesn't work correctly in wine either.
ffmpeg along with the various codecs can do a lot of this stuff from a CLI. But it's a maze of options and the documentation for a lot of edge cases isn't that great. If you haven't been using these tools and scripts for 25+ years it's almost impossible to get started. You have to spend weeks crawling through old forums and mailing lists to learn anything and you have to stop mid-project often to spend hours reading the documentation.
There really isn't a proper GUI application for this stuff either. There are a lot of GUI options for editing video provided it's already in a format you want. But taking an old NTSC/PAL source from analog or digital and cleaning it up + producing a good encode (either lossless or lossy) for distro is a huge pain in the ass.
I thought it would be pretty simple to do this considering ffmpeg can do most of it by itself provided you know your way around. But the options for cross-platform GUI applications is still kind of awful. I've ended up using C++ and Qt to do the GUI stuff. I didn't really see another way if I wanted support for the 3 major platforms people use on workstations. While I'm primarily making this for Linux/UNIX I really wanted to retain Windows and Mac OS support because I know a lot of people still use those for video work.
Anyway, I'm calling this a "Video Mastering Application". Aside from the GUI itself the most important things about it boil down to;
- A package manager to manage all the various Vapoursynth/Avisynth filters along with the various codecs needed to do anything
- A new file format to store "projects" to store all the meta data and misc. stuff associated with each mastering project. Basically, a renamed .mkv file with an extra attachment that stores the meta data
- A list o
Post too long. Click here to view the full text.