我希望能够从文本控制台播放高质量的视频。我设置了两个选项,但都不理想:
我已经将 mplayer 设置为使用该
-vo fbdev2
选项,据我所知,直接使用 linux 提供的帧缓冲区。这可行,但不是最好的质量。我有一个脚本,可以更改为 tty 7 来播放视频,然后再更改回来。由此我得到了 X 的质量,但存在一些问题:
第二种方法的问题如下。
如果我没有登录到 tty7 上的 GUI 会话,则视频不会显示(我只是盯着登录屏幕)。
当播放器完成时,GUI 会话的内容将会闪烁。没什么大不了的,但它看起来很笨拙。
如果我在视频播放期间更改 tty,当视频播放完毕时,我会被拉回启动视频的 tty。
我想使用 X 从文本控制台 (tty1-6) 播放视频。据我所知,这是获得高质量视频并使其像在我正在使用的控制台中播放一样的唯一方法。
任何有关如何设置文本控制台以在 X 中启动 mplayer 的建议将不胜感激!
注 1:我认为我安装的 Ubuntu 14 的旧版在调用 mplayer 时会自动执行此操作,因为 mplayer 从文本控制台播放时质量很好。我不再需要验证该设置。
注 2:当我调用 mplayer 时会发生什么情况vo -x11
,因为它找不到显示器,因为未设置 DISPLAY。 DISPLAY 的唯一有效值是:0[.0]
,当我使用该显示时,视频在 tty7 中播放,但从调用视频的 tty 获取标准输入。
注 3:我运行的是 Ubuntu Mate 16.04.1、amd64,并且在具有不同显卡的多个此类系统上遇到了相同的问题。
答案1
将我的评论转化为答案:
我最好的建议是使用多用途车,它支持视频输出驱动程序(以及更多!),而 AFAIK mplayer 不支持。尽管 mplayer 开发最近出现了一些活动,但很长一段时间(mplayer 1.1:2012 年 6 月;1.2:2015 年 10 月)它实际上已经死了。另一方面,mpv 自 2013 年 8 月首次发布以来一直持续发布;老实说,在这一点上它远远领先于 mplayer。
使用 mpv,您可以直接使用内核的模式设置和直接渲染管理器(DRM)mpv -vo drm FILE
。这应该提供全质量、全分辨率的输出,但没有硬件加速(我不相信 fbdev2 曾经有硬件加速)。如果您的 mpv 是用它编译的,您还可以使用 OpenGL/DRM 输出(硬件加速):mpv -vo opengl:backend=drm-egl FILE
.您可以通过查看列出了哪些后端来检查mpv -vo opengl:backend=help
或者,你能在没有桌面环境的情况下运行 X 服务器。例如,根据您的发行版在权限方面的配置方式,您可以使用如下命令启动仅运行 mplayer 的 X 服务器(并在 mplayer 退出时退出):
startx /usr/bin/mpv FILE -- :1 # full path required; runs w/o xterm
startx -e mpv FILE -- :1 # runs it inside an xterm, which you'll probably see flicker on screen at start/exit.
您当然可以使用类似的方法$(command -v mpv)
来获取第一个表单的完整路径。这会启动 display:1,在其上运行 mpv,然后在 mpv 完成时关闭 X 服务器(我尝试使用 mplayer,但它在我的机器上不起作用 — 考虑到,可能 mplayer 在我的机器上坏了,自从改用mpv后我就没再用过它了)。您还可以让 X 服务器在桌面环境中运行。您可能会发现类似的东西nodm
对于在没有桌面环境的情况下启动 X 服务器很有用。