Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

GráficosSonidoVídeo

Editores de Vídeo - CinelerraEditores de Vídeo - LiVES

Editores de Vídeo - Flowblade




Editores de Vídeo - Flowblade




Copyright

Copyright © José Luis Lara Carrascal  2014-2021   http://manualinux.eu



Sumario

Introducción
Movit
MLT
Flowblade
Traducción al Español alternativa
Iniciamos Flowblade
Enlaces




Introducción  

Flowblade
es un editor de vídeo no lineal, escrito en Python y GTK+, que utiliza como motor de procesamiento, el conocido software multimedia, MLT, ya utilizado en aplicaciones como Kdenlive y Shotcut. Aprovechando la potencia del motor descrito, podremos realizar todo tipo de composiciones de audio y vídeo, para luego exportarlo a los formatos soportados por MLT. Personalmente, echo en falta el soporte de la librería multimedia Movit, que proporciona filtros de OpenGL a MLT, y cuya instalación incluyo en el manual, como dependencia de MLT.



Movit

Instalación

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado Movit para la elaboración de este documento.

* GCC - (11.1.0)
* Gawk - (5.1.0)
* M4 - (1.4.18)
* Libtool - (2.4.6)
* Make - (4.3)
* Automake - (1.16.3)
* Autoconf - (2.71)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Eigen3 - (3.3.9)
Epoxy - (1.5.7)
* Fftw3 - (3.3.9)
* Google Benchmarch - (1.4.1)



Descarga

movit-1.6.3.tar.gz

Optimizaciones

$ export {C,CXX}FLAGS='-O3 -march=znver2 -mtune=znver2'

Donde pone znver2 se indica el procesador respectivo de cada sistema seleccionándolo de la siguiente tabla:
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado. 

* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.

* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Valores CPU
Genéricos
Intel
AMD

Optimizaciones adicionales

Optimizaciones adicionales
Graphite
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
IPA
$ export {C,CXX}FLAGS+=' -fipa-pta'
LTO
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=auto'
En versiones inferiores a GCC 10, sustituir auto por el número de núcleos que tenga nuestro procesador. Si sólo tiene uno, utilizar el parámetro -flto

Parámetros adicionales

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64"

Establecer el RPATH correspondiente si utilizamos una versión de GCC que no es la principal del sistema
$ export LDFLAGS+=" -Wl,-rpath,/opt/gcc11/lib64 -lstdc++"
Sustituir /opt/gcc11/lib64 por la ruta de instalación de la versión de GCC alternativa que se vaya a utilizar en el proceso de compilación de este paquete.

Eliminar los símbolos innecesarios para la ejecución del programa
$ export LDFLAGS+=" -Wl,-s"

Extracción y Configuración  Bloc de Notas Información general sobre el uso de los comandos

$ tar zxvf movit-1.6.3.tar.gz
$ cd movit-1.6.3
$ ./configure --prefix=/usr --disable-static --libdir=/usr/lib64

Explicación de los comandos

--prefix=/usr : Instala la librería en el directorio principal /usr.
--disable-static : Desactiva la compilación de la librería estática al no ser necesaria para la ejecución de los programas.
--libdir=/usr/lib64 : Instala la librería en /usr/lib64, en sistemas de 64 bits multiarquitectura.

Compilación

$ make libmovit.la

Explicación de los comandos

libmovit.la : Compila sólo la librería, omitiendo los tests y el programa de ejemplo. Como el script de configuración no permite desactivarlos, ésta es la única forma de no compilarlos.

Parámetros de compilación opcionales  

V=1 : Muestra más información en el proceso de compilación.

-j$(getconf _NPROCESSORS_ONLN): Establece el número de procesos de compilación en paralelo, en función del número de núcleos e hilos que tenga nuestro procesador, tomando como referencia la información mostrada por el sistema con el comando correspondiente. Si nuestro procesador es mononúcleo de un solo hilo, no añadir esta opción.

Instalación como root

$ su
# make install
# chmod 755 /usr/lib64/libmovit.so.8.0.3
# ldconfig -v

Estadísticas de Compilación e Instalación de Movit

