Burn A (Video) DVD In .NET Without 3rd Party Libraries

3k views Asked by At

Maybe this is a stupid question....I'm looking at a project that would require me to burn a video to DVD in such a way that a traditional DVD player could play it. I've found several '3rd party tools' that do this, which is great and the direction I'll probably take.

But, I can't, for the life of me, fathom how to sit down and write a video to DVD.

I know this is largely academic (Just use the available libraries!) still, I'd really like some direction on how I would/could go about doing this myself.

2

There are 2 answers

2
Chris Haas On BEST ANSWER

If you want to talk directly to Windows then you're going to have to run through the Image Mastering API (IMAPI). Some people have written wrappers for it. IMAPIv2 was released for Vista so I'm not 100% sure of its progression to Windows 7.

But that will just allow you to write files to disk. To understand how to burn a video DVD to disk you'll have to understand video encoding, the MPEG-2 spec, the UDF bridge file format and a couple of other things. I would highly recommend looking into a command-line video converter that can create the VIDEO_TS file structure for you and then use the Windows API to write that to disk.

EDIT

Here's another wrapper.

4
Frazell Thomas On

I would recommend looking at a project like SharpRecorder and understanding its code as a start.

Since there is no native support in .NET for writing a DVD video file you'll need to look at the DVD specification and start from the ground up. That is why looking at a library or using one is a great start (why reinvent the wheel?).