====== Masterizzare un DVD ====== ===== Riferimenti Web ===== * [[http://fy.chalmers.se/~appro/linux/DVD+RW/|DVD+RW/+R/-R[W] for Linux]] ===== Quale programma? ===== === wodim === **Wodim** nasce come fork di **cdrecord**, in quanto la licenza di quest'ultimo non è compatibile con le linee guida Debian per il software libero. Si dovrebbe poter usare ''wodim'' come si utilizzava ''cdrecord'', tant'è vero che in Debian viene creato un **link simbolico** di nome ''cdrecord'' che punta a ''wodim''. Il programma ha la capacità di masterizzare **CD**, **DVD-ROM** e **DVD-Video**. === growisofs === Nato come semplice front-end di ''mkisofs'', adesso esegue anche la registrazione dei DVD. === dvdrecord === Nato come un fork di cdrecord, per Debian ha una licenza non-free. ===== Supporti DVD-, DVD+, R e RW ===== ==== DVD-R, DVD-RW ==== Un disco DVD-RW può trovarsi in due modalità e può essere scritto con tre strategie: ^ Modalità ^ Strategie possibili ^ | Sequential | Disk-at-once, Incremental Sequential | | Restricted Overwrite | Restricted Overwrite | La strategia che offre la compatibilità più vasta è quella **Disk-at-once** su supporti DVD-RW. E' il formato utilizzato dai DVD video. Un DVD-RW nuovo dovrebbe essere in modalità sequential, e già pronto per essere scritto: growisofs -dvd-compat -Z /dev/dvd -r -J /home/ftp/pub/ I comandi principali per vedere lo stato di un **DVD-RW**, scrivere la prima sessione, le successive, formattare, ecc... dvd+rw-mediainfo /dev/dvd # Visualizza lo stato del disco growisofs -Z /dev/dvd -r -J /home/ftp/pub/ # Scrive la prima sessione growisofs -M /dev/dvd -r -J /home/ftp/divx/ # Scrive una sessione successiva dvd+rw-format -blank /dev/dvd # Formatta in Sequential mode (veloce) dvd+rw-format -blank=full /dev/dvd # Formatta in Sequential mode (completo) dvd+rw-format /dev/dvd # Formatta in Restricted Overwrite mode growisofs -Z /dev/dvd=image.iso # Masterizza un'immagine ISO su DVD growisofs -dvd-compat -Z /dev/dvd=image.iso # Masterizza un'immagine ISO di DVD-Video **Altamente consigliato** aggiungere nelle operazioni di scrittura il parametro ''**-dvd-compat**'' che ha l'effetto di chiudere il disco (impossibile aggiungere altre sessioni), ma crea un DVD maggiormente compatibile con i vari lettori. ==== DVD+R, DVD+RW ==== Teoricamente un **DVD+RW** (ma non un DVD+R) potrebbe essere usato come un vero disco ad accesso casuale, per ospitare filesystem //vfat//, //ext2//, ecc. E' necessario l'opportuno supporto del kernel, ma data l'inaffidabilità dei supporti (il numero di cicli di riscrittura è limitato a circa un migliatio) la cosa direi che non interessa. Come si farebbe comunque ad aggiungere dati ad un supporto **DVD+RW**? Per masterizzare il contenuto di una directory: dvd+rw-mediainfo /dev/cdrom growisofs -Z /dev/cdrom -r -J /home/ftp/pub/ Per i **DVD+RW** non esiste il concetto di **multisessione** (sarebbe teoricamente superiore, essendo un disco ad accesso random). L'opzione ''**-dvd-compat**'' ha in questo caso l'effetto di scrivere il //lead-out// della traccia, altrimenti opzionale. Neanche il comando di formattazione visto sopra funziona, bisogna ripetere l'operazione di scrittura con ''growisofs -Z''. Il tentativo di formattazione genera il seguente messaggio di errore: # dvd+rw-format -force -blank=full /dev/cdrom * DVD±RW/-RAM format utility by , version 4.10. * 4.7GB DVD+RW media detected. - illegal command-line option for this media. - you have the option to re-run dvd+rw-format with: -lead-out to elicit lead-out relocation for better DVD-ROM compatibility, data is not affected; -force to enforce new format (not recommended) and wipe the data. ===== Masterizzare un DVD-Video ===== Si ricorda che il modo più comodo per copiare i file da un DVD-Video originale è utilizzare il programma ''**dvdbackup**'' (vedere la pagina [[.video:appunti#copia_o_rip_da_dvd|Appunti Elaborazione Video]]): dvdbackup -i /dev/dvd -o /PATH/TO/BACKUP/ -M Sebbene un DVD-Video sia leggibile come un normale DVD-ROM (''**mount -t iso9660 -o ro /dev/dvd /mnt**''), in realtà è qualcosa di diverso: anzitutto ha un filesystem UDF (quindi andrebbe montato con l'opzione ''**-t udf**'' che fa apparire i nomi dei file tutti in maiuscolo, come deve essere), inoltre i file sono scritti in un'ordine specifico. L'ordine è molto importante perché pochi lettori accedono al DVD come un DVD-ROM, ma calcolano un offset dalla fine del file VMGM ''**VIDEO_TS.IFO**''. Inoltre un DVD-Video può avere il sistema di **protezione CSS** e il **codice di regione**, in tal caso la lettura dei file può non essere possibile montando semplicemente il disco. Vedere gli appunti su ''dvdbackup'' di cui sopra. Quando si desidera masterizzare un DVD-Video si deve pertanto usare l'opzione ''**-dvd-video**'' di ''mkisofs'' (oppure fare in modo che ''growisofs'' passi questo parametro a ''mkisofs''). Se si masterizza un DVD come normale disco dati iso9660 (DVD-ROM) potrebbe comunque funzionare con alcuni lettori DVD-Video, ma certe utility come ''lsdvd'' potrebbero non riconoscerlo come disco Video. Un esempio di masterizzazione con **mkisofs** (crea l'immagine .iso dai file contenuti in una directory) e **growisofs** (effettua la masterizzazione): mkisofs -dvd-video -V DVD_TITLE -o ISONAME.iso /PATH/TO/BACKUP/ growisofs -dvd-compat -Z /dev/dvd=ISONAME.iso Al posto di growisofs si dovrebbe poter usare **dvdrecord**: dvdrecord speed=1 -dao dev=0,0,0 ISONAME.iso ===== Emulazione IDE-SCSI ===== ==== kernel 2.4.x ==== Ricompilato il kernel con il supporto ''**CONFIG_BLK_DEV_IDESCSI=m**'', questo emula un device SCSI su uno IDE, utile per masterizzatori, lettori CD-ROM e simili. Infatti i vari programmi di masterizzazione e simili (soprattutto ''**cdrecord**'') si aspettano un'interfaccia SCSI, non IDE. Per evitare che il supporto IDE (integrato nel kernel) prenda possesso del device IDE hdc prima che il modulo ''ide-scsi'' venga caricato, si mette in ''**/etc/lilo.conf**'' (o qualcosa di simile in ''**/boot/grub/menu.lst**'') la riga: append="hdc=ide-scsi" In ''/etc/modules'' si caricano tutti i moduli necessari: ''ide-scsi'', ''sr_mod'', l'evenutale supporto SCSI generic ''sg'', etc. Nel nostro caso alcuni sono integrati nel kernel, altri caricati al boot. Modificato il link ''**/dev/cdrom**'' da ''hdc'' a ''**scd0**''. ==== kernel 2.6.x ==== Il supporto all'emulazione ''ide-scsi'' nel kernel 2.6.x non ha funzionato molto bene e Linus Torvalds stesso ha espresso l'opinione che non fosse una cosa buona. Visto che ''**cdrecord**'' è stato aggiornato per poter utilizzare direttamente i masterizzatori IDE (quindi con la sintassi ''**dev=/dev/dvd**'' invece di ''**dev=0,0,0**''), conviene abbandonare definitivamente l'emulazione ''ide-scsi''. Controllare che il modulo non venga caricato, controllare che i link ''/dev/cdrom'' e ''/dev/dvd'' puntino alla periferica IDE, controllare le impostazioni predefinite di cdrecord in ''/etc/cdrecord/cdrecord''. Utilizzando l'emulazione ide-scsi la masterizzazione di un disco potrebbe fallire con questo messaggio (caso di un DVD-RW): # growisofs -Z /dev/scd0 -r -J /home/niccolo/honda/ Executing 'mkisofs -r -J /home/niccolo/honda/ | builtin_dd of=/dev/scd0 obs=32k seek=0' Using PART_000.PHP;1 for /part_list_block.php (part_list.php) /dev/scd0: "Current Write Speed" is 1.0x1385KBps. :-[ WRITE@LBA=0h failed with SK=4h/ASC=08h/ACQ=01h]: Input/output error :-( attempt to re-run with -dvd-compat -dvd-compat to engage DAO or apply full blanking procedure :-( write failed: Input/output error In proposito vedere l'articolo [[http://programming.linux.com/article.pl?sid=03/12/09/1341236&tid=91&tid=22|Linux 2.6 and the ide-scsi module]]. ===== Pacchetti Linux ===== Installati i pacchetti: mkisofs Crea file system ISO9660 cdrecord Scrive CD-ROM e CD-Audio dvdrtools non-free, dvdrecord è un fork di cdrecord Comandi utili: cdrecord -scanbus Mostra device compatibili cdrecord dev=/dev/dvd -atip Caratteristiche drive e supporto Il pacchetto ''dvdplusrw'' di Debian Woody è troppo vecchio e non supporta i DVD-RW (solo i DVD+RW). Si e' presa la nuova versione del programma, compilata e installata: cd /usr/local/src/ mkdir dvd+rw-tools wget http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-5.10.4.5.4.tar.gz tar zxvf dvd+rw-tools-5.10.4.5.4.tar.gz cd dvd+rw-tools-5.10.4.5.4 make make install ... (chown e chmod quanto basta) Vengono installati in ''/usr/local/bin/'' gli eseguibili: dvd+rw-booktype dvd+rw-format Prepara o cambia modalita' supporto DVD dvd+rw-mediainfo Mostra info sul supporto DVD growisofs Frontend a mkisofs e scrive su DVD Nessun problema invece con il pacchetto Debian Sarge.