[MPlayer-dev-eng] Updated DVD-Video howto plus DVD-Video support patch for mkisofs (1.11a24)

Olaf Beck olaf_sc at yahoo.com
Thu Jul 4 20:44:23 CEST 2002


Hello Folks,

A while ago I wrote to the mailing list to inform about how to burn a
DVD-Video under Linux. There was some errors in the howto mostly due to the
fact that a DVD-Video structure can have holes between the files. Just doing
a sort with mkisofs was simply not enough.

I have written a patch for mkisofs that makes it create valid DVD-Video
 images (attached) and I have also updated my howto to reflect the changes.
 It can be worth noticing that the later alpha versions of mkisofs already
 have a sort built in for udf images.

The howto is as always avaliable at http://dvd.chevelless230.com/

Cheers Olaf

PS: Included the mail to the cdrtools mailing list that explains the patch in
greater detail - once again I hope I don't intrude to much on the mailing
list.


----------  Forwarded Message  ----------

Subject: DVD-Video support - patch for mkisofs (1.11a24)
Date: Thu, 4 Jul 2002 11:22:46 -0700
From: Olaf Beck <olaf_sc at yahoo.com>
To: cdrecord-support at lists.berlios.de

Hello Folks,

I'm currently in the progress of creating a DVD-Video copy,edit,create and
backup program. Mkisofs is naturally one of the important corner pillars in
it since it will be responsible to create the image that later on will be
burned to the DVD-R.

Mkisofs has some rudimentary support to create a DVD-Video image by doing a
sort of the files in the VIDEO_TS directory. However a plain sort is not
enough if you want to be able to play the DVD in a stand alone DVD Player, or
a software DVD player that follows the DVD specification to the letter.

When you play the DVD-Video in a DVD player it will parse the VMG information
file (VIDEO_TS.IFO) and from there it fetches the sector offset to every
titles VTS information file (VTS_XX_0.IFO) on the DVD-Video.

The DVD player continues to parse the VMG information file and most likely it
get a jump instruction to jump to title Y (if not it will automatically jump
to title 1). The DVD player executes the jump by doing a "seek" to the start
sector of that title based on the information it parsed earlier. The DVD will
refuse to play the disk if it doesn't find the VTS information file for that
title at the specified sector.

The DVD player will now parse the VTS information and get all the sector
offsets to the menu and title files in that particular title set. The DVD
player will also get instructions what to do e.g. jump to menu, play it, jump
to title, play it. The player will do that by doing a seek to the sector
specified in the VTS information file. Yet again if it doesn't find the
correct file at that sector it will not play the disk.

Rant, yes I know but I wanted to point out that it's not enough to just do a
sort of the files so that they come in the right order sector wise. The files
need to be at the specified sector offset found in the VMG and VTS
information files. Hence we need to parse the information files and construct
the image from the information we gathered.

The patch that I have attached does that :-) which is the reason I write the
mail. The patch is working fairly well creating a DVD-Video image from a
DVD-Video structure residing on your hard disk. You will need to edit the
Makefile for mkisofs to enable support for DVD_VIDEO which by default is
ifdef out. You will also need libdvdread-0.9.3 from
http://www.dtek.chalmers.se/groups/dvd/dist/libdvdread-0.9.3.tar.gz
in order to compile it.

Some notes about the patch; it's fairly well commented and I think you will
not have a problems interperting what it does in the big picture. There are
also some questions about mkisofs embedded in it that might be of interest.
It's also a work in progress since I want to be able to more things like e.g.
merge specific parts of two DVD-Video structures, read DVD-Video structures
or specific parts of them directly from a DVD, etc.  Further into it I might
also want to include a very cut down version of libdvdread so that we don't
have any dependencies. The patch might also need some polishing like e.g. the
use of the PARAMETER definition. Anyway I hope that patch might be of some
usage. I you have any questions please don't hesitate to mail me.

Lastly I want to thank the cdrecord team for a nice program and James Pearson
how gave me the pointers where to include my code in the mkisofs program
structure.

Cheers Olaf

-------------------------------------------------------


-------------- next part --------------
A non-text attachment was scrubbed...
Name: cdrtools-1.11-patch
Type: text/x-diff
Size: 29087 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20020704/c70365f1/attachment.diff>


More information about the MPlayer-dev-eng mailing list