開源播放器MPV簡介

發布時間:2019-08-27 16:38:20 點擊次數:375
0

MPV 是一款基于 MPlayer 和 MPlayer2 的多平臺開源播放器,其在Linux上擁有廣泛的輸出設備支持,內置ffmpeg解碼器,支持絕大部分的視頻和音頻格式,支持本地播放和網絡播放,支持ass特效字幕,GPU 解碼能力十分出色。本期小編就為大家簡單介紹一下MPV的配置和使用。安裝:$ sudo apt-get update$ sudo apt install mpv1、配置介紹查看M

MPV 是一款基于 MPlayer 和 MPlayer2 的多平臺開源播放器,其在Linux上擁有廣泛的輸出設備支持,內置ffmpeg解碼器,支持絕大部分的視頻和音頻格式,支持本地播放和網絡播放,支持ass特效字幕,GPU 解碼能力十分出色。本期小編就為大家簡單介紹一下MPV的配置和使用。

安裝:

$ sudo apt-get update

$ sudo apt install mpv

1、配置介紹

查看MPV的幫助信息可在終端執行"mpv --help" 查看MPV可配置信息可在終端執行"mpv --list-options",查看快捷鍵列表可在終端執行"mpv --input-keylist"MPV參數調用需要"--",如果參數是使用配置文件中的參數,則配置文件中無需在參數前加"--"MPV的配置文件目錄為:~/.config/mpv/,本文介紹的播放器定制將不使用配置文件,這里只簡要介紹下mpv.conf和input.conf這兩個配置文件的格式,mpv.conf 是主配置文件,里面包含一些基本的配置,input.conf 按鍵配置文件,包含播放過程中一些操作快捷鍵的設置。

mpv.conf

# Disable the On Screen Controller (OSC).

osc=no

# Keep the player window on top of all other windows.

ontop=yes

# Enable hardware decoding if available. Often, this does not work with all

# video outputs, but should work well with default settings on most systems.

# If performance or energy usage is an issue, forcing the vdpau or vaapi VOs

# may or may not help.

hwdec=auto

input.conf

# Mouse wheels, touchpad or other input devices that have axes

# if the input devices supports precise scrolling it will also scale the

# numeric value accordingly

WHEEL_UP      seek 10

WHEEL_DOWN    seek -10

WHEEL_LEFT    add volume -2

WHEEL_RIGHT   add volume 2

## Seek units are in seconds, but note that these are limited by keyframes

RIGHT seek  5

LEFT  seek -5

UP    seek  60

DOWN seek -60


下面詳細介紹幾個比較重要的配置項:

(1)quiet

這個參數會阻止狀態行信息的顯示,即使得控制臺消息盡量少輸出。使用Qt嵌入MPV時,需要使用noquiet而不是quiet,否則Qt程序無法獲得MPV的狀態信息,致使Qt程序無法將MPV的狀態準確的展示給用戶,如播放進度、出錯信息等。當然,如果你的機器性能差,那還是建議你直接使用mpv,且參數使用quiet,而不是像本文介紹的這樣對MPV進行UI封裝MPV使用noquiet的格式為:mpv --no-quiet。

(2)config

可讓Qt程序將一些基本的配置通過從MPV命令獲取各參數支持可選值,并設置一個默認值,且可通過圖形展示給用戶去選擇。所以此處使用no-config,即不從MPV的配置文件讀取參數。mpv使用no-config的格式為:mpv --no-config

(3)input-file

這里將不使用MPV的input.conf配置文件,而是通過標準輸入stdin給MPV發送命令,命令后面帶上換行"\n"寫入stdin即可。另外,在直接使用MPV的過程中,--no-input-default-bindings將使得MPV無法響應按鍵的事件,而--input-default-bindings參數默認為yes,則可以讓MPV響應按鍵事件。MPV使用input-file的格式為:mpv --input-file=/dev/stdin。

(4)term-status-msg

該參數可以讓MPV輸出一些視頻信息,可以通過 --term-status-msg 參數給它一個輸出格式,如:"--term-status-msg=STATUS: ${=time-pos} / ${=duration:${=length:0}} P: ${=pause} B: ${=paused-for-cache} I: ${=core-idle} VB: ${=video-bitrate:0} AB: ${=audio-bitrate:0}"

(5)vo

通過命令“mpv --vo help”可查看MPV支持的視頻驅動列表,Qt圖形程序可以將列表展示出來供用戶選擇,并將選擇的vo加入MPV的參數列表中,加入方式為:mpv --vo xxx,如:mpv --vo=xv。

