rsync: potente herramienta de backup y sincronización. Linux

Interesante entrada sobre esta eficiente herramienta de sincronización que permite copiar/sincronizar ficheros de forma local y remota.

Anuncios

blackEncoder: mi primera aplicación.

Acabo de subir a GitHub mi primer programa en Python. Un codificador de vídeo basado en ffmpeg y PyQt.

¿Qué diferencia a éste de otros conversores de vídeo? Que está programado para casos muy concretos por ser tareas que repetía con bastante frecuencia. Son presets que pueden facilitarnos la vida a quienes necesitemos insertar fotogramas en negro delante y detrás de un vídeo para prepararlo para emisión, añadir un timecode determinado, etc…

blackEncoder

He utilizado como IDE PyCharm y me ha gustado mucho. Creo que es de lo mejor. Intenté con Eclipse pero me costó más.

He aprendido mucho gracias a la ayuda de la gente en los foros. A utilizar variables “globales” o a usar subprocess para lanzar comandos externos a Python. En mi caso fundamental para conectar con ffmpeg.

He chequeado el programa en Linux con CentOs y Antergos y funciona bien. La verdad es que se agradece la libertad que ofrece Linux para programar, compilar y ejecutar los programas. El mundo del Open Source es una gozada en ese aspecto.

El problema es cuando lo he intentado en Mac. Entramos en el mundo de lo privativo, las condiciones y problemas.

Para poder tener y usar mi aplicación en Mac hay dos vías:

1  Volver a programar la aplicación en Swift con Xcode. Conseguir compilar la aplicación incluyendo el framework de ffmpeg y sus librerías.

2  Intentar ejecutar el script que he programado en Python.

Para esta segunda opción, si lo quiero hacer funcionar en Mac osX tendría que:

  • Instalar Xcode
  • Instalar Homebrew
  • Instalar ffmpeg
  • Instalar Python
  • Instalar PyQt

Ahora valoro más el trabajo del equipo de Handbrake, un codificador de vídeo open source basado en ffmpeg que ha conseguido implementarse para Mac y funciona muy bien.

Por tanto, queda pendiente:

  • Optimizar el código.
  • Utilizar excepciones (try – except) para lanzar errores.
  • Mejorar la barra de progreso.
  • Versión para Mac.

Reposo de pantalla en Antergos

Problema:

Al instalar Antergos en un Mac Pro Early 2008 no es posible poner en reposo las 2 pantallas. No funcionan los settings donde se le indica el tiempo en el que quieres que entren en reposo.

Antergos con GNOME 3.22.2

Solución:

Sustituir lightdm por gdm (Gestor de visualización de Gnome).

Lightdm es lo utilizado para abrir la sesión. Es la primera pantalla que ves después de arrancar el pc donde “logeas” tu usuario para acceder a tu sesión.

k7k15c5r

Pues bien, parece que este ligthdm es el responsable de este fallo. Lightdm está implementado por Antergos por defecto. Lo que hay que hacer es sustituirlo por el que suele llevar Gnome por defecto en otras distros, el de toda la vida, gdm. Al sustituirlo veréis que la pantalla inicial de loggin de usuario cambia a la de Gnome de siempre.

gdm-gnome-ubuntu-1021x580

Con esto se soluciona el tema del reposo de las pantallas. Curioso.

¿Como hacerlo?

Sencillo. En Terminal:

sudo pacman -S gdm
sudo systemctl disable lightdm
sudo systemctl enable gdm

Reiniciar y comprobar que todo está OK.

Si hay algún problema podemos volver a activar lightdm:

sudo systemctl disable gdm
sudo systemctl enable lightdm

 

 

Sincros A/V con FFMpeg

ffmpeg

He realizado unas pruebas de compresión con FFMpeg en Mac. La idea era crear un script parecido a otro que realicé anteriormente para insertar frames de negro al comienzo y final del vídeo y comprimirlo para poder ser enviado por mail.

Al hacer estas pruebas me he dado cuenta que el resultado tenía un desfase entre audio y vídeo.

Describo las conclusiones de las pruebas por si son de utilidad para alguien y como recordatorio para mí.

Normalmente la entrada de vídeo que uso suele ser un master en alta, bien usando QT Animation o bien ProRes 444.

Quería probar qué codec es el idóneo para comprimir a mejor calidad y con menos “peso”

El problema que me encontré es que el resultado desfasaba dos frames el audio del vídeo.

Esto ocurría codificando con libx264 y aac

Para la prueba he creado un vídeo con un sólido de color que tenía un frame de barras y tono en varios puntos para poder ver los sincros a/v

Confirmé que había 2 frames de desfase con la librería libx264.

Resultado de pruebas con distintos codecs de audio y vídeo:

  • Con -c:v libx264 y -c:a aac — hay 2 frames de desfase. — .mp4
  • Con -c:v v408 (prores444) y -c:a aac — hay 1fr de desfase.  — .mov
  • Con -c:v v408 y -c:a pcm_s24le — audio y vídeo ok.  — .mov
  • Con -c:v qtrle y -c:a pcm_s24le — audio y vídeo ok.  — .mov
  • Con -c:v mpeg1video y -c:a mp2 — audio y vídeo ok. (Codecs por defecto de ffmpeg)  — .mpg
  • Con -c:v mpeg1video y -c:a aac –Fallo. No abre en QT  — .mpg
  • Con -c:v libxvid (mpeg4) y -c:a aac — audio y vídeo ok. — .mp4
  • Con -c:v libxvid (mpeg4) y -c:a pcm_s24le — audio y vídeo ok. — .mov

