Как заставить mplayer или VLC начать воспроизведение видео в строго определенное время?
Я хочу, чтобы mplayer и VLC начали играть в точное время. Игрок должен:
- Загрузите видео файл, запишите его в буфер, подготовьте все;
- Подождите, пока время UNIX будет N секунд M миллисекунд
- Начните играть в соответствии с частотой кадров (без долгосрочных отклонений)
Как лучше этого достичь?
1 ответ
Вы можете использовать FIFO в качестве входа в MPlayer и начать воспроизведение в указанное время.
Я копирую и вставляю несколько минимальных примеров кода, которые я использовал в сценарии несколько лет назад, которые использовались для пропуска видео по причинам сценариев.
Создать FIFO:
[ ! -p /tmp/mplayer-fifo ] && mkfifo /tmp/mplayer-fifo
Запустите MPlayer с, например,
mplayer myfile.avi -input /tmp/mplayer-fifo
Отправьте команду пропуска из другого скрипта с
echo "seek 10" > /tmp/mplayer-fifo
Вместо этого вы можете использовать FIFO для запуска и приостановки видео. использование at
запустить команду воспроизведения в определенное время.
Если видео начинается, а затем сразу же останавливается, а затем просто ждет "play"
директива, то следует избегать любой буферизации.