(6)ao

通過命令“mpv --ao help”可查看mpv支持的音頻驅動列表,Qt圖形程序可以將列表展示出來供用戶選擇,并將選擇的ao加入mpv的參數列表中,加入方式為:mpv --ao xxx,如:mpv --ao=pulse。

(7)hwdec

hwdec為硬件解碼配置,其可用配置列表和GPU有關,這里暫分析其中5種配置:no(軟解),auto(自動嘗試使用第一種可用的硬解方式),vdpau(用于vdpau和opengl的顯示輸出,即此時需要保證vo參數為gpu或者vdpau),vaapi(用于vaapi和opengl的視頻輸出,即此時需要保證vo參數為gpu或者vdapi,僅支持Intel GPU)和vaapi-copy(將視頻拷貝回系統內存中,僅支持Intel GPU)。參數使用格式為:--hwdec=vaapi-copy。

hwdec具體參數見文檔:https://mpv.io/manual/stable/

(8)vd-lavc-threads

硬件解碼線程數目,僅適用于MPEG-1/2和H.264,取值范圍為0 - any,默認為0。使用格式如下:--vd-lavc-threads=4。

2、MPV格式支持

1)MPV支持的視頻格式:

avi 、vfw、divx、mpg、mpeg、m1v、m2v、mpv、dv、3gp、mov、mp4、m4v、mqv、dat、vcd、ogg、ogm、ogv、ogx、asf、wmv、bin、iso、vob、mkv、nsv、ram、flv、rm、swf、ts、rmvb、dvr-ms、m2t、m2ts、mts、rec、wtv、f4v、hdmov、webm、vp8、bik、smk、m4b、wtv、part

2)MPV支持的音頻格式:

mp3、ogg、oga、wav、wma、aac、ac3、dts、ra、ape、flac、thd、mka、m4a、opus

3)MPV支持的字幕格式:

srt、sub、ssa、ass、idx、txt、smi、rt、utf、aqt、vtt

4)MPV支持的列表格式:

m3u、m3u8、pls、xspf

3、MPV使用方法

前面提及過"mpv --help""mpv --list-options"mpv --input-keylist"等一些MPV的幫助命令,這里將介紹如何真正使用MPV。

方法一:

通過點擊菜單欄中mpv播放器圖標啟動MPV,然后在顯示區域點擊"mpv Media Player"啟動MPV,這種方式啟動的MPV,其默認命令行參數為:"/usr/bin/mpv --profile=pseudo-gui --",即為pseudo-gui模式,該模式使用一些內置的配置選項,該參數是在mpv.desktop文件中指定的,如:"Exec=/usr/bin/mpv --profile=pseudo-gui -- %U"。如果想要播放視頻文件,將文件拖入到界面中即可開始播放。

MPV沒有官方的圖形用戶界面,只有一個OSC(屏幕控制器),OSC上的布局包含了視頻播放器的基本操作按鈕,包括上一個、下一個、快進倒退、播放進度條、全屏、暫停等,當然,其支持快捷鍵操作。如果想播放多個視頻文件,可以選中多個文件,然后右鍵菜單選擇使用"mpv Media Player"進行播放,此時就可以通過點擊OSC上的"下一個""上一個"圖標按鈕進行視頻切換。效果如下圖所示:


優麒麟(Ubuntu Kylin)

優麒麟(Ubuntu Kylin)

優麒麟(Ubuntu Kylin)


方法二:

打開一個終端,在終端上靈活配置MPV 參數進行播放。這里暫時簡要列舉一種使用硬解的參數配置,其他參數設置可以參考上面提到的一些主要參數。執行如下命令行使用硬解來播放視頻:

$ /usr/bin/mpv --no-quiet --vd-lavc-threads=6 --hwdec=vaapi --vo=opengl --ao=pulse CESI_1080P.mkv

終端打印信息如下圖所示:

優麒麟(Ubuntu Kylin)

當然在優麒麟1804及其之后的系統上,MPV的參數又更新了,比如"--gpu-context",我們在使用硬解時可參考如下這行命令:

$ /usr/bin/mpv --vo=gpu --hwdec=vaapi --gpu-context=x11egl CESI_1080P.mkv

好了,這一期MPV的介紹就到這里了,下一期將繼續為大家介紹如何在優麒麟上使用MPV編寫自己的播放器,順便提醒大家一下,19.10內測夏令營活動今天正式開啟了,歡迎大家踴躍參加,我們下期見~

標簽: 開源 播放器 MPV
170彩票平台3b