MPlayer无限循环与管道



我想使用 mplayer 在无限循环中播放视频,中间没有中断。所以我用 mkfifo 管子尝试了它。就像这里的这个。

mkfifo pipe
(cat pipe | mplayer -cache 10000 -cache-min 0 -really-quiet - ) &
cat video.avi >> pipe       
until [ -e /tmp/stop_loop ]   #stop file
do 
sleep 20                    #video.avi is 25sec long
cat video.avi >> pipe     #fill pipe with the video again slightly before the first video ends
done

有人知道为什么这不起作用吗? 不知何故,管道只能填充一次。 还是因为视频格式.avi?但我尝试了一下.mp4仍然没有运气。

while true
do
(cat pipe | mplayer -cache 10000 -cache-min 0 -really-quiet - ) &
cat video.avi >> pipe
sleep 25
done

这有效(视频长度为 25 秒(,但可能需要更多考虑(例如获取视频长度,不确定缓存选项等(

编辑:这似乎更好:

mplayer -fs -loop 0 video.avi -really-quiet

这只是永远循环一个文件。老实说,我不确定是否需要管道等。

edit2:我错过了您想要流畅流的部分。在文件名之后放置循环可以解决此问题:

mplayer -fs video.avi -loop 0 -really-quiet

可能更好的主意是使用 mplayer 的slave模式; 这将允许您控制它,同时让它自由缓存/搜索并对真实视频文件执行任何操作。

slave模式是一个简单的文本协议,对标准输入进行查询和回复。这里描述 http://www.mplayerhq.hu/DOCS/HTML/en/control.html 这里和这里 http://www.mplayerhq.hu/DOCS/tech/slave.txt

但是您可以在互联网上搜索更多信息和示例。

最新更新