Estadísticas de Compilación e Instalación de Movit
CPU AMD Ryzen 3 3100 4-Core Processor
MHz 3593.246
RAM 8 GB
Sistema de archivos XFS
Versión del Kernel 5.12.1-ck1 SMP PREEMPT x86_64
Modo de frecuencia de la CPU performance
Versión de Glibc 2.33
Enlazador dinámico GNU gold (Binutils 2.36.1) 1.16
Compilador GCC 11.1.0 + Ccache 4.2.1
Parámetros de optimización -03 -march=znver2 -mtune=znver2 -ftree-loop-linear -floop-strip-mine -floop-block -fipa-pta -fuse-linker-plugin -flto=auto
Parámetros de compilación V=1 -j8
Tiempo de compilación 17"
Archivos instalados 93
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 2
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 1,0 MB

Desinstalación como root

1) MODO TRADICIONAL

Este paquete no tiene soporte de desinstalación con el comando 'make uninstall'.

2) MODO MANUALINUX

El principal inconveniente del comando anterior es que tenemos que tener el directorio de compilación en nuestro sistema para poder desinstalar el programa. En algunos casos esto supone muchos megas de espacio en disco. Con el paquete de scripts que pongo a continuación logramos evitar el único inconveniente que tiene la compilación de programas, y es el tema de la desinstalación de los mismos sin la necesidad de tener obligatoriamente una copia de las fuentes compiladas.

movit-1.6.3-scripts.tar.gz

$ su
# tar zxvf movit-1.6.3-scripts.tar.gz
# cd movit-1.6.3-scripts
# ./Desinstalar_movit-1.6.3

Copia de Seguridad como root

Con este otro script creamos una copia de seguridad de los binarios compilados, recreando la estructura de directorios de los mismos en un directorio de copias de seguridad (copibin) que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de los binarios podemos copiarlo como usuario a nuestro home y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos volver a restaurar la copia, tendremos que volver a copiarlo al lugar donde se ha creado.

$ su
# tar zxvf movit-1.6.3-scripts.tar.gz
# cd movit-1.6.3-scripts
# ./Respaldar_movit-1.6.3

Restaurar la Copia de Seguridad como root

Y con este otro script (que se copia de forma automática cuando creamos la copia de respaldo del programa) restauramos la copia de seguridad como root cuando resulte necesario.

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_movit-1.6.3



MLT  

Instalación

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado MLT para la elaboración de este documento.

* GCC - (11.1.0)
* Swig - (4.0.2)
* CMake - (3.20.2)
* Ninja - (1.10.2)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Xorg- (7.7 / xorg-server 1.20.11)
   LibX11 - (1.7.1)
* Freir0r - (1.7.0-git)
* JACK - (0.125.0)
* Libavcodec - (58.134.100)
* Libavfilter - (7.110.100)
* Libavformat - (58.76.100)
* Libavutil - (56.70.100)
* Libebur128 - (1.2.6)
* Libexif - (0.6.22)
* Librubberband - (1.9.1)
* Libsamplerate - (0.1.9)
* Libswscale - (5.9.100)
* Libvorbis - (1.3.7)
* Libxml2 - (2.9.12)
* Mesa - (21.1.1)
* Movit - (1.6.3)
* Python - (3.9.5)
* Qt5 - (5.15.0)
* SDL - (1.2.15 | 2.0.12)
* SDL_image - (1.2.12)
* Sox - (14.4.2)
* Vid.stab - (1.1.0)



Descarga

mlt-7.0.1.tar.gz

Optimizaciones

Optimizaciones adicionales

Optimizaciones adicionales
Graphite
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
IPA
$ export {C,CXX}FLAGS+=' -fipa-pta'
LTO
$ export AR=gcc-ar RANLIB=gcc-ranlib NM=gcc-nm
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=auto'
En versiones inferiores a GCC 10, sustituir auto por el número de núcleos que tenga nuestro procesador. Si sólo tiene uno, utilizar el parámetro -flto

Parámetros adicionales

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64"

Establecer el RPATH correspondiente si utilizamos una versión de GCC que no es la principal del sistema
$ export LDFLAGS+=" -Wl,-rpath,/opt/gcc11/lib64 -lstdc++"
Sustituir /opt/gcc11/lib64 por la ruta de instalación de la versión de GCC alternativa que se vaya a utilizar en el proceso de compilación de este paquete.

Extracción y Configuración  Bloc de Notas Información general sobre el uso de los comandos

$ tar zxvf mlt-7.0.1.tar.gz
$ cd mlt-7.0.1
$ mkdir build; cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSWIG_PYTHON=ON \
-DCMAKE_AR=$(which $AR) -DCMAKE_RANLIB=$(which $RANLIB) -DCMAKE_NM=$(which $NM) \
-DCMAKE_PREFIX_PATH=$(pkg-config --variable=libdir Qt5Core)/cmake -G Ninja ..

