從文本控制台使用 x11 執行 mplayer?
我希望能夠從文本控制台播放高質量的影片。我設置了兩個選項,但都不理想:
- 我已將 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,並且在具有不同影片卡的多個此類系統上遇到相同的問題。
將我的評論變成答案:
我最好的建議是使用mpv,它支持 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 伺服器執行 w/oa 桌面環境。您可能會發現nodm
在沒有桌面環境的情況下啟動 X 伺服器很有用。