Quiero que mplayer y VLC comiencen a reproducirse en el momento exacto. El jugador debe:
- Cargue el archivo de video, guárdelo en buffer, prepare todo;
- Espere a que el tiempo de UNIX sea N segundos M milisegundos
- Empieza a jugar según la velocidad de fotogramas (sin desviaciones a largo plazo)
¿Cómo es mejor lograr esto?
Respuesta1
Puede utilizar un FIFO como entrada en MPlayer e iniciar la reproducción en el momento especificado.
Copio y pego algunos ejemplos de código mínimo que usé en un script hace años y que se usaban para omitir videos por razones de scripting.
Crea una FIFO:
[ ! -p /tmp/mplayer-fifo ] && mkfifo /tmp/mplayer-fifo
Inicie MPlayer con, por ejemplo
mplayer myfile.avi -input /tmp/mplayer-fifo
Envíe el comando de salto desde otro script con
echo "seek 10" > /tmp/mplayer-fifo
En su lugar, puedes usar FIFO para iniciar y pausar el video. Úselo at
para ejecutar el comando de reproducción en un momento específico.
Si el vídeo se inicia y luego se pausa inmediatamente y luego simplemente espera la "play"
directiva, entonces se debe evitar todo almacenamiento en búfer.