Explicación de los comandos

-DCMAKE_INSTALL_PREFIX=/usr : Instala el paquete en el directorio principal, /usr.

-DSWIG_PYTHON=ON : Compila la adaptación de MLT para Python.

-DCMAKE_AR=$(which $AR) -DCMAKE_RANLIB=$(which $RANLIB) -DCMAKE_NM=$(which $NM) : Sincroniza las variables de entorno establecidas en el manual, relativas a los binarios ejecutables intermedios, gcc-ar, gcc-ranlib y gcc-nm, con los parámetros de configuración utilizados por CMake, relativos a los programas ar, ranlib y nm, para poder aplicar correctamente la optimización LTO. Se utiliza el comando which para buscar los ejecutables porque desde hace ya varias versiones, CMake no establece correctamente la ruta al ejecutable en cuestión.

-DCMAKE_PREFIX_PATH=$(pkg-config --variable=libdir Qt5Core)/cmake : Si hemos instalado Qt5 en un directorio no habitual, le indicamos la ruta correspondiente a los archivos de configuración de CMake que se instalan con el mismo.

-G Ninja : Utiliza Ninja en lugar de GNU Make para compilar el paquete (opcional).

Compilación

$ ninja

Parámetros de compilación opcionales

Instalación como root

$ su
# ninja install/strip
# ln -s mlt7.py /usr/lib64/python3.9/site-packages/mlt.py
# ldconfig -v

Explicación de los comandos

ln -s mlt7.py /usr/lib64/python3.9/site-packages/mlt.py : Crea un enlace simbólico del modúlo MLT de Python para poder utilizar Flowblade con MLT 7.

Estadísticas de Compilación e Instalación de MLT

Estadísticas de Compilación e Instalación de MLT
CPU AMD Ryzen 3 3100 4-Core Processor
MHz 3593.246
RAM 8 GB
Sistema de archivos XFS
Versión del Kernel 5.12.5-ck1 SMP PREEMPT x86_64
Modo de frecuencia de la CPU performance
Versión de Glibc 2.33
Enlazador dinámico GNU gold (Binutils 2.36.1) 1.16
Compilador GCC 11.1.0 + Ccache 4.3
Parámetros de optimización -03 -march=znver2 -mtune=znver2 -ftree-loop-linear -floop-strip-mine -floop-block -fipa-pta -fuse-linker-plugin -flto=auto
Parámetros de compilación -v -j8
Tiempo de compilación 9"
Archivos instalados 428
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 6
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 4,4 MB

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX

mlt-7.0.1-scripts.tar.gz

$ su
# tar zxvf mlt-7.0.1-scripts.tar.gz
# cd mlt-7.0.1-scripts
# ./Desinstalar_mlt-7.0.1

Copia de Seguridad como root

$ su
# tar zxvf mlt-7.0.1-scripts.tar.gz
# cd mlt-7.0.1-scripts
# ./Respaldar_mlt-7.0.1

Restaurar la Copia de Seguridad como root

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_mlt-7.0.1



Flowblade

Instalación

Dependencias


Entre paréntesis la versión con la que se ha instalado Flowblade para la elaboración de este documento.

* D-Bus-Python - (1.2.16)
* MLT - (7.0.1)
* NumPy - (1.20.3)
* Pillow - (8.2.0)
* Pycairo - (1.20.0)
* PyGobject - (3.40.1)
* Python - (3.9.5)

Aplicaciones

* G'MIC - (2.9.2)
* Convert (ImageMagick) - (7.0.11-13) [1]

[1] Requerido para poder crear los iconos en formato PNG que no proporciona el paquete.



Descarga

flowblade-2.8.0.3.tar.xz

Firma Digital  Clave pública PGP

flowblade-2.8.0.3.tar.xz.asc 

Verificar la firma digital del paquete

$ gpg --import manualinux.asc (sólo es necesario si no lo hemos hecho antes)
$ gpg --verify flowblade-2.8.0.3.tar.xz.asc flowblade-2.8.0.3.tar.xz

Extracción e Instalación como root  Bloc de Notas Información general sobre el uso de los comandos