Por otro lado he comprobado que el h264 usado con libx264 es un codec MUY superior a mpeg1video o  libxvid (mpeg4). Comprimiendo el mismo vídeo y a igual tamaño, el h264 da mucha más calidad que el mpeg4 y mpeg1… con diferencia.

Por tanto interesaba arreglar la falta de sincros entre audio y vídeo porque interesa más usar libx264.

Si añadimos -tune zerolatency despues de los settings de compresión con libx264, conseguimos que vayas a sincro el audio y vídeo.

Aquí os muestro los comandos usados con ffmpeg desde el terminal para crear 5 frames de negro delante y detrás del vídeo y comprimirlo en h264 en una relación aproximada de 12:1 Mb

Al utilizar el codec aac he tenido que añadir el comando” -strict -2″ para poderlo usar.

ffmpeg -f lavfi -i color=c=black:s=1920×1080:r=25:d=1 -f lavfi -i “aevalsrc=0:c=stereo:d=1” -i test_sincro.mov -filter_complex “[0:v] trim=start_frame=1:end_frame=5 [blackstart]; [0:v] trim=start_frame=1:end_frame=5 [blackend]; [1:a] atrim=duration=0.2 [audiostart]; [1:a] atrim=duration=0.2 [audioend]; [blackstart] [audiostart] [2:v] [2:a] [blackend] [audioend] concat=n=3:v=1:a=1[v][a]” -map “[v]” -map “[a]” -c:v libx264 -crf 40 -preset slow -profile:v high10 -pix_fmt yuv420p -c:a aac -strict -2 -b:a 128k -timecode 00:01:00:00 -tune zerolatency mail_low.mp4

No conozco la razón de la falta de sincros entre audio y vídeo del codec libx264 en Mac. Cualquier explicación o aporte será bien recibido.

 

MOX File format

Una buena noticia. Próxima aparición de un códec open source de vídeo profesional.

Gracias al crowdfunding, el programador Brendan Bolles y su equipo han conseguido desarrollar un códec abierto y compatible con Windows, Mac y Linux.

Mox utilizará el contenedor MXF y codecs open source como Dirac, OpenEXR, DPX, PNG y JPEG.

Esperemos que Adobe, Microsoft y Apple no pongan piedras en las ruedas de Mox…

Debian y CentOs en Mac Pro

Después de muchos intentos… ¡por fin lo consigo!  He instalado en un Mac Pro Early 2008 intel, Debian y CentOs, las dos distros de Linux que quería junto al Mac OS X.

Creo que hoy por hoy, el SO de Mac va muy bien y no necesitaría más… pero de GNU Linux me gusta su filosofía, la rebeldía frente a Microsoft y Apple que imponen sus criterios y, sobre todo, que es una plataforma abierta a todos, gratuita y modificable. Siempre recomiendo este doc emitido en la 2,  viejuno pero vigente hoy día.

La distro Debian porque me gusta bastante más que Ubuntu y tiene una comunidad muy grande. Quiero trastear con él en plan doméstico.

CentOs porque es la mejor distro free de Linux para trabajar con vídeo. Viene de Red Hat y eso es una garantía. Con esta distro me interesa investigar con los códecs de vídeo y comprobar hasta donde puede llegar linux como estación de trabajo “pro” para producción audiovisual.

Mi intención era conseguir que al arrancar el mac me ofrezca elegir cualquiera de los tres sistemas operativos. Instalaría cada SO en un disco interno distinto, nada de particiones con varios SO.

Hay mucho en internet sobre el tema. Aquí uno de los muchos enlaces que consulté.

No voy a colgar un tutorial porque en mi caso la cosa no ha sido muy lógica y porque no tengo mucha experiencia en esto de linux, me considero un novato.

He usado los DVD iso de cada distro de 64 En teoría con instalar Reflt valdría. Esta aplicación hace que mac busque otros SO que estén instalados. Solo me reconocía CentOs. Su Grub parece que se instalaba bien pero en Debian era imposible, por más que le decía que instalara el grub en el disco de Debian, Reflt no lo reconocía.

Llegué a instalar Refind en vez de Reflt. Investigué en todo tipo de foros. Usé el terminal. Al final, al hacer un mix entre el GPT y MBR perdí toda opción de arrancar nada salvo Mac Os porque al elegir una opción distinta a mac me salía este mensaje “Missing operating sistem”

Por una casualidad, me di cuenta que mi única forma de conseguirlo era a lo bruto. Instalando ese sistema como único. El sistema operativo tenía que arrancar por sí solo al arrancar el mac usando solo ese disco, sin empezar enseñando la BIOS primero. Creo que en el fondo es instalarlo como estaba el OsX, con su EFI. Una vez conseguí esto, Reflt ya los reconocía y me dejaba elegir.

Siento no poder dar detalles más concretos pero después de tantas pruebas…

El gran fallo es que Reflt no funcionara bien desde el principio y no detectara los Grub de ambos sistemas, a partir de ahí todo se complicó. Por lo que he leído por ahí, cada modelo de Mac es distinto en sus EFIS o BIOS (si es de antes del 2006) y no se comportan igual según modelo y año.

Siempre los dos grandes han puesto impedimentos para que se puedan instalar otros sistemas operativos libres en sus máquinas y cada vez nos lo complican más.

En el pantallazo que adjunto se pueden ver los símbolos de Mac, Debian y Centos y luego una serie de iconos de windows y linux que los considero heridas de guerra porque no llevan a ningún SO, están muertos y no se como eliminarlos de Reflt. Son antiguos restos de Grubs desaparecidos…

Ahora a trastear con ellos… ¿se podrá usar prores en Centos? ¿DaVinci irá tan bien en CentOs como en mac? ¿podré instalar Google Drive en Debian? ¿conseguiré asignar botón derecho a mi lápiz wacom?

IMG_20140731_190545