Mira... Yo tengo una empresa que trabaja editando videos publicitarios en forma profesional para Cine, TV y Streaming así que de video tenemos bastante experiencia. Es por ello que te puedo asegurar que Linux está tremendamente atrasado en todo lo que sea video y gráfica profesional por lo que no me sorprende que al actualizar una maquina a una muchísimo más moderna el comportamiento en el trabajo de video sea menos eficiente y más lento. A nosotros nos pasa a menudo, con máquinas de 16 núcleos Xeon la sola transposición para sólo adaptar las frames a una norma, es una tortura pues es tremendamente lenta sobre Linux.
Una solución de compromiso que no resuelve totalmente los tremendos atrasos de Linux en cuestión de videos es actualizar los drivers e instalar MESA. Eso, con suerte y viento a favor, te podrá sacar momentáneamente del paso, pero no te solucionará el tema de la lentitud que tiene LINUX al trabajar video y muchos más con hardware gráfico nuevo. Nosotros hace rato que DEJAMOS de USAR Linux para trabajos en video y gráfica porque NO sirve, esta tan desactualizado que los empleados editores se quejaban porque les hacía perder mucho tiempo y los programas que tenían a mano para editar eran muchísimo más pobres que los que puede haber en Windows o Macs. Así que dejamos de usar Linux en gráfica, usamos WINDOWS para gráfica y videos mientras dejamos LINUX en servers y PC Administrativas. Para finalizar: Con Linux y algunos programitas se pueden hacer videos pero de manera NO profesional y con un desperdicio de recursos impresionante. Conocemos que hay películas, animaciones y clips hechos enteramente con LINUX pero... lo que no dicen es que lo hecho llevó muchísimo más tiempo, más recursos de PC y mucho más esfuerzo que si lo hubiesen realizado con Windows. El lunes, 12 de abril de 2021 16:23:25 ART, jEsuSdA 8) <lis...@jesusda.com> escribió: Hola, compañeros. Recientemente he cambiado de PC, pasé de tener un Intel Core i5 4460 con tarjeta gráfica integrada a un Xeon E5 2678 v3 con gráfica AMD RADEON RX 550. Sobre el papel, el nuevo PC es del orden de 3 a 7 veces más potente que el antiguo y puedo atestiguar que así es en el uso diario, edición de vídeo e imagen etc. La ventaja de tener tantos núcleos e hilos disponibles es palplable. A nivel juegos no lo he probado porque realmente no soy gamer y los pocos juegos que uso son los típicos libres que vienen con Debian y algún emulador que, sinceramente, ya funcionaban bien con el PC antiguo. Sin embargo hay una tarea que me trae de cabeza por su terrible desempeño: la captura de pantalla en vídeo. Con mi antiguo PC era capaz de capturar a más de 60 fps a pantalla completa mientras realizaba cualquier tarea de la que necesitara hacer videotutorial. Incluso con mi lenovo thinkpad x230 logro capturar pantalla a más de 80fps con total fluidez. El comando que he empleado siempre es: ffmpeg -f x11grab -draw_mouse 1 -framerate 60 -video_size 1920x1200 -i :0.0+1680,0 -qscale 0 -pix_fmt yuv420p -c:v libx264 -preset medium -qp 0 -q:v 1 -s 1920x1200 -f matroska -threads 4 video.mkv Notas: -video_size 1920x1200 -i :0.0+1680,0 y -s 1920x1200 son las dimensiones y posición de la región a capturar (mi monitor derecho). Nótese que incluso usaba -preset medium y codificación por software, de forma que obtenía muy buena calidad incluso con esa configuración de parámetros y sin bajar nunca de los 60 fps. ¿Qué me ocurre ahora? El equipo es incapaz de capturar a más de 20 fps lo que hace que cualquier vídeo sea inválido al ir a saltos y no llegar siquiera a 30fps, que sería lo mínimo exigible. Además, se nota bastante la merma de respuesta del equipo en cuanto lanzo el comando. Es decir, toda esa fluidez y suavidad que se aprecia cuando se trabaja normalmente, desaparece y hasta el desplazar una ventana de un lado a otro resulta tosco y a trompicones. He probado con distintos parámetros de ffmpeg, a capturar en bruto, sin codificar. He probado a guardar el vídeo resultante directamente en un disco en RAM, para evitar el posible cuello de botella de la escritura en disco. No afecta en absoluto. Así las cosas, ¿Alguien tiene alguna sugerencia de, al menos, por donde puedo seguir indagando para hallar solución al problema? Datos adicionales, por si son de ayuda: $ → inxi CPU: 12-Core Intel Xeon E5-2678 v3 (-MT MCP-) speed/min/max: 1201/1200/3300 MHz Kernel: 5.10.0-0.bpo.4-amd64 x86_64 Up: 1d 6h 55m Mem: 6427.6/32012.4 MiB (20.1%) Storage: 13.76 TiB (55.9% used) Procs: 433 Shell: bash 5.0.18 inxi: 3.0.32 $ → ffmpeg -v ffmpeg version 4.1.6 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-libopencv --disable-outdev=sdl2 --disable-podpages --disable-sndio --disable-stripping --enable-libaom --enable-avfilter --enable-avresample --enable-gcrypt --disable-gnutls --enable-openssl --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libzimg --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opencl --enable-opengl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --enable-libwebp --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --enable-libmfx --enable-libvmaf --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu libavutil 56. 22.100 / 56. 22.100 libavcodec 58. 35.100 / 58. 35.100 libavformat 58. 20.100 / 58. 20.100 libavdevice 58. 5.100 / 58. 5.100 libavfilter 7. 40.101 / 7. 40.101 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 3.100 / 5. 3.100 libswresample 3. 3.100 / 3. 3.100 libpostproc 55. 3.100 / 55. 3.100 Tengo los drivers amdgpu libres (no los amdgpu-pro), pero activé opencl por si acaso. Seguí este tutorial: https://linuxconfig.org/how-to-install-the-latest-amd-drivers-on-debian-10-buster $ → glxinfo | grep OpenGL OpenGL vendor string: AMD OpenGL renderer string: Radeon RX550/550 Series (POLARIS12, DRM 3.40.0, 5.10.0-0.bpo.4-amd64, LLVM 11.0.1) OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.3.4 OpenGL core profile shading language version string: 4.60 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.3.4 OpenGL shading language version string: 4.60 OpenGL context flags: (none) OpenGL profile mask: compatibility profile OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.3.4 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 OpenGL ES profile extensions: $ → clinfo Number of platforms 1 Platform Name Clover Platform Vendor Mesa Platform Version OpenCL 1.1 Mesa 20.3.4 Platform Profile FULL_PROFILE Platform Extensions cl_khr_icd Platform Extensions function suffix MESA Platform Name Clover Number of devices 1 Device Name Radeon RX550/550 Series (POLARIS12, DRM 3.40.0, 5.10.0-0.bpo.4-amd64, LLVM 11.0.1) Device Vendor AMD Device Vendor ID 0x1002 Device Version OpenCL 1.1 Mesa 20.3.4 Driver Version 20.3.4 Device OpenCL C Version OpenCL C 1.1 Device Type GPU Device Profile FULL_PROFILE Device Available Yes Compiler Available Yes Max compute units 8 Max clock frequency 1183MHz Max work item dimensions 3 Max work item sizes 256x256x256 Max work group size 256 Preferred work group size multiple 64 Preferred / native vector sizes char 16 / 16 short 8 / 8 int 4 / 4 long 2 / 2 half 0 / 0 (n/a) float 4 / 4 double 2 / 2 (cl_khr_fp64) Half-precision Floating-point support (n/a) Single-precision Floating-point support (core) Denormals No Infinity and NANs Yes Round to nearest Yes Round to zero No Round to infinity No IEEE754-2008 fused multiply-add No Support is emulated in software No Correctly-rounded divide and sqrt operations No Double-precision Floating-point support (cl_khr_fp64) Denormals Yes Infinity and NANs Yes Round to nearest Yes Round to zero Yes Round to infinity Yes IEEE754-2008 fused multiply-add Yes Support is emulated in software No Address bits 64, Little-Endian Global memory size 3221225472 (3GiB) Error Correction support No Max memory allocation 1717986918 (1.6GiB) Unified memory for Host and Device No Minimum alignment for any data type 128 bytes Alignment of base address 32768 bits (4096 bytes) Global Memory cache type None Image support No Local memory type Local Local memory size 32768 (32KiB) Max number of constant args 16 Max constant buffer size 67108864 (64MiB) Max size of kernel argument 1024 Queue properties Out-of-order execution No Profiling Yes Profiling timer resolution 0ns Execution capabilities Run OpenCL kernels Yes Run native kernels No Device Extensions cl_khr_byte_addressable_store cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp64 NULL platform behavior clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) Clover clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [MESA] clCreateContext(NULL, ...) [default] Success [MESA] clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) Success (1) Platform Name Clover Device Name Radeon RX550/550 Series (POLARIS12, DRM 3.40.0, 5.10.0-0.bpo.4-amd64, LLVM 11.0.1) clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) Success (1) Platform Name Clover Device Name Radeon RX550/550 Series (POLARIS12, DRM 3.40.0, 5.10.0-0.bpo.4-amd64, LLVM 11.0.1) clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) Success (1) Platform Name Clover Device Name Radeon RX550/550 Series (POLARIS12, DRM 3.40.0, 5.10.0-0.bpo.4-amd64, LLVM 11.0.1) ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.2.12 ICD loader Profile OpenCL 2.2 No se trataría de ningún problema de tearing, ya que no se aprecia tearing alguno al reproducir vídeos y la directiva TearFree de los controladores está activada. $ → xrandr --verbose | grep TearFree TearFree: on TearFree: on TearFree: on Muchas gracias. ;)