如何让 mplayer 或 VLC 在严格的时间开始播放视频?

如何让 mplayer 或 VLC 在严格的时间开始播放视频?

我希望 mplayer 和 VLC 在准确的时间开始播放。播放器应该:

  1. 加载视频文件,缓冲,准备一切;
  2. 等待 UNIX 时间为 N 秒 M 毫秒
  3. 按帧率开始播放(无长期偏差)

如何更好地实现这一目标?

答案1

您可以使用 FIFO 作为 MPlayer 的输入并在指定时间开始播放。

我复制粘贴了一些我几年前在脚本中使用过的最小代码示例,出于脚本原因,这些代码示例在视频中被跳过。

  1. 创建 FIFO:

    [ ! -p /tmp/mplayer-fifo ] && mkfifo /tmp/mplayer-fifo
    
  2. 使用例如

    mplayer myfile.avi -input /tmp/mplayer-fifo
    
  3. 使用另一个脚本发送 skip 命令

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

您可以使用 FIFO 来开始和暂停视频。用于at在特定时间运行播放命令。

如果视频启动后立即暂停并等待"play"指令,则应避免所有缓冲。

相关内容