我希望 mplayer 和 VLC 在準確的時間開始播放。玩家應該:
- 加載視頻文件,緩衝它,準備一切;
- 等待UNIX時間為N秒M毫秒
- 根據幀率開始播放(無長期偏差)
如何更好地實現這個目標?
答案1
您可以使用 FIFO 作為 MPlayer 中的輸入並在指定時間開始播放。
我複製並貼上了幾年前在腳本中使用的一些最小程式碼範例,這些範例用於出於腳本編寫原因在影片中跳過。
創建一個先進先出:
[ ! -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"
指令,則應避免所有緩衝。