¡Buenas!
ffmpeg falla al transcodificar vídeo mediante libaom-av1. Desconozco si os encargáis vosotros de transmitir el error a los desarrolladores o si me corresponde a mí hacerlo.
Las cadenas utilizadas para la transcodificación son las siguientes:
ffmpeg -nostdin -i ../video_1.mkv -map 0:v:0 -pix_fmt yuv420p10le -colorspace bt709 -color_primaries bt709 -color_trc bt709 -b:v 1500k -minrate:v 750k -maxrate:v 2175k -tile-columns 1 -tile-rows 1 -row-mt 1 -threads 4 -frame-parallel 1 -g 250 -auto-alt-ref 1 -lag-in-frames 48 -cpu-used 4 -tune ssim -aq-mode 1 -crf 32 -denoise-noise-level 5 -aom-params "sb-size=64:enable-dnl-denoising=0:enable-qm=1" -passlogfile AOM_GR05_CQ32_1500_C4_1 -pass 1 -c:v libaom-av1 -f null -y /dev/null &&\
ffmpeg -nostdin -i ../video_1.mkv -map 0:v:0 -pix_fmt yuv420p10le -colorspace bt709 -color_primaries bt709 -color_trc bt709 -b:v 1500k -minrate:v 750k -maxrate:v 2175k -tile-columns 1 -tile-rows 1 -row-mt 1 -threads 4 -frame-parallel 1 -g 250 -auto-alt-ref 1 -lag-in-frames 48 -cpu-used 4 -tune ssim -aq-mode 1 -crf 32 -denoise-noise-level 5 -aom-params "sb-size=64:enable-dnl-denoising=0:enable-qm=1" -passlogfile AOM_GR05_CQ32_1500_C4_1 -pass 2 -c:v libaom-av1 -map 0:a:0 -c:a copy -y video-AOM_GR05_CQ32_1500_C4_1.mkv
Donde …/video_1.mkv hace referencia al siguiente archivo (un segmento de una prueba de grabación de un juego realizada mediante OBS, hasta donde se, todo legal):
Al parecer no puedo incluir el enlace al archivo. Lo dejo con espacios alrededor de los símbolos especiales
https :// mega.nz /file/mQEQlAJA#FhNDbmnvGHHHR9h41agLoHiS3XTqtbm0A5qXEIIRee8
Y éste el mensaje de error que da ffmpeg:
ffmpeg: /usr/src/debug/aom/libaom-3.7.0/aom_dsp/flow_estimation/x86/disflow_sse4.c:31: get_cubic_kernel_dbl: Assertion `0 <= x && x < 1' failed.
convertir_AOM_1.sh: línea 2: 33693 Abortado (`core' generado) ffmpeg -nostdin -i ../video_1.mkv -map 0:v:0 -pix_fmt yuv420p10le -colorspace bt709 -color_primaries bt709 -color_trc bt709 -b:v 1500k -minrate:v 750k -maxrate:v 2175k -tile-columns 1 -tile-rows 1 -row-mt 1 -threads 4 -frame-parallel 1 -g 250 -auto-alt-ref 1 -lag-in-frames 48 -cpu-used 4 -tune ssim -aq-mode 1 -crf 32 -denoise-noise-level 5 -aom-params "sb-size=64:enable-dnl-denoising=0:enable-qm=1" -passlogfile AOM_GR05_CQ32_1500_C4_1 -pass 2 -c:v libaom-av1 -map 0:a:0 -c:a copy -y video-AOM_GR05_CQ32_1500_C4_1.mkv
Si fuese yo quien tuviese que ponerse en contacto con los desarrolladores agradecería que me dijeseis qué información suele ser útil, dónde puedo encontrarla y cual es la forma oficial para hacerlo.
¡Un saludo!
La versión actual, 6.0-13 continua fallando en la misma función.
==========
"SOLUCIÓN"
==========
Al final he conseguido descargar la última versión de ffmpeg y ha resultado que está libre de problemas, al menos para mi sistema y para mi hardware.
Dejo los pasos a seguir, como solución temporal hasta que el paquete de Manjaro se actualice, por si alguien se encuentra en la misma situación que yo:
-
En la seccion descargas del sitio oficial de ffmpeg, en la parte inferior de Compilaciones estáticas para Linux, hay un enlace a una web exterior al propio sitio con compilaciones realizadas por un tal John Van Sickle.
-
En la parte inferior hay enlaces de descarga para la última versión disponible y la última estable. En la columna de la izquierda están los enlaces para obtener la última versión posible. Escoged la que corresponda a vuesta arquitectura. Por si alguien no conoce ya el dato amd64 es lo mismo que x86_64
-
Ahora tendréis un archivo .tar.xz en vuestro sistema. Para extraer los datos, si vuestro gestor de archivos no lo reconoce, tenéis que ejecutar
tar -xvf el_archivo_que_hayáis_descargado.tar.xz
y en el mismo directorio se habrá creado una carpeta/directorio con el contenido del archivo .tar.xz -
En el nuevo directorio estará la última compilación disponible de ffmpeg. Para invocarla tendréis que hacerlo mediante la ruta completa al ejecutable. Por ejemplo si el ejecutable se encuentra en ~/Descargas/ffmpeg-git-20231031-amd64-static/ tendréis que invocarlo así
/home/vuestro_usuario/Descargas/ffmpeg-git-20231031-amd64-static/ffmpeg bla_bla_bla -i entrada bla_bla_bla salida.extension
-
Como último paso y por comodidad podéis añadir el contenido del nuevo directorio a una de las rutas que se encuentren en vuestro $PATH. En mi caso la primera ruta en la que busca ejecutbles es /home/mi_usuario/.local/bin así que lo he copiado todo ahí:
cp -r ~/Descargas/ffmpeg-git-20231031-amd64-static/* /home/mi_usuario/.local/bin
(Si /home/vuestro_usuario/.local/bin no existe, lo creáis:mkdir ~/.local/bin
) -
Ahora al ejecutar ffmpeg lo_que_sea como el primer directorio en el que busca los ejecutables es el del paso anterior, estaréis invocando la versión recien descargada de ffmpeg en vez de la del sistema.