Herramientas de usuario

Herramientas del sitio


sistemas_de_produccion_audiovisual:taller_de_reparacion:cinelerra_-_cluster_de_video

Cinelerra - Granja de Renderizado de videos

Una de las mejores cosas que tiene Cinelerra es poder crear una granja de renderizado conectando los ordenadores en una red de Internet, con un ordenador como Master de Vídeo y varios ordenadores que le ayudan a relizar trabajos de renderizado con el vídeo, el Master de Vídeo es el encargado de repartir el trabajo a los PCs de la granja. Es algo similar a un cluster, pero solo para vídeo.

El concepto de funcionamiento es el siguiente:

Tenemos un ordenador SERVIDOR NFS y varios ordenadores CLIENTES.
En el SERVIDOR NFS están las carpetas del proyecto de vídeo.

  • /home/usuario/videos
  • /home/usuario/brender

Y en los ordenadores CLIENTES tambien tenemos esas mismas carpetas pero vacías,

  • /home/usuario/videos
  • /home/usuario/brender

Entonces el SERVIDOR NFS se configura para compatir las carpetas del proyecto, con los CIENTES, que montan las carpetas del SERVIDOR NFS en sus propias carpetas, asi, todos los CLIENTES pueden leer y escribir, a traves de la red, en las carpetas del SERVIDOR NFS, de una forma transparente.
Desde el punto de vista del SERVIDOR NFS, todos los oredenadors Clientes son clones suyos, porque tienen las mismas carpetas y el usuario es el mismo para todos.
Entonces en SERVIDOR NFS arrancamos el programa Cinelerra y lo configuramos para que funcione como Master de Vídeo, que se encarga de gestionar la granja de los ordenadores clientes (nodos) que estan conectados a la red.

En los ordenadores CLIENTES o Nodos, es donde arrancamos el programa cinelerra como cliente, que siempre esta a la “escucha” esperando las ordenes del Master de Vídeo.

Todas las productoras de Vídeo y Audio profesionales utilizan esta forma de trabajo en sus sistemas, normalmente se emplean mákinas Mac OX con progamas como Final Cut.

Actuamente tambien se ofrece un servicio de renderizado en Internet para empresas y particulares, si te interesa pincha aquí FOXRenderfarm

¿Cómo instalar y Configurar una Granja de Renderizado?

A modo de ejemplo, vamos a construir una granja de renderizado con el Sistema Operativo GNU/Linux Ubuntu 14.04 en nuestra aula de Sistemas Audiovisuales.
Podemos hacerlo de forma autoḿatica con dos script que hemos progamado en nuestro Departamento de Electrónica o hacerlo paso a paso y aprender un poquito, tu eliges:

  • NOTA IMPORTANTE - Para que la Granja de renderizado de vídeo funcione correctamente, todos los ordenadores tienen que estar funcionando con el mismo usuario y password. En nuestro ejemplo hemos elegido:
    • usuario=render
    • password=render.

Instalación automatica con script:

Sevidor de Vídeo NFS & Master de Vídeo

Para el Servidor de Vídeo NFS & Master de Vídeo utilizamos el script Cinelerra_Servidor_Video_NFS , que lo bajamos del repositorio.
Copia y pega lo siguiente en un terminal:

wget http://www.mediafire.com/download/tdyd616swgoyw66/Cinelerra_Servidor_Video_NFS
sudo chmod -v a+x Cinelerra_Servidor_Video_NFS
./Cinelerra_Servidor_Video_NFS

Nodo Cliente de Vídeo

En cada uno de los Ordenadores Clientes NFS copia y pega lo siguiente en un terminal:

wget http://www.mediafire.com/download/owchd48r46ksm4t/Cinelerra_Nodo_Granja
sudo chmod -v a+x Cinelerra_Nodo_Granja
./Cinelerra_Nodo_Granja

Instalación Paso a Paso

Sevidor de Vídeo NFS & Master de Vídeo

Veamos la instalación paso a paso:
Master de VídeoSistema de Radio y Televisión Hemos elegido un ordenador Power Mac G5 (Intel) con un SO GNU/Linux Ubuntu 14.04, que tiene una tarjeta I/O de vídeo conectada a nuestro sistema de Radio&Televisión.

Con el ordenador Power Mac G5 lanzamos los CROMAS, vídeos de cuñas publicitarias, avances, entrevistas o cualquier vídeo que se necesite en la realización del programa de TV. Tambien hacemos las capturas de las cámaras del Plató de TV, o las pregrabaciones y los montajes de vídeo necesarios para la realización de un programa TV.

