Granja de renderizado (Render farming) con CinelerraSi tienes PCs viejos y te gusta/haces vídeo crea una granja de render para que trabajen cuando estás editando video. En unos pocos pasos con Cinelerra.
Una de las mejores cosas que tiene Cinelerra es poder crear una granja de renderizado. Cinelerra lo que hace es dividir el trabajo en tareas que reparte a los PCs de la granja.
Los pasos a seguir:
Asegurarse que la ruta al proyecto y sus archivos es la misma en los PCs esclavos que en el PC maestro y para evitar problemas de permisos es mejor usar el mismo usuario en maestro y esclavos.
Si tienes el proyecto en /home/<usuario>/proyecto-video debes crear el mismo directorio en los esclavos. ¡Ojo! solo crear el directorio y su ruta, pero vacio.
Compartir el directorio donde esté el proyecto en el PC maestro esto se puede hacer con NFS o Samba. A mi me ha dado mejores resultados con Samba y este último es el que voy a explicar:
Seleccionar carpeta del proyecto en el PC maestro con el nautilus y con el botón derecho selecciona propiedades, pestaña compartir y activa compartir esta carpeta, activa también "Permitir a otras personas escribir en esta carpeta".
Ahora creamos el usuario de samba con:
$ sudo smbpasswd -a <nombre_usuario>
En Lugares > Conectar al servidor:
Tipo de servicio: Compartido por Windows
Servidor: <ip del maestro>
Haz click en Conectar.
Hora hay que montar el directorio del proyecto del maestro con la consola mediante: $ sudo mount -t cifs -o username=<nombre_usuario>,password=<contraseña> //<ip del maestro>/proyecto-video /home/<usuario>/proyectovideo
Una vez hecho ésto ya puedes arrancar el Cinelerra en los esclavos, para hacer pruebas de que esté todo bien utilizas -f, con -d arranca el Cinelerra pero no te dá mensajes.
$ cinelerra -f
Inicia Cinelerra y en Preferencias > Mejoras activa "Usar granja de render"
En Nombre de la Máquina pon las ip de los esclavos. El puerto que utiliza por defecto es el 400.
Haz click en "Añadir nodo"
Así sucesivamente por cada esclavo.
El "Numero de trabajos a crear" son las tareas que va a crear el Cinelerra para distribuir entre los esclavos.
Un buen número es el número de PCs que hay incluido el maestro multiplicado por 3, por ejemplo, si tienes 4 esclavos pon 15 tareas.
Y ya está, ahora cuando renderices Cinelerra distribuirá las tareas por la red a los demás PCs de la "Granja de renderizado"
Diseño Gráfico y Software Libre.Este texto es una reflexión sobre el estado de desarrollo de los principales proyectos de Software Libre en el área del Diseño / Artes Gráficas: Gimp, Cinepaint, Xara, Inkscape, Sodipodi, Xfig, Blender, Wings, Povray, Scribus, Latex, Hugin, Sinfig Studio, etc. Es un tutorial útil para hacerse una idea general sobre las posibilidades de este tipo de programas desde el punto de vista profesional. Y sobre lo que se puede esperar en el futuro de los proyectos de software a los que se hace referencia.
Tutorial de creación de videojuegos mediante Blender.Este tutorial trata sobre la producción de juegos en 3D en tiempo real, utilizando el motor de videojuegos de Blender. Esta relacionado con el proyecto "Solaris la aventura gráfica". Puedes saber más sobre este proyecto en el apartado 3D de esta misma Web.
El tutorial trata los siguientes temas:
» Organización del proyecto.
» Modelado de objetos y escenarios.
» Iluminación.
» Mapas de normales.
» Creación de personajes en baja resolución.
» Esqueletos y animación de personajes.
» Claves de vértices.
» Animación mecánica.
» El editor de partículas. Creación de pelo.
El tutorial es un fichero pdf que puedes descargar desde este enlace:
>>Acceso al tutorial de Videojuegos
Talleres cortos y stop-motion en El Dragón de la Elipa
Los martes y jueves en la Elipa Conceptos y técnicas sobre la creación de cortos y animación que entre todas podemos tratar de ir implementando con software libre, aprovechando que en el mismo centro tenemos el h4ckdr4g que también ofrece talleres para trabajar en el entorno Linux.
Convertir imágenes de pdf a tiffUsando ghostscript con la consola.
Para extraer una sola imagen de un pdf.
$ gs -r500x500 -sDEVICE=tiff24nc -dFirstPage=1 -dLastPage=1 -dBATCH -dNOPAUSE -sOutputFile=archivo.tif un_archivo.pdf
Explicación:
-r500x500 : Resolucion 500x500 px
-sDEVICE=tiff24nc : Saca un tif en RGB de 24-bit. Ver más opciones.
-dFirstPage y -dLastPage : La página donde se encuentra la imagen.
-dBATCH y -dNOPAUSE : Hacen que después de crear el tif finalice el programa.
-sOutputFile : Es el archivo de salida
Un_archivo.pdf : Es el pdf que contiene las imágenes.
También puedes probar con resoluciones mas altas como -r500x500, con esto saldrían tifs de unos 30MB cada uno.
Si quieres una imagen en CMYK 32-bit utiliza -sDEVICE=tiff32nc
Para extraer todas las imágenes de todas las páginas de un pdf:
$ gs -r300x300 -sDEVICE=tiff24nc -sOutputFile=imagenes/img_%03d.tif -dBATCH -dNOPAUSE archivo.pdf
Con esto tendremos en el directorio imagenes (previamente creado) tantos archivos tiff como páginas tenga el documento pdf ej: img_001.tif img_002.tif img_003.tif etc etc
Explicación:
-r300x300 : Resolucion de la imagen 300x300 px
-sDEVICE=tiff24nc : Saca un tif en RGB de 24-bit
-sOutputFile : Es el archivo de salida. Con %03d numera cada archivo de salida con 3 dígitos.
-dBATCH : Finaliza ghostscript después de procesar todas las páginas.
-dNOPAUSE : Desabilita pausa después de crear cada tif. finalice el programa
archivo.pdf : Es el pdf que contiene las imágenes.
BONUS:
Si es texto en imágenes puedes extraerlas en escala de grises y luego pasarlas por el ocr tesseract para convertirlas en un archivo de texto:
1.- Extraemos las imágenes y las guardamos en escala de grises a 500x500 de resolución.
$ gs -r500x500 -sDEVICE=tiffgray -sOutputFile=imagenes/ocr_%03d.tif -dBATCH -dNOPAUSE archivo.pdf
2.- Pasamos los archivos tif por el ocr tesseract
Para ello utilizamos un bucle en la consola:
$ for f in *.tif; do tesseract "$f" "salida/${f%}" -l spa; done
Esto nos crea en el directorio salida (previamente creado) archivos de texto con todos de todos los archivos tiff y los llama ocr_001.tif.txt ocr_002.tif.txt ocr_003.tif.txt etc etc
Usuarios de Ubuntu pueden instalarlo desde el synaptic, también hay que instalar tesseract-ocr-spa.
En el pdf que he utilizado las páginas vienen numeradas y el ocr me añade al final de cada archivo de texto una linea con la numeración de la página y otra linea en blanco que realmente me sobran.
3.- Para quitar las dos últimas líneas de cada archivo utilizamos sed:
$ sed -i -e '$d' *.txt
Esto te quita la última linea de todos los archivos con extensión txt en el directorio, en mi caso como quería quitar dos lineas pues lo he ejecutado dos veces.
Si quieres hacer una copia de los archivos originales utiliza -ibak en vez de -i
4.- Unimos todos los archivos de texto en uno solo con cat:
$ cat *.txt > salida.txt
El resultado final es un archivo de texto con el contenido del pdf.
Nota:
Si el archivo pdf NO tiene imagenes sino texto habría que utilizar otra herramienta como pdftotext que viene con poppler-utils en muchas distribuciones de linux.
Formatos de vídeo, codecs y contenedoresApuntes para convertir videos avi, mp4, flv, vob, mpg y más.
Compatibilidades de codecs de vídeo y audio con los diferentes formatos.
| CODECS VIDEO | |||||||||||
| CONTENEDOR | Extensión archivo |
MPEG 1 |
MPEG 2 |
MPEG 4 |
H-263 | H-264 X-264 |
WMV | M-JPEG | Theora | RAW DV |
HUFFYUV |
| MPEG-TS | mpg, ts | ||||||||||
| MPEG-PS | mpg, vob, ps | ||||||||||
| MPEG 1 | mpg | ||||||||||
| Ogg | ogg | ||||||||||
| WMV | wmv | ||||||||||
| MP4 | mp4 | ||||||||||
| MOV | mov | ||||||||||
| DV | dv | ||||||||||
| FLV | flv | ||||||||||
| MKV | mkv | ||||||||||
| AVI | avi | ||||||||||
| 3GP | 3gp | ||||||||||
| CODECS AUDIO | ||||||||
| CONTENEDOR | AAC | PCM | VORBIS | MP3 | AC3 | MPEG AUDIO |
WMA | FLAC |
| MPEG-TS | ||||||||
| MPEG-PS | ||||||||
| MPEG 1 | ||||||||
| Ogg | ||||||||
| WMV | ||||||||
| MP4 | ||||||||
| MOV | ||||||||
| DV | ||||||||
| FLV | ||||||||
| MKV | ||||||||
| AVI | ||||||||
| 3GP | ||||||||
| Permite: | NO permite: |
Mas tutorial de ffmpegffmpeg para las principales tareas de video y audio, como sacarle jugo al programa.
Esto es una continuación del breve tutorial de ffmpeg que publiqué anteriormente.
Nota: Normalmente estoy usando para los ejemplos videos .dv que son los que tienes al capturar de una video camara, pero casi todos los ejemplos se pueden hacer con cualquier tipo de archivo de video como .avi, .flv, mpg, etc.
1) Para pasar a camara lenta (hace falta mjpegtools):
-------------------------------------------------------------------------
ffmpeg -i original.dv -f yuv4mpegpipe - | yuvfps -s 15:1 -r 15:1 | ffmpeg -f yuv4mpegpipe -i - -r 25 -y lento.dv
Explicación:
-i video de entrada
-f formato, en este caso yuv4mpegpipe
Luego los parámetros yuvfps: -s y -r son los frames por segundo, es decir 15:1 15 frames por segundo, para mas lento 10:1 o 7:1
-r son los frames por segundo
-y para que sobre escriba el archivo de salida
lento.dv es el nuevo video a camara lenta.
2) Para recortar partes de un video cambiando el tamaño:
-----------------------------------------------------------------------------
ffmpeg -i entrada.dv -croptop 150 -cropbottom 150 -sameq recortado.mpg
Explicación:
-i video de entrada
-croptop recorta de arriba 150px en este caso
-cropbottom recorta de abajo 150px en este caso
-sameq es para mantener la misma calidad que el original (same quality)
También existe-cropleft, recorta a la izquierda, y -cropright, recorta a la derecha.
He probado con salida recortado.avi en vez de recortado.mpg, pero el avi me sale deformado.
3) Para recortar partes de un video SIN cambiarlo de tamaño:
--------------------------------------------------------------------------------------
ffmpeg -i entrada.dv -padtop 150 -padbottom 150 -sameq recortado-mismo-tamaño.mpg
Explicación:
-i video de entrada
-padtop borra de arriba 150px en este caso
-padbottom borra de abajo 150px en este caso
-sameq es para mantener la misma calidad que el original (same quality)
También existe -padleft, borra a la izquierda, y -padright, borra a la derecha.
El video no cambia de tamaño como en el ejemplo anterior y pone bandas negras.
Puedes indicar el color que quieras para las bandas con '-padcolor color_hexadecimal', si añades '-padcolor ff0000' las bandas serían rojas.
4) Para añadir otra pista de audio al video (por ejemplo para tener un video con audio en español e inglés):
---------------------------------------------------------------------------------------------------------------------------
ffmpeg -i video-ingles.dv -i audio-español.mp3 -sameq -acodec libmp3lame -acodec libmp3lame peli-con-dos-audios.mpg -newaudio
Explicación:
-i el primero es el video de entrada, el segundo es el audio que quieres añadir
-sameq para que mantenga la misma calidad que el original
-acodec el codec de audio, se indica dos veces, una para cada pista
peli-con-dos-audios.mpg es el archivo de salida
-newaudio añade una nueva pista de audio al archivo de salida
5) Para sacar trozos de un video o audio:
----------------------------------------------------------
ffmpeg -i entrada.dv -t 180 -ss 60 -sameq tres-minutos.dv
Explicación:
-i video de entrada
-t es el tiempo en segundos que quieres procesar en este caso 3 minutos
-ss es desde donde quieres procesar en segundos en este caso 1 minuto
-sameq para que mantenga la misma calidad
6) Para unir varios videos o audios en uno:
--------------------------------------------------------
Primero hay que pasarlos a mpg con:
ffmpeg -i video1.avi -sameq video1.mpg
ffmpeg -i video2.avi -sameq video2.mpg
ffmpeg -i video3.avi -sameq video3.mpg
Los unes con
cat video1.mpg video2.mpg video3.mpg > todos-juntos.mpg
Para archivos .dv o .VOB NO hay que pasarlos a mpg
Ahora si quieres puedes convertir el archivo final al formato que quieras.
Para audio en mp3 puedes hacer directamente:
cat audio1.mp3 audio2.mp3 audio3.mp3 > todos-juntos.mp3
7) Para pasar de wav a mp3:
---------------------------------------------
ffmpeg -i audio.wav -ar 22050 -ab 128k un-mp3.mp3
Explicación:
-i el audio que quieres convertir
-ar la frecuencia en este caso 22050 Hz
-ab el bitrate
8) Resolución de problemas (algunos)
----------------------------------------------------
Muchas veces lo que encuentras en internet y funciona para algunos no te funciona a ti. Cada cual tiene su versión de ffmpeg y cada versión viene con unas u otras opciones.
Siguiendo los ejemplos que he puesto te pueden salir el siguiente error al intentar hacer un mp3:
Unsupported codec for output stream ....
Esto es porque con las distribuciones oficiales de Ubuntu no viene ninguna libreria que tenga algo de código propietario. Por ejemplo Ubuntu Karmic Koala 9.10 no viene con codificadores para mp3, xvid, h264 y bastantes mas y no hay manera de hacer nada con ellos. La solución está en instalar la librería libavcodec-extra-52 del repositorio de Medibuntu.
Para poder instalar desde Medibuntu primero tienes que añadir los repositorios de ellos escribiendo en consola:
sudo wget http://www.medibuntu.org/sources.list.d/`lsb_release -cs`.list --output-document=/etc/apt/sources.list.d/medibuntu.list && sudo apt-get -q update && sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring && sudo apt-get -q update
Te pedirá tu password.
Este chorizo de comando está adaptado de Medibuntu - Community Ubuntu Documentation visto en ubuntuforums
Luego puedes instalarte libavcodec-extra-52 desde el synaptic.
Otro tipo de errores que te puedes encontrar aún teniendo el codec para mp3 (libmp3lame) puede ser:
Error while opening codec for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height
Lo que te dice es que los parametros no valen, prueba cambiando el -ar a la mitad del original (de 48000Hz a 24000Hz) por ejem '-ar 24000', si no va también intenta meter solo 2 canales de audio con '-ac 2'. Si estás con un video prueba cambiando los fps o rate con 'r 25' para pal o tal vez sea por el tamaño prueba a cambiarlo con '-s ANCHOxALTO'
9) Para ver que codecs y formatos maneja la versión que tienes de ffmpeg:
------------------------------------------------------------------------------------------
ffmpeg -formats
Si escribes ffmpeg -format > formatos-ffmpeg.txt te creará un achivo que seguramente será mas amigable de consultar.
Te dice cosas como:
DEA ac3 ATSC A/52A (AC-3)
DEV D dvvideo DV (Digital Video)
D V D h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
DEVSD huffyuv Huffyuv / HuffYUV
EA libmp3lame libmp3lame MP3 (MPEG audio layer 3)
EV libtheora libtheora Theora
EA libvorbis libvorbis Vorbis
EV libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
DEVSDT mpeg2video MPEG-2 video
DEVSDT mpeg4 MPEG-4 part 2
Parece complicado por la cantidad de información,pero significa:
Primera columna:
D = decodifica
E = codifica
A = audio
V = video
S = subtítulos
D = render directo
T = maneja la entrada de lugares aleatorios
La segunda columna (ac3 o libmp3lame o mpeg4 etc) es elnombre del codec como debe pasarse para que lo reconozca.
Aquí vemos que h264 decodifica, pero para codificar tienes que poner libx264.
Y para terminar
10) Como hacerse un avi de varios VOB de un dvd (casero eso si, que sino está prohibido)
----------------------------------------------------------------------------------------------------
Primero juntamos todos los VOB en un solo video:
cat VTS_01_1.VOB VTS_01_2.VOB VTS_01_3.VOB VTS_01_4.VOB VTS_01_5.VOB > todo-junto.mpg
Esto nos crea un archivo de varios gigas, pero no nos asustemnos, lo borraremos nada mas terminar con el ffmpeg.
Ahora le pasamos a ffmpeg el archivo todo-junto.mpg
ffmpeg -i todo-junto.mpg -map 0:0 -vcodec libx264 -vpre hq -crf 22 -threads 0 -s 560x420 -map 0:1 -acodec libmp3lame -ar 24000 -ab 128k -f avi la-peli.avi
Explicación:
-i video de entrada
-map 0:0 indica el canal que quieres en este caso es el del video
-vcodec el videio codec que utilizamos
-vpre indica la preconfiguración que queremos que es hq (hight quality o alta calidad)
-crf el factor constante del rate (o cantidad de bits por segundo) a menor número mejor la calidad y mayor los bits/segundo
-threads el número de procesos 0 o auto
-s el tamaño en píxeles en este caso partiendo de 720x576 de PAL lo he reducido un poco manteniendo la proporción 4:3
-map 0:1 indica el canal que quieres en este caso es el primero de audio, si hay mas de un audio puedes poner '-map 0:2' si quieres la segunda pista de audio
-acodec el codec de audio
-ar la frecuencia de audio en Hz
-ab el bitrate del audio
-f para forzar el formato
Flux Studio. Nueva distro para creación multimedia libreNueva distribución basada en Debian que está siendo desarrollada en el entorno de Madrid, pensada para creadores libres y que seguramente podremos probar en poco tiempo.
"Fluxstudio toma mucho de Puredyne / Dynebolics, alberga herramientas que no están disponibles en Ubuntu Studio: como Cinelerra, Dvgrab, y kino para edicion de video. ffmpeg (con su interfase grafico winff, y diversos scripts predeterminados) ffmpeg2theora( con su interface grafico shazam) transcode, mencoder para la encodacion de video; dvdauthor, dvdstyler, mandvd, y DeVeDe para la autoria de dvds. En el ambito de creación sonora, contiene de añadido lmms (una alternativa a fruty loops), Xjaedo (para sincronizar videos entre jack y ardour para retoque de bandas sonoras) y sox (una librería de conversión y grabación / reproducción de audio) Ardour compilado para soporte de midi y VST, mas el dssivsthost que permite la integración de instrumentos VST en la composición musical. En el ambiente de performance, viene incluido el TSSstreamer (herramienta preferido de Giss.tv para hacer streaming) PureData(la version extendida, junto a muchos mas patches y manuales) FreeJ (herramienta libre para Vjíng) Processing
(para crear interfaces interactivos y dynamicos)Supercollider(para procesamiento de sonido) y también contiene los códigos de openframeworks y opencv con el entorno de programación Codeblocks, para programar en C++ tus instalación interactivas) y el entorno de programación para arduino." Flux Studio
14 de enero presentación de Flux Studio en el Laboratorio del Procomun en medialab-prado