首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mplayer作为xscreensaver?

使用mplayer作为xscreensaver?
EN

Unix & Linux用户
提问于 2023-05-17 09:01:59
回答 1查看 14关注 0票数 0

想要作为我的屏幕保护程序运行一个视频,我遇到了适当配置它的问题。我在这里用问答格式总结解决方案。

EN

回答 1

Unix & Linux用户

发布于 2023-05-17 09:01:59

1.背景

屏幕保护程序在~/.xscreensaver中配置。在使用xscreensaver-demo时对其进行了修改,在XFCE下,在Whisker菜单中将其命名为Screensaver

要添加程序,请转到设置programs:,该设置应该如下所示

代码语言:javascript
复制
mode:       one
selected:   0

textMode:   url
textLiteral:    XScreenSaver
textFile:   
textProgram:    fortune
textURL:    https://en.wikipedia.org/w/index.php?title=Special:NewPages&feed=rss
programs:                                     \
  GL:                           superquadrics -root                         \n\
                                attraction -root                            \n\
                                blitspin -root                              \n\
-                               greynetic -root                             \n\
                                helix -root                                 \n\
                                hopalong -root                              \n\
...
  • mode: one的意思是,使用固定的屏幕保护程序,而不是随机选择一个或仅仅是一个空白屏幕。这是最合适的设置“播放视频作为屏幕保护”用例。
  • selected: 0意味着使用列表programs中的第一个条目。手册页面明确要求通过xscreensaver-demo而不是手动设置它,但是当在列表的顶部添加自定义程序时,将其设置为0是一个很好的选择。
  • text*:选项实际上与这个问题无关,但默认情况下是存在的。
  • programs:是由\n分隔的命令列表。尾随的\只是表示行的延续,这样长的列表就不会出现在单行上。格式是“程序名”命令参数..。\n如果"PROGRAM NAME"是可选的,则给出"是必需的。未指定时,xscreensaver-demo中显示的名称是从COMMAND派生出来的,例如helix显示为Helix。命令实际上不可用的程序将不会在xscreensaver-demo中列出,因此如果没有显示视频播放器命令,可能会有错误的输入。

2.配置示例

假设有一个视频文件/home/user/black_hole.mp4。然后将其添加为正确命名的屏幕保护程序选项,将programs:设置更改为

代码语言:javascript
复制
programs:                                                                     \
                  "Black Hole"  mplayer -loop 0 -nosound -fixed-vo            \
                                  -wid $XSCREENSAVER_WINDOW                   \
                                  /home/user/black_hole.mp4                 \n\
                                maze -root                                  \n\
  GL:                           superquadrics -root                         \n\
                                attraction -root                            \n\
                                blitspin -root                              \n\
                                ...

不要操之过急地使用合适的线-延续。屏幕保护程序无论如何都会读取和重写该文件,导致任何自定义格式丢失,命令和名称大致与上面显示的一样对齐。

在给定的例子中,

  • "Black Hole"是配置的屏幕保护程序的显示名称。如果没有这个双引号字符串,它将被称为Mplayer (在xscreensaver-demo中)。
  • -loop 0告诉mplayer无限期地循环视频。
  • -nosound,嗯,禁用声音输出。通常更适合屏幕保护程序。
  • 需要-fixed-vo,因为默认情况下,mplayer会在每个视频之后重新初始化播放窗口。对于屏幕保护程序循环单个视频,这意味着有闪烁时,视频开始,而不是顺利播放。使用-fixed-vo,可以实现流畅的回放,但是论坛线程提到,它可能会在某些系统上使程序崩溃。如果您只看到一个黑色屏幕,或者视频只播放一次,如果此设置是原因,则可能值得一试。
  • 为了使视频播放在屏幕保护程序上实际可见,需要使用-wid $XSCREENSAVER_WINDOW。我本以为-rootwin选项会产生同样的效果,但事实并非如此。

3.多个视频文件.

如果您希望播放多个视频文件,只需添加所有文件名即可。命令是通过shell执行的,因此也可以使用通配符,例如/home/user/myscreensavervideos/*

在这种情况下,添加-shuffle选项也可能是可取的。

4. mplayermpv

在寻找使用视频作为屏幕保护程序的方法时,我主要是使用mpv解决方案。我选择了mplayer,因为它已经安装在我的系统上了。这是一个重要的标准,当您在工作站上,您没有根访问。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/746144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档