1 Creamos el usuario común

En nuestro ejemplo, vamos a crear un nuevo usuario comun con la ID 1055 y el GID (Group ID) 1055, este nuevo usuario se repetira en todas los ordenadores que van a funcionar en la granja de renderizado.
copia y pega lo siguiente en un terminal:

 sudo adduser --uid 1055 render

Te preguntará el pasword del administrador y después el password que queremos para el nuevo usuario, después de esto, puedes pulsar la tecla Enter en el resto de las preguntas que van aparciendo hasta finalizar.

2 Creamos las carpetas de proyecto

Tenemos que crear la carpeta del proyecto y la carpeta para el renderizado. Estas dos carpetas tienen que compartirse con los PCs Clientes
la carpeta del proyecto estará en:

  • /home/render/Videos. (sin el acento, para evitar problemas de codificación de caracteres)

La carpeta de renderizado estará en:

  • /home/render/brender. (brender porque es como cinelerra nombra a las imagenes.jpg renderizadas en su carpeta original /tmp/brender.jpg)

En el terminal ejecutamos los siguientes comandos:

sudo mkdir -pv /home/render/Videos
sudo mkdir -pv /home/render/brender

A continuación vamos a cambiar el usuario de las carpetas del proyecto de usuario=root a usuario=render

sudo chown -Rv render:render /home/render/Videos
sudo chown -Rv render:render /home/render/brender

3 Compartimos carpetas para los ordenadores Clientes

Esto se puede hacer con NFS o Samba. En nuestro caso lo hacemos con NFS.
Los paquetes necesarios para instalar el SERVIDOR NFS son nfs-kernel-server y nfs-common. Para instalarlos abre un terminal y ejecuta el siguiente comando:

sudo apt-get install nfs-kernel-server nfs-common

En el aula de Sistemas Audiovisuales disponemos de siete ordenadores con el SO Lubuntu 14.04 a 64Bits, conectados en red con las siguientes direcciones IP:

Usuario y password
original de la makina
Usuario y password
para la Granja
Dirección IP ProcesadorMemoria RAMConcepto
conejo77
c77
render
render
172.16.3.136 Pentium D 2Gbit Nodo Granja
velocirraptor
vr
render
render
172.16.3.140Pentium Dual Core 2GbitNodo Granja
suricato87
s87
render
render
172.16.3.144 Pentium D 3GbitNodo Granja
gato33
g33
render
render
172.16.3.152 Pentium D 2Gbit Nodo Granja
caiman16
c16
render
render
172.16.3.155 Pentium D 1GbitNodo Granja
murcielago99
m99
render
render
172.16.3.187 i5 4GbitNodo Granja
guepardo
g69
render
render
172.16.3.189 Pentium D 2Gbit Nodo Granja

Para darles permisos de compartición de las carpetas del SERVIDOR NFS, lo vamos a configurar con los siguientes criterios:

  • Permiso de aceso, lectura y escritura para todos los ordenadores clientes, con la opción (rw)
  • No respetar el protocolo NFS, con la opción (async) , así el renderizado se acelera muchisimo.
  • Aceso de cualquier usuario, incluido el root con su propia identidad, los clientes ecribiran como usuario=render y el Master de Video tambien como usuario=render, con la opción (no_root_squash,no_subtree_check)

Abre un terminal y copia y pega los siguientes comandos:

echo "/home/render/brender 172.16.3.136(rw,async,no_root_squash,no_subtree_check) 172.16.3.140(rw,async,no_root_squash,no_subtree_check) 172.16.3.144(rw,async,no_root_squash,no_subtree_check) 172.16.3.152(rw,async,no_root_squash,no_subtree_check) 172.16.3.187(rw,async,no_root_squash,no_subtree_check) 172.16.3.189(rw,async,no_root_squash,no_subtree_check) 172.16.3.155(rw,async,no_root_squash,no_subtree_check)" | sudo tee -a /etc/exports 
echo "/home/render/Videos 172.16.3.136(rw,async,no_root_squash,no_subtree_check) 172.16.3.140(rw,async,no_root_squash,no_subtree_check) 172.16.3.144(rw,async,no_root_squash,no_subtree_check) 172.16.3.152(rw,async,no_root_squash,no_subtree_check) 172.16.3.187(rw,async,no_root_squash,no_subtree_check) 172.16.3.189(rw,async,no_root_squash,no_subtree_check) 172.16.3.155(rw,async,no_root_squash,no_subtree_check)" | sudo tee -a /etc/exports 

