well I went and bought some software that said it would make DVDs
playable on any machine . Needless to say it didn't do the job and I
am looking into developing some software in C# that will . Heheh I am
tired of downloading/buying software that says it can, but turns out
that it won't do the job . Anyone have an idea where I can learn
more about writing code that will create playable DVDs ?? thanks in
advance for any help
There is already a great deal of software that does this. I assume
that you are attempting to create video DVDs which comply with the DVD
standards. First you must transcode the video to DVD format, the
output of which must be NTSC or PAL resolution, MPEG-2. Then you must
use DVD mastering software which takes the MPEG-2 video, optionally
creates chapters out of it for quick jumping, and then lay all of that
out in a DVD filesystem. Put this into an image file (that's the
mastering part) and then burn the image to a blank disc. For Windows,
off-the-shelf software such as Nero handles this part quite well.
Enhanced (that is, not entry-level) versions of Nero can also transcode
the video for you.
Also, if you are still interested in writing such software (which is
_not_ a trivial task) you'll want to study some source code to software
that already does this. For video transcoding, take a look at MEncoder
or FFmpeg; for image mastering and burning, take a look at the cdrkit
package. These are all command-line programs written in the C
programming language. Also take a look at the DVD-Video page on
Wikipedia, which provides a very high level description of the
requirements of mastered DVD video.
NB: For maximum compatibility, you must burn at 1x speed. DVD players
vary in whether they prefer DVD+R or DVD-R media. Laying out the
filesystem and burning the disc correctly is only a part of it. If you
want full compatibility across _all_ players, you must duplicate the
discs en masse using a DVD pressing service.
HTH,
Mike