Como fazer com que o mplayer ou o VLC comecem a reproduzir vídeo em tempo estrito?

2

Eu quero que o mplayer e o VLC comecem a tocar no exato momento. O jogador deve:

  1. Carregue o arquivo de vídeo, coloque em buffer, prepare tudo;
  2. Aguarde que o tempo do UNIX seja N segundos M milissegundos
  3. Comece a jogar de acordo com a taxa de quadros (sem desvios de longo prazo)

Como é melhor alcançar isso?

    
por Vi. 28.04.2012 / 01:55

1 resposta

2

Você pode usar um FIFO como entrada no MPlayer e iniciar a reprodução no horário especificado.

Eu copio e colo alguns exemplos de código mínimo que usei em um script anos atrás que eram usados para pular vídeos por motivos de script.

  1. Crie um FIFO:

    [ ! -p /tmp/mplayer-fifo ] && mkfifo /tmp/mplayer-fifo
    
  2. Inicie o MPlayer com, por exemplo,

    mplayer myfile.avi -input /tmp/mplayer-fifo
    
  3. Envie o comando skip de outro script com

    echo "seek 10" > /tmp/mplayer-fifo
    

Você pode usar o FIFO para iniciar e pausar o vídeo. Use at para executar o comando de reprodução em um horário específico.

Se o vídeo for iniciado e, em seguida, pausado imediatamente e, em seguida, apenas aguardar a diretiva "play" , todos os buffers deverão ser evitados.

    
por 28.04.2012 / 14:48