3 Reiniciamos el Servidor NFS

Una vez configurados los ficheros pasamos a arrancar el servidor, en un terminal se ejecutaran las siguientes instrucciones:

sudo  /etc/init.d/nfs-common restart
sudo /etc/init.d/nfs-kernel-server restart

Para finalizar cambiamos los permisos a las carpetas compartidas, para que todos los clientes tengan acceso.

sudo -Rv chmod 777 /home/render/Videos
sudo -Rv chmod 777 /home/render/brender

Ahora reiniciamos el ordenador y entramos con usuario=render password=render

4 Configuramos Cinelerra como Master de Vídeo

Abrimos el programa Cinelerra y seguimos los siguientes pasos:


1 - Vamos a la pestaña de Preferencias
y seleccionamos Preferencias
2 - Vemos la ventana de Preferencias,
aqui seleccionamos la pestaña de Mejoras







3 - Vemos la siguiente imagen, que muestra el contenido
de la pestaña de Mejoras:
4 - En el apartado → “ Renderizado en background (Solo video) ”
⇒ seleccionamos la opcion “ Usar renderizado en background

En la casilla → “ Salida para renderizar en background:
⇒ escribimos lo siguiente: /home/render/brender/brender

En la casilla → “Fotogramas de renderizado en background
⇒ Escribimos lo siguiente : 100









5 - En la parte inferior de la ventana de Mejoras,
vemos la siguiente imagen:
6 - En el apartado → “ Granja de render ”
⇒ Selecionamos la opción “ Usar granja de render

En la casilla → “ Nombre de la máquina:
⇒ Escribimos las IP's de los Clientes y añadimos

En la casilla → “Puerto” ⇒ Escribimos: 1055 (1)

Y por último en la casilla → “ Total de trabajos a crear:
⇒ ponemos 1
  • (1) En la casilla “Puerto”, el 400 es el número por defecto, pero este puerto solo se puede gestionar con permisos de root, para evitar esto, hemos elegido para nestro ejemplo el 1055 que se puede gestionar como usuario normal.

Hemos terminado la configuración de Cinelerra, para finalizar pulsamos en Aplicar y OK.

Nodo Cliente de Vídeo:

1 Creamos el usuario común

Copia y pega lo siguiente en un terminal:

 sudo adduser --uid 1055 render

2 Creamos las carpetas de proyecto y renderizado

En el terminal ejecutamos los siguientes comandos:

sudo mkdir -pv /home/render/Videos
sudo mkdir -pv /home/render/brender

A continuación vamos a cambiar el usuario de las carpetas del proyecto de usuario=root a usuario=render

sudo chown -Rv render:render /home/render/Videos
sudo chown -Rv render:render /home/render/brender

3 Configuramos el Cliente NFS

El servidor NFS tiene la IP 172.16.3.190, y vamos a configurar el ordenador para que las carpetas del Servidor se monten al iniciar nuestro ordenador, para eso tenemos que hacer en cada ordenador Cliente lo siguiente:

  • Añadimos las siguientes líneas en el fichero /etc/fstab

Copia y pega lo siguiente en un terminal:

echo "172.16.3.190:/home/render/Videos /home/render/Videos nfs defaults,rw 0 0" | sudo tee -a /etc/fstab
echo "172.16.3.190:/home/render/brender /home/render/brender nfs defaults,rw 0 0" | sudo tee -a /etc/fstab

Arrancando el sistema de renderizado:

Tenemos que seguir un los siguientes pasos ordenados:

  1. Sevidor de Vídeo NFS & Master de Vídeo e iniciamos el programa Cinelerra.
  2. Arrancamos cada uno de los Nodos Clientes de Vídeo y ejecutamos en el terminal, el siguiente comando:
 cinelerra -d 1055 
 /opt/cinelerra/cinelerra -d 1055

Ahora ya podemos comenzar a trabajar en nuestro proyecto de vídeo.

  • Nota.- Recomendamos hacer una prueba de renderizado sin la granja activada y con la granja activada, y después comparar la diferencia en tiempo.

Enjoy!!
Publicado por Juan Carlos Ballesteros.
Profesor de Sistemas Audiovisuales
IES Palomeras-Vallecas

sistemas_de_produccion_audiovisual/taller_de_reparacion/cinelerra_-_cluster_de_video.txt · Última modificación: 2016/09/23 16:15 por admin