Existen tres métodos de temporización en MPlayer.
Para usar el método viejo, no tiene que hacer
nada. Usa usleep()
para ajustar la sincronización
A/V, con una precisión de +/- 10ms. Sin embargo muchas veces la sincronización
debe ser más precisa.
El nuevo código temporizador usa el RTC (Reloj de
Tiempo Real) de su PC para esta tarea, ya que tiene precisión de 1ms. Es activado
automágicamente cuando está disponible, pero requiere privilegios de administrador,
que el archivo ejecutable de MPlayer tenga
permiso de SUID root o un núcleo configurado apropiadamente.
Si utiliza un núcleo 2.4.19pre8 o más nuevo entonces puede ajustar la frecuencia
máxima del RTC para usuarios normales a través del sistema de archivo
/proc
. Use
este comando para habilitar el RTC para usuarios normales:
echo 1024 > /proc/sys/dev/rtc/max-user-freq
Si no posee dicho núcleo actualizado, puede también cambiar una línea en el archivo drivers/char/rtc.c y recompilar el núcleo. Busque la sección que dice:
* We don't really want Joe User enabling more * than 64Hz of interrupts on a multi-user machine. */ if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))
y cambie el 64 por 1024. Debería realmente saber lo que esta haciendo de todas maneras. Puede ver la eficiencia del nuevo temporizador en la línea de estado. Las funciones de administración de energía de BIOS de algunas notebooks con cambio de velocidad de CPUs interactúan muy mal con el RTC. El vídeo y el audio puede salirse de sincronía. Enchufar el conector de energía externo antes de encender su notebook parece ayudar a solucionar la situación. Siempre que desee puede apagar el soporte de RTC con la opción -nortc. En algunas combinaciones de hardware (confirmado durante el uso de un disco no-DMA de DVD en una placa ALi1541) el uso del RTC puede causar defectos en la reproducción. Es recomendado usar el tercer método en esos casos.
El tercer código de temporización es activado con la opción -softsleep. Tiene la eficiencia del RTC, pero no usa el RTC. Por otro lado requiere más CPU.
¡NUNCA instale un archivo ejecutable de MPlayercon permisos de SUID root en un sistema multiusuario! Es una manera fácil para cualquiera de convertirse en administrador.