[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

19. Renderizar archivos

Rendering takes a section of the timeline, performs all the editing, effects and compositing, and stores it in a pure movie file. You can then delete all the source assets, play the rendered file in a movie player, or bring it back into Cinelerra for more editing. It is very difficult to retouch any editing decisions in the pure movie file, however, so keep the original assets and XML file around several days after you render it.

All rendering operations are based on a region of the timeline to be rendered. You need to define this region on the timeline. The navigation section describes methods of defining regions. See section La barra de tiempos. The rendering functions define the region based on a set of rules. When a region is highlighted or in/out points are set, the affected region is rendered. When no region is highlighted, everything after the insertion point is rendered. Merely by positioning the insertion point at the beginning of a track and unsetting all in/out points, the entire track is rendered.


19.1 Renderizar a único archivo

El modo más rápido de producir un contenido audiovisual en el disco es la función de renderizado a un único archivo.

Vaya a Fichero->Renderizar o pulse MAY-R para abrir el diálogo de renderizado. Pulse en la lupa manual_images_intl/magnify para abrir un archivo de selección de diálogo. Aquí puede determinar el nombre del archivo en el que almacenar el archivo renderizado y los parámetros de codificación.

manual_images_intl/render_window

La ventana de renderizado.

En el diálogo de renderizado escoja un formato del menú Formato de fichero. El formato escogido determina si se puede renderizar audio, sonido o ambos. Escoja los botones Renderizar pistas de vídeo y Renderizar pistas de audio para generar pistas de audio o vídeo.

La llave inglesa manual_images_intl/wrench junto a cada uno de estos botones permite ajustar los parámetros de compresión que se van a usar al codificar el archivo final. Si el formato de fichero escogido no permite almacenar audio o vídeo no se podrá ajustar ningún parámetro de compresión para ese caso. Si las opciones Renderizar pistas de vídeo o Renderizar pistas de audio están seleccionadas y el formato de archivo no lo permite, se producirá un error al intentar renderizar.


19.2 Renderizar a archivos separados

La opción Crear un fichero nuevo en cada etiqueta crea varios ficheros diferentes, uno nuevo cada vez que aparece una etiqueta al avanzar por la línea de tiempos. Es una manera útil de dividir largas grabaciones de audio en varios archivos separados, por ejemplo. Al usar la granja de renderizado la opción Crear un fichero nuevo en cada etiqueta crea un trabajo de renderizado en cada etiqueta, sustituyendo así al algoritmo interno de balance de carga que se suele usar para repartir el trabajo entre las máquinas que componen la granja.

Cuando se selecciona Crear un fichero nuevo en cada etiqueta cada fichero de salida debe tener un nombre diferente, como es lógico. Si el nombre proporcionado en el diálogo de renderizado contiene un número de 2 dígitos, este número de 2 dígitos se sobreescribirá con un número diferente, incrementado de uno en uno, para cada fichero resultante. Si no hay ningún número de 2 dígitos, Cinelerra concatena automáticamente un número diferente para cada fichero a continuación del nombre proporcionado.

Por ejemplo, si se proporciona el nombre de archivo `/hmov/track01.wav', la parte `01' se sobreescribiría para cada fichero de salida. Sin embargo, si se proporciona el nombre de archivo `/hmov/track.wav', la primera salida sería `/hmov/track.wav01', y las demás irían incrementando dicho número.

Este comportamiento sólo ocurre cuando el modo granja de renderizado está activo o la opción de crear nuevos ficheros en cada etiqueta está activa.


19.3 Estrategia de inserción de los archivos renderizados

Lo último que el diálogo de renderizado permite escoger es un modo de inserción. Los modos de inserción funcionan igual que al cargar ficheros. En este caso al seleccionar No insertar nada el fichero generado tras renderizar se copiará en el disco duro del sistema, sin modificar para nada el proyecto abierto de Cinelerra. El resto de estrategias de inserción, en cambio, modifican la línea de tiempos del proyecto abierto, así que si se van a usar otras estrategias conviene asegurarse de que la línea de tiempos esté preparada para la inserción del archivo generado. El archivo generado se inserta al acabar la operación de renderizado.

Obsérvese que, aunque sólo se renderice audio o vídeo, una estrategia de inserción Pegar... siempre se comportará como una operación normal de pegado, borrando la región seleccionada de la línea de tiempos y pegando únicamente los datos renderizados. Si sólo renderiza audio pero hay pistas de vídeo armadas, las pistas de vídeo resultarán truncadas al igual que las de audio, pero sólo se pegará material renderizado en las pistas de audio.


19.4 Renderizar por lotes

Si se desea renderizar muchos proyectos a archivos audiovisuales sin tener que recurrir repetidamente al diálogo Renderizar..., la función Fichero->Renderizado por lotes es la función a usar. A esta función hay que especificarle una o varias LDE para renderizar y los ficheros de salida para cada una de ellas. Cinelerra, de manera automática, carga cada LDE y la renderiza sin necesidad de intervención del usuario. Cada fichero LDE y su salida tras renderizar son un lote. Esto permite procesar grandes cantidades de contenidos audiovisuales y aumenta enormemente el valor de un computador caro. Por ejemplo, procesando por lotes durante la noche los proyectos en los que se ha trabajado durante el día se puede aumentar mucho la utilización del sistema y el tiempo útil del usuario.

La primera cosa que hay que hacer al prepararse para hacer renderizado por lotes es definir los proyectos que se van a renderizar. El renderizado por lotes requiere un fichero LDE separado para cada archivo y lote que se va a renderizar. Para cada proyecto hay que definir la región que se va a renderizar seleccionándola, insertando puntos de entrada y salida o posicionando el punto de inserción al inicio de dicha región. A continuación se debe guardar el proyecto como una LDE. De esta manera se pueden definir tantos proyectos como se necesite. El renderizador sólo trabaja con la región activa del fichero LDE.

Cuando todos los proyectos que se desea renderizar están así preparados, se puede lanzar el renderizado desde el menú Fichero->Renderizado por lotes. Se abre el diálogo para el renderizado por lotes. La interfaz para el renderizado por lotes es algo más compleja que para el renderizado en un único fichero.

Se debe definir una lista de lotes antes de empezar la operación de renderizado por lotes. La tabla de lotes aparece al pie del diálogo de renderizado por lotes y se llama Lotes a renderizar. Por encima de esta lista se encuentran los parámetros de configuración para un lote concreto.

Ajuste los parámetros de Ruta de salida, Formato de fichero, Audio, Vídeo y Crear un fichero nuevo en cada etiqueta como si se tratara de un único fichero. Estos parámetros sólo se aplican a un lote. Además de estos parámetros típicos del renderizado debe seleccionar la fuente LDE para usar en el lote. Esto se hace definiendo la Ruta de la LDE.

Si la lista de Lotes a renderizar está vacía o no hay nada seleccionado, pulse Nuevo para crear un lote. Los parámetros del nuevo lote coinciderán con los parámetros recién ajustados.

Se pueden crear más lotes con los mismos parámetros: para ello basta con pulsar tantas veces como se desee el botón Nuevo. Se puede modificar la configuración de cualquiera de los lotes así creados simplemente seleccionándolo en la lista y modificándolo en el área superior. El lote seleccionado siempre se mantiene sincronizado con la información mostrada encima.

Se pueden arrastrar los lotes en la lista, para alterar así el orden en que se renderizarán. Puede eliminar permanentemente el lote seleccionado pulsando Borrar.

En la lista de lotes hay una columna que habilita o deshabilita cada lote. De esta forma es posible saltarse algunos lotes durante el renderizado, sin necesidad de borrarlos o modificarlos. Pulse en la columna Permitido de la lista para habilitar o deshabilitar un lote. Si está chequeado, el lote se renderizará. Si está en blanco, el proceso de renderizado omitirá dicho lote y saltará al siguiente.

Las otras columnas de la lista de lotes son informativas.

Para empezar a renderizar desde el primer lote habilitado, pulse Empezar.

Una vez comenzado el proceso de renderizado la ventana principal muestra el progreso de cada lote. Al acabar el lote, la columna Transcurrido de la lista de lotes se actualiza y comienza el renderizado del siguiente lote, hasta acabar todos los lotes habilitados. El lote que está siendo renderizado se muestra en color rojo.

Para detener el renderizado antes de acabar todos los lotes, sin cerrar el diálogo de renderizado por lotes pulse Parar.

Para detener el renderizado antes de acabar todos los lotes y cerrar el diálogo de renderizado por lotes pulse Cerrar.

Para salir del diálogo de renderizado por lotes, independientemente de que el proceso de renderizado esté en marcha o no, pulse Cerrar.


19.5 Granja de renderizado

La primera vez que se implementaron la interpolación bicúbica y el HDTV en Cinelerra resultó que el tiempo necesario para producir los resultados más sencillos era intolerablemente largo, incluso en el Xeon dual a 1.7 GHz más rápido de aquel momento. El uso de una granja de renderizado, aunque sea de la forma más sencilla, posibilita HDTV y consigue ejecutar SD en tiempo real.

Aunque la interfaz de la granja de renderizado no sea espectacular, es lo suficientemente sencilla de usar para una suite de edición con menos de una docena de nodos. Con granjas de varios cientos de nodos resulta aparotosa. La granja de renderizado se invoca de manera transparente para todas las operaciones de renderizado (Fichero->Renderizado) cuando está activada en las preferencias del programa.

Cinelerra divide la región seleccionada en la línea de tiempos en cierto número de tareas, que luego se reparten entre los diferentes nodos en función del cálculo de balance de cargas que hace el programa. Los nodos procesan los trabajos y almacenan la salida en diferentes ficheros del sistema. Los ficheros de salida no se concatenan. Es importante que todos los nodos tengan acceso al mismo sistema de archivos, montado en el mismo punto, para obtener los mismos recursos originales.

Si un nodo no puede acceder a un recurso de los que componen el proyecto mostrará un mensaje de error en su consola, pero probablemente no morirá (no abortará el proceso). Si lo que no puede acceder es un directorio o recurso a la salida, entonces probablemente el proceso de renderizado abortará.

Obsérvese que en el diálogo de renderizado la opción Crear un fichero nuevo en cada etiqueta evita la aplicación del algoritmo de balance de cargas de Cinelerra. En su lugar, se crea una tarea nueva en cada etiqueta, con lo que se presupone que el usuario ha repartido las cargas como prefiere. Si esta opción está seleccionada pero no existen etiquetas, entonces sólo se creará una única tarea de renderizado.

Las máquinas que componen una granja de renderizado en Cinelerra se organizan en un nodo maestro y el resto de computadores como esclavos. El nodo maestro es el computador en el que se está ejecutando la interfaz gráfica de usuario. Los nodos esclavos están en cualquier lugar de la red y se ejecutan desde la línea de comandos. Se puede ejecutar un nodo esclavo desde línea de comandos con cinelerra -d.

Ésta es la configuración más simple. Escribiendo cinelerra -h tendrá acceso a más opciones. El número de puerto por defecto se puede sobreescribir añadiendo un número de puerto tras la opción `-d'. Por ejemplo, un nodo esclavo en el puerto 3658 se arrancaría así: cinelerra -d 3658

Lo más frecuente es querer observar la salida renderizada y ajustar los tiempos usando la línea de tiempos. Por otra parte, algunos formatos como MPEG no se pueden copiar directamente. Por todo esto el resultado de la renderización se deja como ficheros individuales.

Se pueden cargar estos ficheros individuales en Cinelerra de la siguiente manera: cree una pista nueva y especifique Concatenar con las pistas existentes en el diálogo de carga. Los ficheros que soportan copia directa se pueden concatenar en un único archivo, renderizándolos al mismo formato y con la granja de servidores deshabilitada. Además, para conseguir una copia directa las dimensiones de las pistas, las dimensiones de salida y las dimensiones de los recursos tienen que ser iguales.

Los ficheros MPEG u otros ficheros que no soportan copia directa tienen que ser concatenados con alguna otra aplicación. Se puede concatener ficheros MPEG con la herramienta cat desde línea de comandos.

La configuración de la granja de renderizado se describe en el capítulo de configuración, Los nodos esclavos, tradicionalmente, leen y escriben datos a un sistema de ficheros común en la red, y por lo tanto no necesitan discos duros.

Lo ideal sería que todos los nodos que componen la granja tuvieran similar rendimiento. Cinelerra reparte las cargas según va encontrando los nodos. Si el último segmento se encarga al nodo más lento, puede ocurrir que todos los demás nodos, más rápidos, tengan que esperar a que acabe el nodo más lento, incluso aunque ellos hubieran podido acabar el trabajo más rápido.


19.6 Renderizar desde línea de comandos

Se puede cargar un conjunto de trabajos pendientes de ser renderizados por lotes, usando para ello la línea de comandos. Es decir, sin usar la interfaz gráfica. Esto es útil si se prevé la posibilidad de que el sistema de ventanas X vaya a tener problemas por alguna razón. También puede ser útil si se tiene acceso a un supercomputador remoto: por ejemplo, alguien podría tener acceso a un computador en la India pero vivir en América. Una interfaz de línea de comandos es ideal en este caso.

Para realizar el renderizado desde la línea de comandos, primero hay que ejecutar Cinelerra en modo gráfico. Seleccione el menú Fichero->Renderizado por lotes. Cree los lotes que pretenda renderizar en la ventana de renderizado por lotes y cierre dicha ventana. Esto guarda los lotes en un fichero. Ajuste los atributos convenientes en Preferencias->Preferencias... y cierre el programa Cinelerra. Los ajustes que acaba de hacer son los que se emplearán la próxima vez que se use un renderizado desde línea de comandos.

En la línea de comandos, ejectue: cinelerra -r para procesar los trabajos por lotes pendientes sin interfaz gráfica de usuario. Es difícil ajustar todos los parámetros para realizar esta operación. Por eso el renderizado desde línea de comandos aborta si alguno de los ficheros de salida ya existe.

Existen otros parámetros que permiten especificar archivos alternativos para las preferencias y los lotes. Intentar usar algo diferente a los valores por defecto requiere mucho esfuerzo y dedicación, así que hasta la fecha no ha sido probado.


19.7 Renderizar vídeos para Internet

Si desea codificar un vídeo para ponerlo en Internet, le recomendamos renderizarlo en el formato Quicktime4linux y a continuación codificar dicho fichero a los formatos MPEG4 o FLV. El fichero en formato Quicktime4linux renderizado desde Cinelerra debe tener las siguientes propiedades:


19.7.1 Codificar un vídeo en formato MPEG4 para Internet

Se consigue la mejor calidad codificando el fichero Quicktime4linux con mencoder en dos pasos:

Primer paso:

mencoder input.mov -ovc xvid -xvidencopts bitrate=600:pass=1 \
-vf scale=320:240 -oac mp3lame -lameopts abr:br=64 -o output.avi

Segundo paso:

mencoder input.mov -ovc xvid -xvidencopts bitrate=600:pass=2 \
-vf scale=320:240 -oac mp3lame -lameopts abr:br=64 -o output.avi

No olvide cambiar el tamaño de salida del vídeo, con la opción `-vf scale='.

Veamos algunas otras líneas de comandos. Proporcionan ficheros de vídeo cuyo peso está en torno a 13 Mb para 3 minutos.
Primer paso:

mencoder -oac pcm -sws 2 -vf scale=${width}:${height},hqdn3d=2:1:2 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=${video_bitrate}:vlelim=-4:\
vcelim=7:lumi_mask=0.05:dark_mask=0.01:scplx_mask=0.3:naq:v4mv:mbd=2:\
trell:cmp=3:subcmp=3:mbcmp=3:aspect=4/3:sc_threshold=1000000000:\
vmax_b_frames=2:vb_strategy=1:dia=3:predia=3:cbp:mv0:preme=2:\
last_pred=3:vpass=1:cgop -ofps 25 -of avi movie.mov -o /dev/null\
-ffourcc DIVX

Segundo paso:

mencoder -srate 32000 -oac mp3lame -lameopts cbr:br=${audio_bitrate}:\
aq=0 -sws 2 -vf scale=${width}:${height},hqdn3d=2:1:2 -ovc lavc\
-lavcopts vcodec=mpeg4:vbitrate=${video_bitrate}:vlelim=-4:vcelim=7:\
lumi_mask=0.05:dark_mask=0.01:scplx_mask=0.3:naq:v4mv:mbd=2:trell:\
cmp=3:subcmp=3:mbcmp=3:aspect=4/3:sc_threshold=1000000000:\
vmax_b_frames=2:dia=3:predia=3:cbp:mv0:preme=2:last_pred=3:vpass=3:\
cgop -ofps 25 -of avi movie.mov -o movie.avi -ffourcc DIVX

En los casos en que el material tiene mucho ruido es posible y conveniente adaptar las líneas anteriores; no dude en echar un vistazo a los filtros de preprocesamiento de mencoder. Los parámetros *_mascara son realmente muy importantes al codificar a bajas tasas de bits.

Si desea que su fichero de vídeo se pueda reproducir adecuadamente en un reproductor muy famoso que sólo funciona en Windows, debería tener en cuenta que:


19.7.2 Codificar un vídeo en formato FLV para Internet

Los ficheros FLV (Vídeo FLash) pesan muy poco y lo único que se necesita para reproducirlos es un navegador web con el plugin de Flash, versiones 7 o superiores. Este formato es muy útil para compartir un vídeo con todo el público de Internet.

Primer paso:

ffmpeg -i movie.mov -b 430 -s 320x240 -aspect 4:3 -pass 1 -ar 22050 movie.flv

Segundo paso:

ffmpeg -i movie.mov -b 430 -s 320x240 -aspect 4:3 -pass 2 -ar 22050 movie.flv

Preste atención a la extensión del fichero de salida. La aplicación ffmpeg la usa para determinar el formato de salida. La frecuencia de muestreo que hay que usar es 22050 y el parámetro `-ar' es necesario para que el vídeo sea codificado adecuadamente. La aplicación ffmpeg no escribe metadatos en el fichero flv. Para que algunos reproductores Flash puedan mostrar el avance durante la reproducción es necesario incluir los metadatos de información en el fichero. Para ello se puede usar la herramienta FLVTool2 (http://www.inlet-media.de/flvtool2):

cat input_file.flv | flvtool2 -U stdin output_file.flv

19.8 Lista de compatibilidades de Quicktime para GNU/Linux

Scott Frase escribió una lista de compatibilidades de Quicktime para GNU/Linux. Contiene un listado exhaustivo de todos los esquemas de compresión disponibles en Quicktime y su compatibilidad con Cinelerra, Mplayer y algunos otros reproductores. Este documento tiene dos secciones, una supone un proyecto en formato de alta resolución HDV y la otra supone un proyecto en formato DV.

Está disponible en inglés en la siguiente dirección:
http://content.serveftp.net/video/qtcompatibility.ods

Algunas observaciones interesantes:


19.9 Hacer un DVD


19.9.1 Renderizar a mpeg2

A continuación se presenta un método para exportar vídeo mpeg2 y hacer un DVD de un solo capítulo. Este método permite determinar con precisión la opción de codificación que se desea, produciendo un fichero mpeg2 compatible al 100% con todos los reproductores domésticos de DVD.

Debe estar instalado el programa mplex de mjpegtools. El paquete mjpegtools forma parte de la distribución hvirtual y la utilidad mplex se puede extraer de ahí.

En primer lugar, asegúrese de haber definido correctamente el formato de su proyecto en Cinelerra, antes de renderizar el vídeo. Puede comprobarlo en el menú Preferencias->Formato. PAL es 720x576 a 25 fotogramas por segundo y NTSC es 720x480 a 29.97 fotogramas por segundo.

  1. Cree un script `~/cine_render.sh'
  2. Copie en `~/cine_render.sh file' las siguientes líneas:
    #/bin/bash
    mpeg2enc -v 0 -K tmpgenc -r 16 -4 1 -2 1 -D 10 -E 10 -g 15 -G 15 -q 6 -b 8600 -f 8 -o $1
  3. Conceda permisos de ejecución a dicho fichero: chmod 777 ~/cine_render.sh
  4. Abra Cinelerra y seleccione el fragmento de vídeo que desea renderizar, usando para ello los puntos de entrada y salida, [ y ]
  5. Pulse May-R
  6. Seleccione el formato YUV4MPEG Stream
  7. No seleccione Renderizar pistas de audio, pero sí Renderizar pistas de vídeo
  8. Pulse sobre el icono de la llave inglesa.
  9. En la ventana que se abrirá, indique el nombre del fichero `m2v' que desea crear. Ese fichero sólo contendrá vídeo.
  10. Pulse en Use pipe (usar tubería) y escriba este comando: /home/<your_user>/cine_render.sh %
  11. Pulse OK para cerrar la segunda ventana, y OK de nuevo para renderizar su fichero `m2v'
  12. Cuando esté renderizado el fichero m2v abra de nuevo la ventana de renderizado y renderice un fichero AC3 a 224 kbits.
  13. Finalmente, combine el vídeo y el audio con este comando:
    mplex -f 8 your_video_file.m2v your_audio_file.ac3 -o video_audio_file.mpeg
    Si al usar mplex se producen errores, aumente la opción del cuantizador (quantizer), `-q', ver más adelante.

Puede modificar los parámetros de mpeg2enc si lo desea. Consulte el manual de mpeg2enc. Algunos detalles sobre la configuración del mismo que pueden resultarle interesantes son los siguientes:

Si su material es ruidoso (por ejemplo, material analógico Hi8), puede añadir algunas utilidades del paquete mjpegtools a los comandos escritos en `~/cine_render.sh':


19.9.2 Hacer el menú de un DVD

El menú de un DVD se compone de:

Puede usar un programa que le proporcione una interfaz gráfica de usuario, como qdvdauthor, dvdstyler, dvdwizard o tovid. Sin embargo, estos programas no son aún perfectos. Algunos incluso tienen fallos o limitan sus opciones.

Si usted prefiere usar una interfaz gráfica, le recomendamos tovid:
http://tovid.wikia.com/wiki/Main_Page
QDVDAuthor contenía muchos errores hace algún tiempo, pero parece ser que su autor ha arreglado varios de ellos, lo que hace de QDVDAuthor un programa más usable.

El método que explicamos a continuación es más complicado que usar un interfaz gráfica, pero a cambio::

Estos son los pasos necesarios para crear un menú para su DVD:

Supondremos que desea crear un menú con un fondo animado. Para ello, arranque Cinelerra y cree un proyecto que contenga lo que desee como fondo de su menú. Puede añadir música, si lo desea. Preste atención que este fondo se va a repetir en un bucle: es decir, cuando llegue al final volverá a empezar a reproducirse desde el principio, una y otra vez.

Para dibujar los botones, tiene dos posibilidades:

Renderice el vídeo a m2v y ac3 usando el método cine_render.sh explicado anteriormente. Combine el audio y el vídeo mediante mplex, como haría con cualquier vídeo "normal".

Obtendrá un fichero mpeg2 que contendrá el fondo del menú, y algunos botones que se mostrarán encima si los ha añadido con Cinelerra.

Tenemos que usar spumux para definir la posición de cada botón en ese fichero mpeg2. Si non dibujó los botones en Cinelerra, podrá añadirlos ahora usando spumux.

spumux es una utilidad de línea de comandos que acepta dos argumentos:

Éste es un ejemplo de un fichero spumux:

<subpictures>
 <stream>
  <spu start="00:00:00.0" image="buttons_normal.png" highlight=
  "buttons_highlight.png" select="buttons_select.png">
   <button name="1" x0="94 " y0="234 " x1="253 " y1="278"
   down="2" right="4" />
   <button name="2" x0="63 " y0="287 " x1="379 " y1="331" up="1"
   down="3" right="5" />
  </spu>
 </stream>
</subpictures>

Si ya ha hecho los botones en Cinelerra, aquí debe incluir únicamente imágenes png vacías (es decir, completamente transparentes, 100% transparencia en todos sus píxeles).

Las imágenes png usadas en spumux deben:

En el ejemplo anterior de XML se incluye una línea por cada botón. Siempre debe haber una línea por cada botón. Cada línea contiene las coordenadas del botón, y cada botón siempre tendrá forma rectangular:

Además, tiene que indicar a qué botón se realizará el movimiento cuando el espectador pulse los botones de arriba, abajo, derecha o izquierda en su mando a distancia. Por ejemplo:

<button name="3" ...coordinates... up="1" down="5" left="2" right="4" />

En este ejemplo, si el botón 3 está seleccionado y el espectador pulsa la tecla Arriba ("Up") de su mando, entonces se iluminará el botón 1. Si con el mismo botón 3 seleccionado la tecla que pulsa en el mando a distancia es la de la derecha ("Right"), entonces se iluminará el botón 4.

Cuando haya acabado de editar su fichero XML para spumux debe usar el siguiente comando:
spumux menu.xml < menu.mpeg > menu_with_buttons.mpeg
Esto creará un fichero llamado `menu_with_buttons.mpeg'. Es un fichero mpeg2 con botones.


19.9.3 Crear un DVD

Tras renderizar a mpeg2 sus ficheros de vídeo, y haber preparado un menú con spumux, tiene que usar dvdauthor para "crear" el DVD.

dvdauthor usa ficheros XML para describir la estructura de un DVD. La sintaxis es importante, y hay que prestar mucha atención a la sintaxis del fichero .xml. Si no es suficientemente rigurosa puede ocurrir que muchos reproductores (sobre todo los domésticos o portátiles) no lean bien el DVD.

Para ayudarle a empezar a usar dvdauthor le mostraremos algunos ejemplos de ficheros XML.

<dvdauthor dest="/ruta/a/la/carpeta/que/contendra/el/dvd">
    <vmgm />
    <titleset>
        <titles>
            <pgc>
                <vob file="/the/mpeg/file.mpeg" />
		<post>
                    jump chapter 1;
                </post>
            </pgc>
        </titles>
    </titleset>
</dvdauthor>

Este es un fichero XML muy sencillo para dvdauthor. No hay menús, así que la reproducción del fichero de vídeo `/the/mpeg/file.mpeg' empezará tan pronto como inserte el DVD en el reproductor.

El comando en la etiqueta <post> indica que el vídeo debe reproducirse en bucle. Cuando el reproductor de DVD alcance el final de la película, volverá al primer fotograma del inicio y empezará de nuevo.

Para crear el DVD, basta con escribir lo siguiente en línea de comandos:
dvdauthor -x simple_example.xml

Pasemos a un ejemplo un poco más sofisticado. Al insertar el DVD se mostrará un menú que permitirá al espectador escoger entre 4 vídeo diferentes.

<dvdauthor dest="/ruta/a/la/carpeta/que/contendra/el/dvd" jumppad="yes" >
<vmgm>
 <fpc> jump menu 1; </fpc>
  <menus>
   <video format="pal" aspect="4:3" resolution="720x576" />
   <pgc entry="title" >
    <vob file="menu.mpeg" pause="0" />
    <button name="1" > { g3=1; jump titleset 1 menu entry root; } </button>
    <button name="2" > { g3=2; jump titleset 1 menu entry root; } </button>
    <button name="3" > { g3=3; jump titleset 1 menu entry root; } </button>
    <button name="4" > { g3=4; jump titleset 1 menu entry root; } </button>
     <post> { jump cell 1; } </post>
   </pgc>
  </menus>
 </vmgm>
 <titleset>
  <menus>
   <pgc entry="root" >
    <pre> { if ( g3 gt 0 )  {
		if ( g3 eq 1 ) { g3=0; jump title 1  chapter 1; }
		if ( g3 eq 2 ) { g3=0; jump title 1  chapter 3; }
		if ( g3 eq 3 ) { g3=0; jump title 1  chapter 5; }
		if ( g3 eq 4 ) { g3=0; jump title 1  chapter 7; }
		jump vmgm menu entry title;
		}
	} </pre>
    <post> { jump vmgm menu entry title; } </post>
   </pgc>
  </menus>
  <titles>
   <video format="pal" aspect="4:3" resolution="720x576" />
   <pgc pause="0" >
    <vob file="video_1.mpeg" pause="0" />
    <vob file="blackvideo.mpg" pause="0" />
    <vob file="video_2.mpeg" pause="0" />
    <vob file="blackvideo.mpg" pause="0" />
    <vob file="video_3.mpeg" pause="0" />
    <vob file="blackvideo.mpg" pause="0" />
    <vob file="video_4.mpeg" pause="0" />
    <post> { call vmgm menu entry title; } </post>
   </pgc>
  </titles>
 </titleset>
</dvdauthor>

El fichero `blackvideo.mpg' se usa para añadir una pantalla negra de 2 segundos entre cada vídeo. Se puede crear así:
convert -size 720x576 xc:black -depth 8 blackframe.ppm
dd if=/dev/zero bs=4 count=960000 | toolame -b 128 -s 48 /dev/stdin emptyaudio.mpa
ppmtoy4m -S 420mpeg2 -n 50 -F 25:1 -r blackframe.ppm | mpeg2enc -a 2 -n p -f 8 -o blackvideo.mpv
mplex -f 8 -o blackvideo.mpg blackvideo.mpv emptyaudio.mpa


19.9.4 Grabar un DVD

Tras crear el DVD, encontrará en la carpeta de destino los siguientes directorios: `AUDIO_TS' y `VIDEO_TS'. Para probar su DVD antes de grabarlo, desplácese a dicha carpeta usando la línea de comandos y escriba:
xine dvd:`pwd`

Si el DVD se reproduce adecuadamente haciendo esto, ha llegado el momento de grabarlo. Estando en la carpeta que contiene `AUDIO_TS' y `VIDEO_TS', escriba el siguiente comando (adecuando el directorio al de su dispositivo de grabación de DVD, por ejemplo /dev/dvdrw):
nice -n -20 growisofs -dvd-compat -speed=2 -Z /dev/dvd -dvd-video -V VIDEO ./ && eject /dev/dvd

Si tiene que hacer muchas copias, puede primero preparar una copia maestra .iso usando este comando:
nice -n -20 mkisofs -dvd-video -V VIDEO -o ../dvd.iso .
Este fichero `../dvd.iso' se puede grabar usando el siguiente comando:
nice -n -20 growisofs -dvd-compat -speed=2 -Z /dev/dvd=../dvd.iso && eject /dev/cdrom

Le recomendamos que no grabe a velocidades mayores de 4x, y que sólo use DVD-R de buena calidad.

Para probar su DVD en un reproductor específico (por ejemplo, uno doméstico o uno portátil) sin desperdiciar varios DVD en caso de que algo vaya mal, puede realizar la primera grabación sobre un DVD-RW. Para ello, primero formatee su DVD-RW usando este comando:
dvd+rw-format -lead-out /dev/dvd
Y a continuación grabe el DVD-RW usando los comandos anteriores.


19.10 Renderizar en segundo plano

El renderizado en segundo plano permite reproducir casi en tiempo real efectos que de otra manera serían tremendamente lentos de mostrar. Funciona renderizando constinuamente la salida temporal: en cuanto se modifica algo en la línea de tiempos o se añade un nuevo efecto comienza el proceso de renderizado en segundo plano, de manera que si al poco tiempo intentamos visualizar en el compositor la escena podamos ver la escena, tal y como se acaba de renderizar hasta el momento. De no disponer de esta posibilidad, al intentar visualizar en el compositor el trabajo que estamos montando se mostraría a trompicones o no se mostraría nada.

Si hay una granja de renderizado funcionando, el renderizado en segundo plano la usa de manera continua. De esta forma podemos mostrar en tiempo real cualquier proyecto, simplemente disponiendo de una granja con suficiente capacidad de procesamiento (suficiente número de nodos).

El renderizado en segundo plano se activa en el menú Preferencias->Preferencias->Mejoras. Tiene una función interactiva: Mejoras->Usar renderizado en background. Con ella se define el punto en que debe comenzar el renderizado en segundo plano, que será la posición del punto de entrada. Si existe vídeo en esa posición, aparecerá una barra roja en la línea de tiempos, indicando el metraje que ya ha sido renderizado en segundo plano.

A menudo es útil seleccionar Preferencias->Usar renderizado en background justo tras insertar un efecto o transición, para así poder visualizar enseguida el resultado a la tasa de fotogramas correcta y sin perder la sincronía entre el vídeo y el audio.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Raffa on octubre, 8 2007 using texi2html 1.76.