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-2023   http://manualinux.es



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 - (13.2.0)
* Gawk - (5.3.0)
* M4 - (1.4.19)
* Libtool - (2.4.7)
* Make - (4.4.1)
* Automake - (1.16.5)
* Autoconf - (2.71)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Eigen3 - (3.4.0)
Epoxy - (1.5.10)
* Fftw3 - (3.3.10)
* Google Benchmarch - (1.8.3)



Descarga

movit-1.7.1.tar.gz

Optimizaciones

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

Donde pone znver3 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 -L/opt/gcc13/lib64"
Cada usuario tendrá que establecer la ruta de búsqueda de directorios, en función de la distribución que utilice.

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

Establecer el uso de enlazador dinámico para Mold
$ export LDFLAGS+=' -fuse-ld=mold'

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

$ tar zxvf movit-1.7.1.tar.gz
$ cd movit-1.7.1
$ ./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. La ubicación y el nombre de este directorio, puede variar en función de la distribución que cada usuario use.

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$(nproc) : 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.5
# 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 5 5500
MHz 3593.250 (BoostMax=4457.000)
RAM 32 GB
Sistema de archivos XFS
Versión del Kernel 6.6.3-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Planificador de CPU BORE
Versión de Glibc 2.38
Enlazador dinámico GNU gold (GNU Binutils 2.41) 1.16
Compilador GCC 13.2.0
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -ftree-loop-linear -floop-strip-mine -floop-block -fipa-pta -fuse-linker-plugin -flto=auto
Parámetros de compilación V=1 -j12
Tiempo de compilación 13"
Archivos instalados 48
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 888 KB

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.7.1-scripts.tar.gz

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

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.7.1-scripts.tar.gz
# cd movit-1.7.1-scripts
# ./Respaldar_movit-1.7.1

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.7.1



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 - (13.2.0)
* Swig - (4.1.1)
* CMake - (3.27.9)
* Ninja - (1.11.1)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Xorg- (7.7 / xorg-server 21.1.9)
   LibICE - (1.1.1)
   LibX11 - (1.8.7)
   LibXext - (1.3.5)
* ALSA - (1.2.10)
* Fftw3 - (3.3.10)
* Freetype2 - (2.13.2)
* Freir0r - (2.3.1)
* Fontconfig - (2.14.2)
* Gdk-Pixbuf - (2.42.10)
* GLib - (2.74.7)
* JACK - (1.99.22)
* LADSPA - (1.17)
* Libarchive - (3.7.2)
* Libavcodec - (60.31.102)
* Libavfilter - (9.12.100)
* Libavformat - (60.16.100)
* Libavdevice - (60.3.100)
* Libavutil - (58.29.100)
* Libebur128 - (1.2.6)
* Libexif - (0.6.24)
* Libglvnd - (1.7.0)
* Librubberband - (3.3.0)
* Libsamplerate - (0.2.2)
* Libswscale - (7.5.100)
* Libswresample - (4.12.100)
* Libvorbis - (1.3.7)
* Libvulkan - (1.3.271)
* Libxml2 - (2.11.6)
* Movit - (1.7.1)
* Pango - (1.50.14)
* Python - (3.12.0)
* PulseAudio - (16.1)
* Qt6 - (6.6.0)
* RtAudio - (5.2.0)
* SDL - (1.2.15 | 2.28.3)
* Sox - (14.4.2)
* Vid.stab - (1.1.0)
* Zlib - (1.3)



Descarga

mlt-7.22.0.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 -L/opt/gcc13/lib64"
Cada usuario tendrá que establecer la ruta de búsqueda de directorios, en función de la distribución que utilice.

Establecer el uso de enlazador dinámico para Mold
$ export LDFLAGS+=' -fuse-ld=mold'

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

$ tar zxvf mlt-7.22.0.tar.gz
$ cd mlt-7.22.0
$ 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 Qt6Core)/cmake \
-DMOD_GLAXNIMATE_QT6=ON -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 Qt6Core)/cmake : Si hemos instalado Qt6 en un directorio no habitual, le indicamos la ruta correspondiente a los archivos de configuración de CMake que se instalan con el mismo.

-DMOD_GLAXNIMATE_QT6=ON : Activa la compilación del módulo glaxnimate para Qt6, para el renderizado de animaciones vectoriales.

-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
# ldconfig -v

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

Estadísticas de Compilación e Instalación de MLT
CPU AMD Ryzen 5 5500
MHz 3593.250 (BoostMax=4457.000)
RAM 32 GB
Sistema de archivos XFS
Versión del Kernel 6.6.3-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Planificador de CPU BORE
Versión de Glibc 2.38
Enlazador dinámico GNU gold (GNU Binutils 2.41) 1.16
Compilador GCC 13.2.0 + Ccache 4.8.3
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -ftree-loop-linear -floop-strip-mine -floop-block -fipa-pta -fuse-linker-plugin -flto=auto
Parámetros de compilación -v -j12
Tiempo de compilación 1' 23"
Archivos instalados 452
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 5
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 7,6 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.22.0-scripts.tar.gz

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

Copia de Seguridad como root

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

Restaurar la Copia de Seguridad como root

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



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.3.2)
* MLT - (7.22.0)
* NumPy - (1.26.2)
* Pillow - (10.1.0)
* Pycairo - (1.25.1)
* PyGObject - (3.42.2)
* Python - (3.12.1)

Módulos de Python

* Pip - (23.3.2) [1]
* Wheel - (0.42.0) [2]

Aplicaciones

* G'MIC - (3.0.1)
* Convert (ImageMagick) - (7.1.1-24) [3]

[1] Requerido para poder instalar el paquete.
[2] Requerido para poder crear el paquete en formato instalable por Pip.
[1] Requerido para poder crear los iconos en formato PNG que no proporciona el paquete.



Descarga

flowblade-2.12.0.2.tar.xz

Firma Digital  Clave pública PGP

flowblade-2.12.0.2.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.12.0.2.tar.xz.asc flowblade-2.12.0.2.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.12.0.2.tar.xz
$ cd flowblade-2.12.0.2
$ sed -i '38c\    modules_path = "/usr/lib64/python3.12/site-packages/Flowblade"' flowblade
$ su
# python3 setup.py bdist_wheel
# pip3 install dist/flowblade-2.12.0.2-py3-none-any.whl
# 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 '38c\    modules_path = "/usr/lib64/python-3.12/site-packages/Flowblade"' flowblade  : Modifica 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 bdist_wheel : Crea el paquete en formato WHL para poder instalarlo con Pip.

pip3 install dist/flowblade-2.12.0.2.0-py3-none-any.whl : Instala el paquete generado anteriormente, con Pip.

update-mime-database /usr/share/mime &> /dev/null : Actualiza 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..... : Crea e instala 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.030
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 43,5 MB

Consumo inicial de CPU y RAM de Flowblade

Consumo inicial de CPU y RAM de Flowblade
Programa
CPU RAM
flowblade 120 % 785,7 MB
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

$ su -c "pip3 uninstall flowblade"

2) MODO MANUALINUX

flowblade-2.12.0.2-scripts.tar.gz

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

Copia de Seguridad como root

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

Restaurar la Copia de Seguridad como root

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



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 28-12-2023

Editores de Vídeo - Flowblade

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