Bibliotecas de código abierto para trabajar con videos.
Una de las cosas en las que deberíamos esforzarnos los difusores del software libre y de código abierto es erradicar de los usuarios la mentalidad lineal de Y como alternativa a X. Es decir la creencia de que para cada programa de Windows tiene que existir uno igual en Linux con las mismas prestaciones, pero gratis y bajo licencias libres..
Digamos la verdad, si eres un usuario profesional, ni El Gimp te va a resultar igual de útil que Photoshop ni Audacity que GarageBand ni Kdenlive que Vegas.
Antes de que organicen el pelotón de linchamiento, sigan leyendo.
Cambiando el paradigma
Vuelvan a leer el principio del artículo. En ninguna parte dije que el software privativo fuera mejor que el software libre para edición multimedia. Lo que dije es que no tenemos que dejarnos arrastrar a una discusión en la que el software libre y de código abierto lleva las de perder.
En otras palabras que en lugar de intentar comparar soluciones llave en mano, empecemos a hablar de la enorme cantidad de bibliotecas multimedia de código abierto con la que se pueden hacer cosas con las que los productos de Adobe y Blackmagic jamás soñaron.
Es cierto que hay que tomarse la molestia de aprender algo de programación y de usar mucho la terminal. Pero, no hay que pagar licencias.
Entre comprarte el auto que puedes pagar o que te regalen las piezas de un auto de lujo, junto con las instrucciones y las herramientas para armarlo ¿Qué preferirías?
Bibliotecas de código abierto para trabajar con videos
MoviePy
MoviePy es una biblioteca para Python enfocada en la edición de vídeo. Entre otras cosas puede usarse para cortar y unir clips, inserción de textos, edición no lineal, procesamiento de vídeo y creación de efectos personalizados.
¿Quieres una introducción como la de Star Wars? ¿Te gustaría crear títulos como los de Top Gear, esta biblioteca te va a encantar.
MoviePy puede leer y escribir todos los formatos de audio y vídeo más comunes, incluido el GIF, y funciona en Windows/Mac/Linux.
Aquí puedes ver una demostración de esta librería en acción
PySceneDetect
PyScenedetect es al mismo tiempo una aplicación de línea de comandos y una biblioteca de Python que permite detectar cambios de escena en los vídeos. Una vez hecho esto divide automáticamente el vídeo en clips separados.
Tiene soporte para varios métodos de detección de cambio de escena:
PySceneDetect puede utilizarse por sí solo como un programa autónomo o integrado a otras aplicaciones como una biblioteca.
Algunos usos posibles son:
- Dividir videos extensos en escenas individuales.
- Eliminación de anuncios de grabaciones de programas de televisión
- Borrado de las escenas no interesantes de películas porno (es para un amigo)
- Análisis intensivo de películas.
- Procesamiento de grabaciones de las cámaras de vigilancia.
Scikit-video
Este proyecto tiene como objetivo hacer que los algoritmos de video sean de fácil acceso para estudiantes, ingenieros, instructores e investigadores.
Scikit-video permite a los usuarios acceso fácil a los archivos de vídeo mediante la utilización del backend FFmpeg/LibAV. Este kit de herramientas ofrece abstracciones de alto y bajo nivel para leer y escribir archivos de vídeo.
Scikit-video viene con herramientas de medición de calidad que permiten a los usuarios gestionar sus propias colecciones de video y a los investigadores comparar fácilmente sus algoritmos con un conjunto de herramientas consistentes y revisadas por pares.
También proporciona utilidades como detectores de límites de escenas y estimadores de movimiento de bloque comúnmente utilizados en los algoritmos de procesamiento de vídeo.
MLT
Es un framework para crear, gestionar y ejecutar proyectos de audio y vídeo multipista.
Es utilizado en todo tipo de aplicaciones como el editor de video Shoucut. Proporciona un conjunto de herramientas para emisoras, editores de vídeo, reproductores multimedia, transcodificadores y transmisiones web.
Esta es una breve lista de las librerías disponibles para Python que de ninguna manera agota las posibilidades. Cada uno de los lenguajes de programación de código abierto cuenta con las suyas propias.