====== DVD-Video: Teoria ====== E' indispensabile che sul disco esista una corretta struttura con delle directory ''**VIDEO_TS**'' e ''**AUDIO_TS**'' valide e dei file ''**VOB**'', ''**BUP**'' e ''**IFO**'' validi. Se questi requisiti non sono rispettati è probabile che il DVD-Video non venga letto dai normali lettori DVD (anche se potrebbe venir letto dai lettori DVD sul computer o nei più versatili lettori MPEG4). ^ Estensione ^ Contenuto ^ | IFO | Informazioni sulla disposizione del contenuto del DVD (inizio dei capitoli, dove sono le tracce audio, ecc.) | | BUP | Contiene un backup del file IFO | | VOB | **DVD Video Object**. In generale contiene una traccia audio/video. Si tratta di un flusso dati MPEG-2, cioè l'unione (multiplexing) di un flusso video MPEG-2 e di un flusso audio (generalmente nei formati AC3 e DTS) ed evenutalmente dei sottotitoli | | VIDEO_TS.IFO | Contiene le informazioni di controllo per tutto il contenuto video del DVD e per il Video Manager (root menu). | | VIDEO_TS.VOB | Contiene le informazioni video per il Video Manager (root menu). | La directory ''**AUDIO_TS**'' avrà un contenuto solo sui DVD-Audio, normalmente sarà vuota per i DVD-Video, tuttavia deve esistere. Tutti i nomi delle directory e dei file devono essere in maiuscolo. Il primo file sul disco deve essere ''**VIDEO_TS.IFO**'', il lettore leggerà questo e da quello saprà come accedere a tutti i contenuti del DVD. La disposizione fisica dei file sul disco deve seguire le regole di ''**VIDEO_TS.IFO**'' e degli eventuali file ''**VTS_XX_0.IFO**''. Se ad esempio ''VIDEO_TS.IFO'' dice che ''VTS_XX_0.IFO'' si trova al settore 345 (offset rispetto a VIDEO_TS.IFO), così deve essere. Ci sono regole simili in tutti i file ''IFO''. E' anche indispensabile che il file ''**VTS_XX_1.VOB**'' sia posizionato esattamente prima del file ''**VTS_XX_2.VOB**'', e così via. Questo perché un lettore DVD non ha idea di cosa sono i singoli file ''VOB'' e riproduce tutto a partire dal settore X fino al settore Y. A partire dalla versione 1.11a27 alpha/beta ''mkisofs'' ha la capacità di analizzare il contenuto dei file IFO e disporre di conseguenza i file sul DVD-Video. mkisofs -dvd-video -V DVD_TITLE -o /DVD_PROJECTS/homedvd.img /DVD_PROJECTS/HOMEDVD/ isoinfo -i homedvd.img -l Il comando ''isoinfo'' deve mostrare che i file ''VIDEO_TS.IFO'' occupa i primi settori dell'immagine. Se si sta eseguendo il backup di un DVD-Video, la distanza in settori tra un file e l'altro deve essere la stessa nell'originale e nella copia. ===== Contenuto dei file VOB ===== ^ VMGM | **Video Manager Menu** detto anche root Menu, è il primo livello della struttura di un DVD video. Le informazioni di navigazione menu sono conentue nel file ''**VIDEO_TS.IFO**'' (e nella copia ''**.BUP**'') mentre le informazioni audio/video sono contenute nel file ''**VIDEO_TS.VOB**''. Il pulsante **Title** del telecomando riporta a questo livello del DVD. | ^ VTSM | **Video Titleset Menu**. Al secondo livello della struttura di un DVD ci sono i //titleset//, ciascuno corredato dal proprio menu. Il menu è contenuto nel corrispondente file ''**VTS_nn_0.IFO**'' e nella copia di backup ''**.BUP**''. Il pulsante **Menu** del telecomando riporta a questo livello del DVD. | ^ Titleset | Tutti i file che compongono un determinato titleset hanno il nome che inizia con ''**VTS_nn**'', dove nn è il numero del titleset che varia da 01 a 99. Ogni DVD ha almeno un titleset. | ^ Title | Ogni titleset contiene uno o più titoli. L'insieme dei titoli è suddiviso in uno o più oggetti video (file ''**.VOB**''). Il primo oggetto video di un titleset è un file con nome ''**VTS_nn_1.VOB**''. | ^ Chapters | I titoli sono suddivisi in capitoli. I capitoli costituiscono i punti di ingresso al video (selezione scene). Quando il lettore raggiunge la fine di un capitolo, passa automaticamente al successivo. | ^ Cells | La cella è l'unità base di riproduzione video. Ogni cella è identificata da un ID numerico univoco. L'ordine in cui le celle sono visualizzate è stabilito da una **Program Chain** (PGC), questo consente la creazione di percorsi di visualizzazoine differenziati per lo stesso insieme di celle. Questa struttura può essere utilizzata per varie opzioni di riproduzione, come selezione del //parental level//, selezione dell'angolo di ripresa, selezione della storia. | ^ Audio streams | ^ Subpictures | Subpictures (or **subtitles**) are 4 color bitmaps which are overlayed over the video stream. Buttons in navigation menus are made with subpictures too. | ==== Limiti dei menu di navigazione ==== Il menu di primo livello (**VMGM**) può passare solo a: * Un'altro menu VMGM * Al primo menu VTSM di un titleset * All'inizio di un titleset Un menu di secondo livello (menu del titleset, **VTSM**) può passare a: * Un'altro menu VTSM dello stesso titleset * A un titolo o ad un capitolo nello stesso titleset * Al primo VMGM del disco ===== Creare un DVD-Video minimale ===== Vedere anche la pagina **[[dvd_video_creation|DVD Creation on Linux]]**. ==== Preparare la traccia audio/video ==== Per fare un DVD minimale (una sola traccia video, una sola traccia audio, niente menu, niente sottotitoli, niente titoli extra...) si deve preparare una traccia video mpeg e una traccia audio AC3 con queste specifiche: * DVD PAL: video MPEG-2 720x576, 25 fps (**DVD** oppure **DVD (lavc)** in Avidemux) * DVD NTSC: video MPEG-2 720x480 352x480 352x240, 29.97 fps (**DVD** oppure **DVD (lavc)** in Avidemux) * Audio AC-3 48kHz (**FFm AC3** in Avidemux) Con il comando ''**file**'' si controlla che il formato delle due tracce sia corretto: $ file disk1_title1.ac3 disk1_title1.ac3: ATSC A/52 aka AC-3 aka Dolby Digital stream, 48 kHz,, complete main (CM) 2 front/0 rear, LFE on,, 256 kbit/s reserved Dolby Surround mode $ file disk1_title1.m2v disk1_title1.m2v: MPEG sequence, v2, MP@ML interlaced Y'CbCr 4:2:0 video, 4CIF PAL, 4:3, 25 fps ==== Miscelare in un file mpeg DVD-Video ==== Con il comando ''**mplex**'' (dal pacchetto ''**mjpegtools**'') si unisce la traccia audio a quella video, ottenendo un flusso che corrisponde alle specifiche DVD Video: mplex -f 8 -o streams/title1.mpeg streams/title1.m2v streams/title1.ac3 Per de-multiplexare (separare) audio e video una volta multiplexati esiste il tootl ''**mpgtx**'', vedere anche ''**mpginfo**'' e le relative pagine di manuale. ==== Convertire in un titleset ==== Con questo comando viene creato un titleset unico costituito da un solo capitolo, con tutto il materiale video fornito. dvdauthor -o dvd/ streams/title1.mpeg Il titleset contiene anche un titleset menu (VTSM), senza però alcuna funzione particolare di selezione, jump a scene, ecc. Il risultato sarà la creazione nella directory ''**dvd/**'' dei seguenti file: ^ VTS_01_0.IFO | Menu di navigazione del titleset | ^ VTS_01_0.BUP | Copia di VTS_01_0.IFO | ^ VTS_01_1.VOB | Stream audio/video, primo file | ^ VTS_01_n.VOB | Eventuali file seguenti dello stream audio/video | ==== Creare il root menu ==== Il menu principale del DVD (VMGM) non avrà niente per la selezione del titolo o delle scene, provvederà semplicemente ad iniziare l'esecuzione del video. dvdauthor -o dvd/ -T I file che vengono aggiunti alla directory ''**dvd/**'' sono: ^ VIDEO_TS.IFO | Menu di navigazione principale del DVD | ^ VIDEO_TS.BUP | Copia di VIDEO_TS.IFO | ^ VIDEO_TS.VOB | Stream audio/video del menu principale del DVD | ==== Creare l'immagine ISO ==== A questo punto la directory ''**dvd/**'' contiene tutti i file necessari ad un corretto DVD-Video, si prepara l'immagine ISO per la masterizzazione: mkisofs -dvd-video -V SUPER8_DISK1 -o super8_disk1.iso dvd/ Vedere quindi come **[[..:masterizzare_dvd|materizzare il DVD]]**. ===== Riferimenti web ===== * How to burn a DVD-Video under Linux with mkisofs and dvdrecord: [[http://dvd.chevelless230.com/]] * DVD Authoring [[http://linuxgazette.net/issue83/stoddard.html]] * Howto author AVI->DVD with menus using Linux only ! [[http://forums.gentoo.org/viewtopic.php?t=117709]] * DVD Technical Guide [[http://www.pioneer.co.jp/crdl/tech/dvd/1-e.html]]