DVD-VR is a recordable DVD format, that allows re-recording or writing to the disc at any stage. I was initially confused by the relationship between DVD-VR and the various DVD standards released by the DVD forum, which the following table clarifies:

application format DVD-VR
DVD-Video
file system UDF 2.0
ISO-9660
physical layer DVD-RAM
DVD-RW
DVD-R

As of Feb 2007 there is good open source support for all these standards except the DVD-VR application format. I understand that LinDVD supports the DVD-VR format, but that is only available under licence to manufacturers of integrated products. This document is essentially what I discovered about the format while writing a program to extract the individual recordings from a DVD-VR format disc.

Physical Layer

I wont say much about this here except that DVD-VR format discs can be on DVD-RAM or DVD-RW physical media. DVD-RAM discs allow faster access to smaller files than DVD-RW hence on my camcorder it will only allow photos to be stored to DVD-RAM discs. DVD-RAM discs also support 100K writes as opposed to 1K writes for DVD-RW. On the negative side DVD-RAM discs are less compatible with players and are more expensive.

File system

One can mount a UDF 2.0 disk on Linux fine. A disc from my camcorder showed the following files:
$ find /media/dvd/ -printf "%p %s\n" | column -t
/media/dvd/                       248
/media/dvd/RTR_EXTN/              244
/media/dvd/RTR_EXTN/RX.DAT        1365692
/media/dvd/RTR_EXTN/VR_STDUM.000  0
/media/dvd/DVD_RTAV/              196
/media/dvd/DVD_RTAV/VR_MANGR.IFO  131072
/media/dvd/DVD_RTAV/VR_MANGR.BUP  131072
/media/dvd/DVD_RTAV/VR_MOVIE.VRO  450562048
/media/dvd/DCIM/                  88
/media/dvd/DCIM/100HPNX1/         40
The files pertinent to the DVD-VR application format are highlighted. The IFO is an information file describing the layout of the VRO file which is equivalent to a collection of DVD-Video VOB files. If one doesn't care about any edits (divide/combine/delete), one can play the VRO directly as if it was a standard DVD-Video VOB file (containing MPEG2 video etc.). This is not generally useful though especially if you delete content, as that is still part of the VRO file unless the space has been reused.

Application Format

The DVD-VR application format supports: To support this functionality, the DVD-VR application format essentially defines a file system within the IFO and VRO file combination. One can consider the IFO to contain the file allocation table and file meta data for the files within the VRO (which I'll call Virtual VOBs). Unfortunately the details of the structure of these files is not public information. The specification of the structure is defined by the DVD forum and available for around €5000 with accompanying NDAs no doubt. The versions of the DVD-VR application format spec are documented below:

versionpublishedproduct available
0.9Jan 1999 
1.0Oct 1999Q4 2000 (Q4 1999 in Japan)
1.1Nov 2000 

The structure is not that complicated luckily enough, and I've been able to figure it out with a few hexdumps and different combinations of recordings with my camcorder. I'll give an overview of the structure here, but for the details please see my program for extracting the individual (virtual) VOBs from the VRO file.

DVD-VR application format showing structure of VRO and IFO files

As you can see in the diagram, the VRO consists of VOBUs which are units of between 0.4 and 1.2s of video and audio. This is the same as for DVD-Video, the only difference being the indexing in the IFO file. As of version 0.1 my extraction program does not parse the program set information, and therefore does not support combining of multiple recordings into a single program. I.E. in the above diagram my program will extract 3 VOBs rather than combine the last 2 like the user requested. Note these separate VOBs are trivial to combine though (for example with the Unix cat command).

References

http://www.osta.org/technology/pdf/dvdqa.pdf
http://dvd.wwwdotorg.org/specs/specs.html
http://www.eventdv.net/Articles/ReadArticle.aspx?ArticleID=5449
http://en.wikipedia.org/wiki/DVD-VR
http://en.wikipedia.org/wiki/DVD-RAM
http://pioneer.jp/crdl/tech/
http://www.dvddemystified.com/dvdfaq.html#4.10
http://www.avtechpulse.com/opensource/dvd.html
http://www.ulead.com/learning/general/video_04_1.htm
© Feb 20 2007