$ tar Jxvf flowblade-2.8.0.3.tar.xz
$ cd flowblade-2.8.0.3
$ sed -i '39c\    modules_path = "/usr/lib64/python3.9/site-packages/Flowblade"' flowblade
$ su
# python3 setup.py install
# update-mime-database /usr/share/mime &> /dev/null
# for i in /usr/share/icons/hicolor ; do \
install -dm755 $i/{16x16,24x24,32x32,64x64,128x128}/apps ; \
install -m644 installdata/io.github.jliljebl.Flowblade.png $i/128x128/apps/io.github.jliljebl.Flowblade.png ; \
convert -resize 64 installdata/io.github.jliljebl.Flowblade.png $i/64x64/apps/io.github.jliljebl.Flowblade.png ; \
convert -resize 48 installdata/io.github.jliljebl.Flowblade.png $i/48x48/apps/io.github.jliljebl.Flowblade.png ; \
convert -resize 32 installdata/io.github.jliljebl.Flowblade.png $i/32x32/apps/io.github.jliljebl.Flowblade.png ; \
convert -resize 24 installdata/io.github.jliljebl.Flowblade.png $i/24x24/apps/io.github.jliljebl.Flowblade.png ; \
convert -resize 16 installdata/io.github.jliljebl.Flowblade.png $i/16x16/apps/io.github.jliljebl.Flowblade.png ; \
gtk-update-icon-cache -tf $i &> /dev/null ; \
rm -f /usr/share/pixmaps/io.github.jliljebl.Flowblade.png ; \
done


Explicación de los comandos

sed -i '39c\    modules_path = "/usr/lib64/python-3.9/site-packages/Flowblade"' flowblade  : Cambiamos la ruta de instalación del programa del script de ejecución del mismo, ya que éste sólo está configurado para funcionar en Debian y derivados.

python setup.py install : Instalamos el programa en el directorio principal /usr

update-mime-database /usr/share/mime &> /dev/null : Actualizamos los tipos MIME del sistema para que incluyan el formato de archivo de proyecto (*.flb) proporcionado por Flowblade.

for i in /usr/share/icons/hicolor..... : Creamos e instalamos los iconos del programa, en sus diferentes medidas compatibles con el estándar de tamaño de icono de freedesktop.org.

Estadísticas de instalación de Flowblade

Estadísticas de Instalación de Flowblade
Sistema de archivos XFS
Archivos instalados 1.762
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 46,4 MB

Consumo inicial de CPU y RAM de Flowblade

Consumo inicial de CPU y RAM de Flowblade
Programa
CPU RAM
flowblade 8 % 1,6 GB
Para medir el consumo de CPU se utiliza el programa mate-system-monitor, y para medir el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace.

Directorio de configuración personal

~/.config/flowblade Es el directorio de configuración personal de Flowblade en nuestro home.

Desinstalación como root

1) MODO TRADICIONAL

***********************

2) MODO MANUALINUX

flowblade-2.8.0.3-scripts.tar.gz

$ su
# tar zxvf flowblade-2.8.0.3-scripts.tar.gz
# cd flowblade-2.8.0.3-scripts
# ./Desinstalar_flowblade-2.8.0.3

Copia de Seguridad como root

$ su
# tar zxvf flowblade-2.8.0.3-scripts.tar.gz
# cd flowblade-2.8.0.3-scripts
# ./Respaldar_flowblade-2.8.0.3

Restaurar la Copia de Seguridad como root

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_flowblade-2.8.0.3



Traducción al Español alternativa 

Descarga

Flowblade_es-ML0.run

Firma Digital  Clave pública PGP

Flowblade_es-ML0.run.asc 

Verificar la firma digital del paquete

$ gpg --import manualinux.asc (sólo es necesario si no lo hemos hecho antes)
$ gpg --verify Flowblade_es-ML0.run.asc Flowblade_es-ML0.run

Instalación como root

$ su -c "sh Flowblade_es-ML0.run"



Iniciamos Flowblade  

Sólo nos queda teclear en una terminal o en un lanzador el comando flowblade, y el programa aparecerá en la pantalla.


Captura - Flowblade - 1


Captura - Flowblade - 2


Captura - Flowblade - 3


Captura - Flowblade - 4




Enlaces  


http://www.mltframework.org >> La web de MLT.

https://github.com/jliljebl/flowblade >> La web de Flowblade.


Foro Galería Blog


Actualizado el 20-05-2021

Editores de Vídeo - Flowblade

Editores de Vídeo - CinelerraEditores de Vídeo - LiVES