Como fazer com que o mplayer ou VLC comece a reproduzir vídeo em horário estrito?

Como fazer com que o mplayer ou VLC comece a reproduzir vídeo em horário estrito?

Quero que o mplayer e o VLC comecem a jogar na hora exata. O jogador deve:

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

Como é melhor conseguir isso?

Responder1

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

Copio e colo alguns exemplos de código mínimos que usei em um script anos atrás e que foram 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
    

Em vez disso, você pode usar o FIFO para iniciar e pausar o vídeo. Use atpara executar o comando play em um horário específico.

Se o vídeo for iniciado e imediatamente pausado e apenas aguardar a "play"diretiva, todo buffer deverá ser evitado.

informação relacionada