Podes pedirle a opencode que cambie los colores de la terminal.
Para activar el audio en fbff
[esotericwarfare@arch ~]$ sudo modprobe snd_pcm_oss
Al intentar instalar fbff-git desde el AUR con yay, la compilación falla con este error:
ffs.c:93:17: error: implicit declaration of function 'avcodec_close'
El código de fbff usa la función avcodec_close(), que fue deprecada y eliminada en versiones recientes de FFmpeg. La función moderna es avcodec_free_context().
Instalar dependencias:
yay -S ffmpeg git base-devel
Descargar el PKGBUILD y extraer:
yay -G fbff-git
cd fbff-git
Editar el PKGBUILD y agregar el parche en la sección build():
build(){
cd "$srcdir/$pkgname"
sed -i 's/avcodec_close(ffs->cc)/avcodec_free_context(\&ffs->cc)/' ffs.c
make
}
Compilar e instalar:
makepkg -si
Si solo necesitás reproducir video en el framebuffer, mpv (del repositorio oficial) ya soporta DRM:
# Video con audio
mpv --vo=drm video.mkv
# Video sin audio
mpv --vo=drm --no-audio video.mkv
# Con aceleración de hardware (menos uso de CPU)
mpv --vo=drm --hwdec=auto video.mkv
Una vez instalado:
# Reproducir con sincronización básica
fbff -u -s video.mkv
# Silenciar audio (requiere /dev/dsp de OSS)
fbff -u -s -a - video.mkv
# Ajustar sincronización si el video es muy rápido
fbff -u -s100 -a - video.mkv
fbff decodifica en CPU purompv --vo=drm soporta aceleración de hardware (VA-API, VDPAU)fbff está abandonado, puede tener más problemas de compatibilidad con FFmpeg futuroAl intentar instalar fbff-git desde el AUR con yay:
yay -S fbff-git
La compilación fallaba con este error:
ffs.c:93:17: error: implicit declaration of function 'avcodec_close'
^~~~~~~~~~~~~
make: *** [Makefile:9: ffs.o] Error 1
El error indica que la función avcodec_close() no existe. Esto es porque:
FFmpeg actualizó su API - La función avcodec_close() fue deprecada en 2014 y eliminada en versiones recientes de FFmpeg.
La función moderna es avcodec_free_context() - Esta es la forma correcta de liberar un contexto de codec.
yay -G fbff-git
cd fbff-git
Esto descarga el PKGBUILD pero no compila.
nano PKGBUILD
Buscar la sección build() y modificarla:
Antes:
build(){
cd "$srcdir/$pkgname"
make
}
Después:
build(){
cd "$srcdir/$pkgname"
sed -i 's/avcodec_close(ffs->cc)/avcodec_free_context(\&ffs->cc)/' ffs.c
make
}
makepkg -si
O si ya tenés el paquete en el cache:
makepkg
sudo pacman -U fbff-git-*.pkg.tar.zst --noconfirm
El comando sed hace lo siguiente:
s/avcodec_close(ffs->cc)/avcodec_free_context(\&ffs->cc)/
| Original | Reemplazo |
|---|---|
avcodec_close(ffs->cc) |
avcodec_free_context(&ffs->cc) |
¿Por qué \\&? En sed, & significa “todo lo que matcheaste”. Para escribir literalmente & en el reemplazo, hay que escaparlo como \&.
El cambio ocurre en la función ffs_free():
Antes (línea 93):
if (ffs->cc)
avcodec_close(ffs->cc);
Después:
if (ffs->cc)
avcodec_free_context(&ffs->cc);
En lugar de modificar el PKGBUILD, podés clonar el repo, parchearlo, y compilar manualmente:
# Clonar el repo
git clone https://repo.or.cz/fbff.git
cd fbff
# Aplicar el parche
sed -i 's/avcodec_close(ffs->cc)/avcodec_free_context(\&ffs->cc)/' ffs.c
# Compilar
make
# Instalar
sudo cp fbff /usr/local/bin/
fbff --help
Debería mostrar:
usage: fbff [options] file
# Reproducir video
fbff video.mkv
# Con sincronización
fbff -u -s video.mkv
# Solo audio
fbff -v - video.mkv
# Escalar a 50%
fbff -z 0.5 video.mkv
# Posicionar en pantalla
fbff -x 100 -y 50 video.mkv
El proyecto fbff está abandonado. El autor original (Ali Gholami) no actualiza el código hace años. Este parche funciona con FFmpeg actual, pero futuras actualizaciones de FFmpeg podrían romper la compatibilidad nuevamente.
Imágenes
Video
Texto
Audio
Captura
Juegos
Extras
yay -S fim fbpdf fbgrab