OBS-Studio
Debian 10
Este tutorial está hecho para hacer funcionar correctamente el programa osb-studio en Debian10.
Anteriormente había compilado el programa en Ubuntu 20.10 y funcionaba bien.
El primer paso es crear el directorio donde instalaremos las fuentes del programa.
mkdir obs
nos introducimos en el directorio creado.
cd obs
Antes de hacer nada vamos a instalar una serie de paquetes que necesitamos para poder compilar el programa.
Para instalar programas debemos ser root.
Desde una consola tecleamos
su -> contraseña
sudo apt install v4l2loopback-dkms v4l2loopback-utils
Para probar que funciona listamos los devices de video antes y después de cargar el módulo.
ls /dev/video*
sudo modprobe v4l2loopback devices=1 video_nr=5 card_label=VirtualCam exclusive_caps=1
ls /dev/video*
Veremos que se creó un /dev/video5 virtual.
Para no tener que crearlo cada vez que queramos ejecutar el osb-studio , hacemos que lo cargue automáticamente al iniciar el sistema.
echo "options v4l2loopback devices=1 video_nr=5 card_label=VirtualCam exclusive_caps=1" | sudo tee /etc/modprobe.d/v4l2loopback.conf
echo "v4l2loopback" | sudo tee /etc/modules-load.d/v4l2loopback.conf
Pasemos a instalar otro de los paquetes requeridos , checkinstall.
En Ubuntu se encuentra en sus repositorios, pero en Debian 10 no existe este paquete, por lo que he tenido que bajarlo de los repositorios de el próximo Debian 11.
Este paquete sirve para crear el paquete obs-studio.deb, que una vez bajado lo instalamos con la orden:
sudo dpkg -i checkinstall_1.6.2+git20170426.d24a630-2~bpo10+1_amd64
También debemos añadir a nuestros repositorios non-free contrib .
Quedaría de la siguiente manera:
deb http://deb.debian.org/debian/ buster non-free contrib main
Ahora ya podemos instalar todos los paquetes que necesitamos para compilar.
sudo apt-get install \
build-essential \
checkinstall \
cmake \
git \
libmbedtls-dev \
libasound2-dev \
libavcodec-dev \
libavdevice-dev \
libavfilter-dev \
libavformat-dev \
libavutil-dev \
libcurl4-openssl-dev \
libfdk-aac-dev \
libfontconfig-dev \
libfreetype6-dev \
libgl1-mesa-dev \
libjack-jackd2-dev \
libjansson-dev \
libluajit-5.1-dev \
libpulse-dev \
libqt5x11extras5-dev \
libspeexdsp-dev \
libswresample-dev \
libswscale-dev \
libudev-dev \
libv4l-dev \
libvlc-dev \
libx11-dev \
libx264-dev \
libxcb-shm0-dev \
libxcb-xinerama0-dev \
libxcomposite-dev \
libxinerama-dev \
pkg-config \
python3-dev \
qtbase5-dev \
libqt5svg5-dev \
swig \
libxcb-randr0-dev \
libxcb-xfixes0-dev \
libx11-xcb-dev \
libxcb1-dev \
libxss-dev
Pasamos a usuario normal con:
exit
Nos toca bajar los ficheros fuente y compilarlos:
git clone --recursive https://github.com/obsproject/obs-studio.git
cd obs-studio
mkdir build && cd build
cmake -DUNIX_STRUCTURE=1 -DCMAKE_INSTALL_PREFIX=/usr ..
make -j4
Instalamos como root todos los ficheros con:
su -> contraseña
make install
Pasamos a usuario normal con:
exit
Ejecutamos el programa:
obs
Vemos que funciona casi todo, pero no aparece el botón de Iniciar cámara virtual.
Revisando los mensajes que aparecen en la consola cuando ejecutamos el programa, podemos ver un error que nos dice que el módulo v4l2loopback no está cargado.
Nos cercioramos que si está cargado con la orden:
lsmod
Aquí me puse a investigar este error en internet, encontrando la solución.
https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1781337.html
En principio explica el programador que no está aún probado suficientemente en Debian sin dar una solución.
Otra persona da una solución, pero en mi caso creo que nhttps://youtu.be/28X_Ix0ZHkko me funcionó, por lo que anule la comprobación, dándola por buena.
No es la mejor solución, pero mientras no saquen el parque lo añadí yo.
Editar el fichero (utilizo como editor pluma) con la orden: https://github.com/obsproject/obs-studio.git
pluma ../plugins/linux-v4l2/linux-v4l2.c
Busco la parte donde aparece esto:
{
bool loaded = false;
int ret = system("modinfo v4l2loopback >/dev/null 2>&1");
//inserto a siguiente línea
ret=0;
if (ret == 0)
loaded = true;
Ahora ya no comprueba si está cargado el módulo.
Guardamos el fichero y volvemos a compilar:
make -j4
Instalamos como root todos los ficheros con:
su -> contraseñahttps://youtu.be/0lU4ZRgtTlI
make install
Pasamos a usuario normal con:
exit
Ejecutamos el programa:
obs
Ahora aparece el botón de Iniciar cámara virtual.
Si queremos crear el paque obs-studio.deb tecleamos las ordenes.
su -> contraseña
sudo checkinstall --default --pkgname=obs-studio --fstrans=no --backup=no --pkgversion="$(date +%Y%m%d)-git" --deldoc=yes
Después de esperar un rato nos habrá creado el paquete:
obs-studio_20201229-git-1_amd64.deb https://github.com/obsproject/obs-studio.git
Este paquete se podrá instalar que cualquier Debian 10 64bits sin necesidad de compilar nada.
En anteriores versiones de obs-studio no existía el botón de Iniciar cámara virtual, por lo que se hacía mediante el plugins obs-v4l2sink.
Vamos a bajar la fuentes y a compilar.
Nos trasladamos al directorio donde habíamos bajado las fuentes del obs-studio.
cd..
cd..
git clone https://github.com/CatxFish/obs-v4l2sink.git
cd obs-v4l2sink
mkdir build && cd build
cmake -DLIBOBS_INCLUDE_DIR="../../obs-studio/libobs" -DCMAKE_INSTALL_PREFIX=/usr ..
make -j4
Instalamos como root todos los ficheros con:
su -> contraseña
make install
En el proceso de instalación me di cuenta que el plugins no era copiado en el directorio correcto.
Por lo que manualmente lo copio con la orden:
cp v4l2sink.so /usr/lib/obs-plugins/
Pasamos a usuario normal con:
exit
Ya solo tenemos que ejecutar el programa y ver que todo funciona.
obs
Todos los anteriores pasos los he probado en Debian10 32bits, funcionando perfectamente.
VIDEO
Saludos
Juan Galaz
Bibliografía:
https://obsproject.com/
https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1781337.html
https://github.com/obsproject/obs-studio.git
https://github.com/CatxFish/obs-v4l2sink.git
https://youtu.be/0lU4ZRgtTlI