如何讓 mplayer 或 VLC 在嚴格的時間開始播放影片?

如何讓 mplayer 或 VLC 在嚴格的時間開始播放影片?

我希望 mplayer 和 VLC 在準確的時間開始播放。玩家應該:

  1. 加載視頻文件,緩衝它,準備一切;
  2. 等待UNIX時間為N秒M毫秒
  3. 根據幀率開始播放(無長期偏差)

如何更好地實現這個目標?

答案1

您可以使用 FIFO 作為 MPlayer 中的輸入並在指定時間開始播放。

我複製並貼上了幾年前在腳本中使用的一些最小程式碼範例,這些範例用於出於腳本編寫原因在影片中跳過。

  1. 創建一個先進先出:

    [ ! -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"指令,則應避免所有緩衝。

相關內容