Tabla de Contenidos
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:
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 | Procesador | Memoria RAM | Concepto |
---|---|---|---|---|---|
conejo77 c77 | render render | 172.16.3.136 | Pentium D | 2Gbit | Nodo Granja |
velocirraptor vr | render render | 172.16.3.140 | Pentium Dual Core | 2Gbit | Nodo Granja |
suricato87 s87 | render render | 172.16.3.144 | Pentium D | 3Gbit | Nodo Granja |
gato33 g33 | render render | 172.16.3.152 | Pentium D | 2Gbit | Nodo Granja |
caiman16 c16 | render render | 172.16.3.155 | Pentium D | 1Gbit | Nodo Granja |
murcielago99 m99 | render render | 172.16.3.187 | i5 | 4Gbit | Nodo 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) 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:
- Sevidor de Vídeo NFS & Master de Vídeo e iniciamos el programa Cinelerra.
- Arrancamos cada uno de los Nodos Clientes de Vídeo y ejecutamos en el terminal, el siguiente comando:
- (si estamos trabajando con Cinelerra CV 2.2)
cinelerra -d 1055
- (si estamos trabajando con Cinelerra CV 5.1)
/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