2

Я хочу, чтобы mplayer и VLC начали играть в точное время. Игрок должен:

  1. Загрузите видео файл, запишите его в буфер, подготовьте все;
  2. Подождите, пока время UNIX не станет равным N секунд M миллисекунд
  3. Начните играть в соответствии с частотой кадров (без долгосрочных отклонений)

Как лучше этого достичь?

1 ответ1

2

Вы можете использовать FIFO в качестве входа в MPlayer и начать воспроизведение в указанное время.

Я копирую и вставляю несколько минимальных примеров кода, которые я использовал в сценарии несколько лет назад, которые использовались для пропуска видео по сценариям.

  1. Создать FIFO:

    [ ! -p /tmp/mplayer-fifo ] && mkfifo /tmp/mplayer-fifo
    
  2. Запустите MPlayer с, например,

    mplayer myfile.avi -input /tmp/mplayer-fifo
    
  3. Отправьте команду пропуска из другого скрипта с

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

Вместо этого вы можете использовать FIFO для запуска и приостановки видео. Используйте at для запуска команды воспроизведения в определенное время.

Если видео запускается, а затем сразу приостанавливается, а затем просто ждет директивы "play" , следует избегать любой буферизации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .