Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dvd_structure [2014/02/16 14:37]
beandog
dvd_structure [2018/02/28 21:31] (current)
beandog
Line 1: Line 1:
 ====== DVD Structure / Metadata ====== ====== DVD Structure / Metadata ======
  
-  * [[DVD Audio]] +  * [[libdvdread]] 
-  * [[DVD Tracks]] + 
-  * [[DVD Title]] +  * [[http://​stnsoft.com/​DVD/|DVD Video Information]] 
-  * [[DVD Video]]+ 
 +  * [[http://​www.mpucoder.com/​DVD/​vobov.html|VOB file structure]] 
 +  * [[http://​www.mpucoder.com/​DVD/​dvdmpeg.html|DVD MPEG differences]] 
 + 
 +  * [[VMG|Video Manager Group]] (VMG) 
 +    * [[VMGI|Video Manager Group IFO]] (VMGI): ''​VIDEO_TS.IFO'',​ ''​VIDEO_TS.BUP''​ 
 +    * [[VMGM|Video Manager Group Menu]] (VMGM): ''​VIDEO_TS.VOB''​ (optional) 
 +  * [[VTS|Video Title Set]] (VTS) 
 +    * [[VTSI|Video Title Set IFO]] (VTSI): ''​VTS_01_0.IFO'',​ ''​VTS_01_0.BUP''​ 
 +    * [[VTSM|Video Title Set Menu]] (VTSM): ''​VTS_01_0.VOB''​ 
 +==== Cosmic Voyage ==== 
 + 
 +  * [[VMG]] 
 +    * [[VMGI]] 
 +      * VIDEO_TS.BUP 
 +      * VIDEO_TS.IFO 
 +    * [[VMGM]] 
 +      * None 
 +  * [[VTS]] 
 +    * [[VTSI]] 
 +      * VTS_01_0.BUP 
 +      * VTS_01_0.IFO 
 +    * [[VTSM]] 
 +      * VTS_01_0.VOB 
 +    * [[VOB|VOBs]] 
 +      * VTS_01_1.VOB 
 +      * VTS_01_2.VOB 
  
 === DVD Specifications === === DVD Specifications ===
Line 11: Line 38:
   * [[http://​www.doom9.org/​index.html?/​dvd-structure.htm|doom9:​ DVD Structure]]   * [[http://​www.doom9.org/​index.html?/​dvd-structure.htm|doom9:​ DVD Structure]]
  
-{{::​dvd-video_layout.jpg?200|}}+{{::​dvd-video_layout.jpg|}} 
 + 
 +=== dvdnav === 
 + 
 +Taken from ''​libdvdnav''​ documentation:​ 
 + 
 +<code text>​This is some rather basic information on the organizational structures of 
 +a DVD. I collected this info over time from various sources, the most 
 +valuable being an article in the German c't computer magazine. 
 +Some of the info might be wrong according to the DVD standard (which I do 
 +not know), but they are practically proven in libdvdnav. 
 + 
 + Michael Roitzsch 
 + 
 + 
 +0. storage structure 
 +   - sector 
 +       * smallest addressable unit on disc 
 +       * data is stored on disc with a Reed-Solomon error correction 
 +   - file 
 +       * the storage entity in the underlying filesystem (usually UDF) 
 +       * on DVD-Video, files are stored consecutively 
 +1. MPEG stream structure 
 +   - blocks 
 +       * a file system driver (usually UDF) is needed to map the VOBS-local 
 + block numbers to global disc sectors 
 +   - GOP (group of pictures) 
 +       * contains multiple sectors 
 +       * smallest self-contained MPEG unit 
 +   - VOBU (video object unit) 
 +       * contains multiple GOPs + audio and SPU blocks + NAV packet 
 +       * smallest unit in seek and resume operations, always starts with a 
 +         NAV packet used for menu button highlight and command information 
 +         and to detect PTS discontinuities 
 +   - ILVU (interleaved video unit) 
 +       * contains multiple VOBUs (ususally only one) 
 +       * blocking multiple VOBUs of multiple interleaved MPEG streams for 
 +         ​multiangle features 
 +   - VOB (video object) 
 +       * contains multiple ILVUs (usually quite a lot) 
 +       * each NAV packet has a CellID, so VOBs are divided into stream Cells 
 + which do not necessarily correspond to the navigation Cells below 
 +   - VOBS (video object set) 
 +       * contains multiple VOBs (addressed by VOB_ID) 
 +       * a VOBS is the storage analogy to the playback domains below, 
 + therefore, a VMGM_VOBS, a VTSM_VOBS and a VTS_VOBS exist 
 +       * all block addressing is done within the scope of the VOBS 
 +2. navigational structure - logical playback control 
 +   - Cell 
 +       * smallest unit which is layed out in sequence 
 +       * points to a first and last VOBU (by sector) 
 +       * also points to the corresponding CellID and VOB_ID 
 +       * smallest unit to execute VM commands (cell_post commands) 
 +       * smallest unit accesible by VM commands (apart from LinkRSM) 
 +   - PG (program) 
 +       * points to a Cell 
 +       * usually the mapping between PG and Cells is 1:1, but not always 
 + (multiple Cells inside one PG can occur when special VM commands 
 + have to be executed in the middle of a PG, for example to switch 
 + SPU channels or to provide a branching target for special 
 + features that need access to parts of the movie) 
 +       * unit for user skip operations 
 +       * libdvdnav'​s default unit for seeking 
 +   - PGC (program chain) 
 +       * contains multiple programs and cells 
 +       * logical playback chain 
 +       * VM commands at start and stop (PGC_pre and PGC_post commands) 
 +       * might be used for seeking (see dvdnav_set_PGC_positioning()) 
 +3. title structure - high level navigation 
 +   - PTT (part of title track) 
 +       * points to a PG in a PGC 
 +       * usually what you select in a "​chapter menu" are parts 
 +       * usually the mapping between PTT and PG is 1:1, but not always 
 + (this is similar to the distinction between track and index marks 
 + on audio CDs: PTT = track mark, PG = index mark) 
 +   - TT (title track) 
 +       * contains multiple PTTs 
 +       * logical partitioning of the content 
 +         ​(multiple episodes of a TV series on one DVD: one TT per episode) 
 +       * the display of DVD players show title and part number 
 +   - VTS (video title set) 
 +       * contains multiple TTs with a local numbering (to emphasize the 
 + local scope of the number, these are also called VTS_TT) 
 +       * high level partitioning of the content (movie / bonus material) 
 +       * video, audio and spu attributes are common inside a whole VTS 
 +4. domain structure - bringing it all together 
 +   - FP (first play) 
 +       * one special PGC in the VMGM domain run on start of the disc 
 +   - VMGM (video manager menu) - files video_ts.{vob,​ifo,​bup} 
 +       * the menu which allows you to select between title sets 
 +       * corresponds to the VMGM_VOBS (video_ts.vob) and 
 + the VMGI (video_ts.ifo) 
 +       * contains sets of PGCs, differentiated by language 
 +       * contains a global table of TTs each pointing to a VTS and a local VTS_TT 
 +       * contains parental management information 
 +       * contains attribute lists for the VTS'​es 
 +       * contains text data (?) 
 +       * contains a Cell and a VOBU lists with local sector info (for seeking) 
 +   - VTSM (video title set menu) - files vts_<​vtsN>​_0.{vob,​ifo,​bup} 
 +       * the menu which allows you to select between the TTs of a VTS 
 +       * corresponds to the VTSM_VOBS (vts_<​vtsN>​_0.vob) and 
 + the VTSI (vts_<​vtsN>​_0.ifo) 
 +       * contains sets of PGCs, differentiated by language 
 +       * contains a Cell and a VOBU lists with local sector info (for seeking) 
 +   - VTS (video title set) - files vts_<​vtsN>​_[1-x].vob,​ vts_<​vtsN>​_0.{ifo,​bup} 
 +       * regular playback domain 
 +       * corresponds to the VTS_VOBS (vts_<​vtsN>​_[1-x].vob) and 
 + the VTSI (vts_<​vtsN>​_0.ifo) 
 +       * contains one VTS with its VTS_TTs and PGCs 
 +       * contains a time map (for time-based seeking) 
 +       * contains a Cell and a VOBU lists with local sector info (for seeking) 
 +   - STOP 
 +       * 'nuff said</​code>​
  
 === lsdvd === === lsdvd ===

Navigation