我希望 mplayer 和 VLC 在准确的时间开始播放。播放器应该:
- 加载视频文件,缓冲,准备一切;
- 等待 UNIX 时间为 N 秒 M 毫秒
- 按帧率开始播放(无长期偏差)
如何更好地实现这一目标?
答案1
您可以使用 FIFO 作为 MPlayer 的输入并在指定时间开始播放。
我复制粘贴了一些我几年前在脚本中使用过的最小代码示例,出于脚本原因,这些代码示例在视频中被跳过。
创建 FIFO:
[ ! -p /tmp/mplayer-fifo ] && mkfifo /tmp/mplayer-fifo
使用例如
mplayer myfile.avi -input /tmp/mplayer-fifo
使用另一个脚本发送 skip 命令
echo "seek 10" > /tmp/mplayer-fifo
您可以使用 FIFO 来开始和暂停视频。用于at
在特定时间运行播放命令。
如果视频启动后立即暂停并等待"play"
指令,则应避免所有缓冲。