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/ 40The 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:- Re-recording new "programs" on a disc
- Deleting, Splitting and Combining those programs
- Reusing the largest free space on the disc after deletions
- User defined play-lists to play programs in any order
version | published | product available |
0.9 | Jan 1999 | |
1.0 | Oct 1999 | Q4 2000 (Q4 1999 in Japan) |
1.1 | Nov 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.
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.pdfhttp://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