Como grabar DVDs en Linux desde la linea de comandos.

Una de mis primeras preocupaciones al instalar Linux fue si se podria grabar DVDs sin problemas, si la grabadora de DVDs seria compatible, si el soft seria facil de usar, etc.

Por suerte enseguida descubri que grabar DVDs en Linux es muy simple, inclusive es muy practico porque con un solo comando hago lo mismo que antes me llevaba varios clicks. La verdad es que antes tardaba por lo menos 1 minuto antes de grabar, chequeando todas la opciones de la interfaz grafica de la aplicacion de grabacion. Ahora lo hago en segundos.

Otra de las ventajas de grabar desde la linea de comandos es que no necesito estar fisicamente en la computradora donde voy a grabar. Me puedo conectar en forma remota a traves de ssh desde otra computadora (de hecho, es lo que generalmente hago ).

Bueno, sin mas preambulo aqui van los comandos:

El comando “dvd+rw-mediainfo” nos devuelve informacion sobre el DVD que se encuentra puesto en la unidad grabadora de DVDs.

# dvd+rw-mediainfo /dev/hdc

INQUIRY: [SONY ][DVD RW DW-D22A ][BYS2]
GET [CURRENT] CONFIGURATION:
Mounted Media: 11h, DVD-R Sequential
Media ID: MCC 02RG20
Current Write Speed: 8.0×1385=11080KB/s
Write Speed #0: 8.0×1385=11080KB/s
Write Speed #1: 6.0×1385=8310KB/s
Write Speed #2: 4.0×1385=5540KB/s
GET [CURRENT] PERFORMANCE:
Write Performance: 3.2×1385=4432KB/s@0 -> 7.9×1385=10984KB/s@2263263
Speed Descriptor#0: 00/2263263 R@7.9×1385=10984KB/s W@8.0×1385=11080KB/s
Speed Descriptor#1: 00/2263263 R@7.9×1385=10984KB/s W@6.0×1385=8310KB/s
Speed Descriptor#2: 00/2263263 R@7.9×1385=10984KB/s W@4.0×1385=5540KB/s
READ DVD STRUCTURE[#10h]:
Media Book Type: 25h, DVD-R book [revision 5]
Legacy lead-out at: 2298496*2KB=4707319808
READ DVD STRUCTURE[#0h]:
Media Book Type: 25h, DVD-R book [revision 5]
Last border-out at: 2263264*2KB=4635164672
READ DISC INFORMATION:
Disc status: complete
Number of Sessions: 1
State of Last Session: complete
Number of Tracks: 1
READ TRACK INFORMATION[#1]:
Track State: complete incremental
Track Start Address: 0*2KB
Free Blocks: 0*2KB
Track Size: 2263264*2KB
Last Recorded Address: 2263263*2KB
FABRICATED TOC:
Track#1 : 14@0
Track#AA : 14@2263264
Multi-session Info: #1@0
READ CAPACITY: 2263264*2048=4635164672

En la salida puede verse que se trata de un disco DVD-R de 8x (en este caso ya grabado) y que la grabadora es SONY DVD RW DW-D22A [BYS2]

Por ahora no estoy usando DVDs dual layer, solo los DVDs comunes. Los DVDs comunes, tienen una capacidad de 4.5 GB ( 4 gigas y medio ), o lo que es equivalente a mas o menos 6 CDs.

Para preparar los datos para grabar, simplemente hay que ponerlos en algun directorio, y verificar que el espacio que ocupa el directorio a grabar no supere los 4.5 Gb (en el caso de los DVDs comunes).

Antes de grabar, reviso que el directorio con los datos, contenga un tamaño de aproximandamente 4.5 gigas. Para eso uso el siguiente comando:

du  directoriograbar  --max-depth=1 -m

que muestra el tamaño en mega bytes del directorio a grabar. El tamaño no debe superar los 4500 Mb ( lo que equivale a 4.5 Gb ).

Por ejemplo:

# du f195 —max-depth=1 -m
703 f195/K[2006]DvDrip[Eng]-aXXo
702 f195/Abom[2006]DvDrip[Eng]-aXXo
1405 f195

En esta salida puede verse que el contenido del directorio f195 contiene 1405 Mb ( o 1.4 Gb ) lo cual es muy poco para grabar (hay que tratar de rellenar 4.3 Gb por lo menos ). Y aqui es interesante mencionar que los DVD-R (menos R) solo pueden grabarse en una sola sesion (es decir, una sola vez sin posibilidad de continuar grabando por mas que quede espacio ). En cambio, en los DVD+R (mas R) es posible grabar varias sesiones hasta completar todo el espacio. Y en los DVD-RW es posible grabar y luego borrar.

Bueno, una vez que tenemos preparado nuestro directorio con mas o menos 4.5 Gb de espacio ocupado, escribimos el siguiente comando para grabar:

# nice —10 growisofs -dry-run -dvd-compat -speed=2 -Z /dev/hdc -R -J ./dvdfilms134/

Executing ‘mkisofs -R -J ./dvdfilms134/ …
… | builtin_dd of=/dev/hdc obs=32k seek=0′
INFO: UTF-8 character encoding detected by locale settings.
Assuming UTF-8 encoded filenames on source filesystem,
use -input-charset to override.

Desmenucemos la linea completa del comando paso a paso:

escribiendo nice –10 (nice “menos menos” 10 ) le decimos al sistema que ejecute el siguiente comando con prioridad -10, para que no haya problemas de perdida de buffer, etc.

El comando “growisofs” es el programa que se encarga de la grabacion.

La opcion -dry-run le dice a “growisofs” que estamos en modo simulacion, y que no grabe realmente. Esta opcion sirve por ejemplo para chequear que el tamaño de lo que vamos a grabar quepa en el DVD. Con la opcion -dry-run la simulacion no es completa, solo se realizan chequeos, por lo que el prompt vuelve casi en forma casi instantanea.

La opcion -dvd-compat le dice a growisofs que cierre la sesion luego de grabar, y produce un DVD “mas compatible”, que puede ser leido por algunos lectores de DVD antiguos que requieren que la sesion este cerrada. Tecnicamente escribe el lead-out.

La opcion -speed=2 se explica por si misma.

-Z /dev/hdc le dice a growisofs que dispositivo fisico queremos usar. En la mayoria de los casos el dispositivo de grabacion es /dev/hdc Para recordar: /dev/hda es el dispositivo master en el cable 1 /dev/hdb es el dispositivo slave en el cable 1 /dev/hdc es el dispositivo master en el cable 2 /dev/hdd es el dispositivo slave en el cable 2

La opcion -R -J produce un DVD ISO9660, con extensiones Joliet y Rock-Ridge (o sea, compatible con Windows y tambien con MAC )

y ./dvdfilms134/ en el ejemplo, es el directorio con los datos a grabar.

Luego, para indicar que queremos grabar en modo real, es decir sin hacer la simulacion, volvemos a escribir el mismo comando, pero eliminando la opcion -dry-run

# nice —10 growisofs -dvd-compat -speed=2 -Z /dev/hdc -R -J ./dvdfilms134/

INFO: UTF-8 character encoding detected by locale settings.
Assuming UTF-8 encoded filenames on source filesystem,
use -input-charset to override.
/dev/hdc: “Current Write Speed” is 4.1x1385KBps.
0.23% done, estimate finish Fri Jul 28 20:11:16 2006
0.46% done, estimate finish Fri Jul 28 18:19:11 2006
0.69% done, estimate finish Fri Jul 28 17:41:56 2006
0.92% done, estimate finish Fri Jul 28 17:21:26 2006
1.15% done, estimate finish Fri Jul 28 17:10:37 2006
1.38% done, estimate finish Fri Jul 28 17:03:22 2006
1.61% done, estimate finish Fri Jul 28 16:58:13 2006

… ( salida recortada )

99.84% done, estimate finish Fri Jul 28 16:26:26 2006
Total translation table size: 0
Total rockridge attributes bytes: 2020
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 26000
2168370 extents written (4235 MB)
builtin_dd: 2168384*2KB out @ average 3.9x1385KBps
/dev/hdc: flushing cache
/dev/hdc: updating RMA
/dev/hdc: closing disc
/dev/hdc: reloading tray

La salida se va actualizando con los porcentajes grabados, hasta que finaliza. El proceso dura entre 10 y 20 minutos, segun la velocidad de grabacion.

Finalmente montamos el DVD con el comando

$ mount /media/cdrom0

Probamos que los datos se hayan grabado correctamente, demontamos con

$ umount /media/cdrom0

Y finalmente expulsamos la bandejita con el DVD: (si, hay un comando hasta para eso … )

$ eject /dev/hdc

Eso es todo. Saludos.

************************** Si tienes alguna duda, sugerencia, o simplemente quieres agradecer, por favor escribe un comentario de este articulo. Copyright: http://snarvaez.poweredbygnulinux.com Sebastián Emilio Narváez este documento ha sido publicado bajo la siguiente licencia: “Verbatim copying and distribution of this entire article are permitted in any medium provided this notice is preserved.”