Tag: GitHub

Legacy Filters, Modern Solutions: MP4 Support in DirectShow

Microsoft #DirectShow API was introduced long before the widespread adoption of MPEG-4. As MPEG-4 codecs and container formats became standard, DirectShow was, by Microsoft’s own admission, nearing the end of its life.

That’s how this once-popular media framework for Windows found itself without support for MP4 files. Fortunately, there was a handy solution: freely available filters https://gdcl.co.uk/mpeg4/ developed by Geraint Davies. Originally published in 2006, these filters gained popularity over time. Since Geraint had other commitments after the last update, we took the liberty of placing a copy of his work on GitHub https://lnkd.in/dPsZEfpE somewhere around 2015.

Despite the state of DirectShow, these filters still play a role in DirectShow applications. We’ve even made a few updates ourselves — a little bit of everything: a unit test project, some modern C++ and #COM code based on Microsoft WIL https://lnkd.in/de5nxif, a COM type library with an integration interface, and various features. One particularly valuable addition is the ability to recover broken recordings.

You see, sometimes applications crash — whether due to external factors or just plain bad luck. And sometimes the cost of “re-doing things right” is too high. Oh, and the cost of data loss is high too! In such cases, we can salvage the broken recording from the crashed application and recover its content. It’s like a digital rescue mission. And in some instances, it’s even automated — like in our partner’s medical software https://lnkd.in/dCrJJRjy, where multi-hour recordings are the norm these days.

VCam: A Journey from Usenet to GitHub

Throughout many years of hashtag#DirectShow development, one project stood out with unwavering popularity: the Windows Virtual Camera sample ????. Originally authored by Vivek in 2005 or even earlier, it was shared on the “microsoft. public. win32. programmer. directx. video” Usenet conference. This project gained prominence because it addressed a problem that had no existing solution within the Windows SDK, and Microsoft had not expressed any intention to rectify it.

The source code for this virtual camera project was once hosted by Philip “The March Hare” on his personal website. However, given the passage of time, even that website does not longer exist.

We decided to breathe new life into this project, affectionately known as “VCam”, and made it available on GitHub: https://lnkd.in/dGUH9v79. Despite our confidence that the project and its approach are no longer current, there remains significant interest in this source code, with thousands of mentions across the internet.

At the GitHub repository, you’ll find not only the source code and build instructions but also pre-built binaries, demonstration, and references to the original contributors.