发现论坛里使用MPV播放器的还不少,因此想建立一个帖子方便大家分享使用经验,或者提出遇到的问题。
常用链接:
官网: https://mpv.io/
Github仓库: GitHub - mpv-player/mpv: 🎥 Command line video player
官方手册: mpv.io
用户脚本: User Scripts · mpv-player/mpv Wiki · GitHub
GUI前端:Applications using mpv · mpv-player/mpv Wiki · GitHub
windows版本下载(shinchiro维护): mpv player (Windows) - Browse Files at SourceForge.net
mac版本(我不了解,待补充)
安卓版:https://play.google.com/store/apps/details?id=is.xyz.mpv
相关知识:
MPV与其他播放器(potplayer/mpc等)的主要区别
个人看法
potplayer/mpc等播放器都是DirectShow+技术框架的,可以认为是模块化的,用户可以自行安装DirectShow滤镜,包括:分离器( Splitter)、解码滤镜(decoder)、渲染器(render,例如MadVR)。播放视频时大致流程为分离器将视频流、音频流分开,交由对应的视频/音频解码器,最终由渲染器输出给屏幕显示。由于滤镜是DirectShow+技术框架下通用的,所以无论是potplayer,还是mpc-hc,抑或是mpc-be,都是可以用相同的滤镜组合,如现在主流的lav Splitter+lav video/audio decoder+madvr组合。如果是字幕的话,还需要加装xy-filter这样的字幕滤镜。
而mpv不是DirectShow+技术框架的,所以不能使用那些滤镜。它自身就有一整套解决方案,包含了多种视频输出驱动、图形输出后端,也支持多种硬件解码方案。可以认为整合度更高
8 个赞
补充一个快速生成mpv配置文件的玩意。
可以按默认预置生成ultra,high,normal等不同配置。也可以根据自己需求再细化。
1 个赞
看了下,发现最后一次更新是2020年底,目而mpv的开发一直很活跃,一些选项可能也发生了改变…我个人认为不推荐使用
个人建议是找一个中文注释的配置文件,自己用文本编辑器改就好。例如上一楼里的一个配置就可供参考 MPV_lazy/mpv.conf at main · hooke007/MPV_lazy · GitHub
1 个赞
虽然mpv作为一个播放器内核很优秀,但是成熟的成品软件实在是太少,人性化太差。。。
例如解码器的调教不省心,没有开箱即用的味道。快捷键不舒适。网络协议的兼容性不好。
然后就又回到了potplayer。
有没有比较成熟的发行版本,推荐一下。
1 个赞
potplayer用旧版。不过也用的少了,现在经常用一些弹幕播放器,虽然性能不咋滴,但是弹幕才是本体。
1 个赞
000
8
mpv.conf
#log-file = "~~desktop/mpv.txt"
hwdec=d3d11va
d3d11va-zero-copy=yes
#使用硬解的格式
hwdec-codecs=all
#禁用内置快捷键方案
no-input-builtin-bindings
#播放视频时的向后缓存大小(KiB或MiB)
demuxer-max-bytes=32MiB
cache=yes
cache-on-disk=no
#cache-secs=8
#贴边(限win)
snap-window=yes
#osd-bar宽度[1,100],屏幕宽度的百分比
osd-bar-w=100
#osd-bar高度[0.1,50]屏幕高度的百分比
osd-bar-h=0.4
#位置[-1,1]x为左到右,y为上到下
osd-bar-align-y=1
#OSD信息位置(x~left/center/right,y~top/center/buttom)
osd-align-x=left
osd-align-y=top
osd-font-size=28
osd-color="#98FB98"
osd-border-size=2
osd-font-size=24
#OSD随窗口大小缩放(yes/no)
osd-scale-by-window=no
#设置OSD文本信息的持续时间(毫秒)(默认值:1000)
osd-duration=2000
#窗口大小
geometry=1280x720
#退出时记住播放状态
save-position-on-quit
#加载视频文件的外部字幕文件方式。(fuzzy 加载含有视频文件名的全部字幕文件)
sub-auto=fuzzy
#未指定字体的字幕字体
sub-font=sans-serif
sub-border-size=2
#强制ass字幕使用黑边, if the subtitles are in a plain text format使用--sub-use-margins
sub-ass-force-margins=yes
#加载含有视频文件名的音频文件
#audio-file-auto=fuzzy
#指定优先使用音轨
alang=en,eng,zh,chi,zho,chs,sc
#指定优先使用字幕轨
slang=zh,chi,zho,chs,sc,en,eng
#设定程序启动后的默认音量
volume=100
volume-max=100
loop-playlist=inf
#截屏文件格式(可选:png、ppm、pgm、pgmyuv、tga、jpg、jpeg)
screenshot-format=jpg
#截屏文件保存路径
screenshot-directory=D:\图片
000
9
一个个人看来比较舒适的快捷键方案input.conf
MBTN_LEFT ignore #鼠标左键 无操作
MBTN_LEFT_DBL cycle fullscreen #左键双击 切换全屏
MBTN_RIGHT cycle pause #右键 切换暂停
MBTN_MID ignore #中键 无操作
MBTN_BACK playlist-prev #侧键向前 播放列表上一个
MBTN_FORWARD playlist-next #侧键向后 播放列表下一个
WHEEL_UP add volume 2 #滚轮向上 音量+2
WHEEL_DOWN add volume -2 #滚轮向下 音量-2
WHEEL_LEFT seek 2 #滚轮向左 向前2秒
WHEEL_RIGHT seek -2 #滚轮向右 向后2秒
ESC set fullscreen no #ESC 退出全屏
SPACE cycle pause #空格 切换暂停
ENTER cycle fullscreen #回车 切换全屏
KP_ENTER cycle fullscreen #小键盘回车 切换全屏
UP add volume 5 #方向键上 音量+5
DOWN add volume -5 #方向键下 音量-5
Shift+UP add volume 20 #音量+20
Shift+DOWN add volume -20 #音量-20
LEFT seek -2 #方向键左 后退2秒
RIGHT seek 2 #方向键右 前进2秒
Shift+LEFT seek -60 exact #后退60秒
Shift+RIGHT seek 87 exact #前进87秒
Ctrl+UP add audio-delay -0.1 #音频延迟-0.1
Ctrl+DOWN add audio-delay +0.1 #音频延迟+0.1
Ctrl+LEFT add sub-delay -0.1 #字幕延迟-0.1
Ctrl+RIGHT add sub-delay 0.1 #字幕延迟+0.1
PGUP playlist-prev #播放列表上一个
PGDWN playlist-next #播放列表下一个
HOME add chapter -1 #上一章节
END add chapter 1 #下一章节
F11 show_text ${track-list}
F12 show_text ${playlist}
a cycle audio #切换音轨
s cycle sub #切换字幕轨
d cycle sub-visibility #切换字幕开/关
f cycle mute #静音开/关
g cycle border #切换无边框
H cycle-values hwdec "auto" "no" #切换硬解软解
j cycle deinterlace #切换反交错
k cycle-values video-aspect-override "16:9" "4:3" "2.35:1" "-1" #循环视频比例
l ab-loop #设置/清除 A-B loop点
K cycle-values loop-file inf no #切换文件循环
L cycle-values loop-playlist inf no #切换列表循环
; script-binding osc/visibility #循环OSC可视性(常驻、隐藏、自动)
' cycle-values osd-level "1" "2" "3" #切换OSD等级
P playlist-shuffle; show-text "playlist-shuffle"
z set speed 1.0 #播放速度设为1
c add speed 0.1 #播放速度+0.1
x add speed -0.1 #播放速度-0.1
C multiply speed 2.0 #播放速度x2
X multiply speed 0.5 #播放速度x0.5
v frame-back-step #前一帧
b frame-step #后一帧
n add sub-pos -1 #字幕下移1单位
m add sub-pos +1 #字幕上移1单位
, add sub-scale -0.05 #字幕缩小5%
. add sub-scale +0.05 #字幕放大5%
q add brightness -1 #亮度-1
w add brightness 1 #亮度+1
e add contrast -1 #对比度-1
r add contrast 1 #对比度+1
t add gamma -1 #伽马-1
y add gamma 1 #伽马+1
u add saturation -1 #饱和度-1
i add saturation 1 #饱和度+1
o add hue -1 #色调-1
p add hue 1 #色调+1
[ set contrast 0; set brightness 0; set gamma 0; set saturation 0; set hue 0 #视频均衡器归零
] script-binding stats/display-stats #查看统计信息
= screenshot video #视频截图
- screenshot window #带界面(OSC/OSD)截图
\ show-progress #显示播放进度
` script-binding console/enable #打开控制台,ESC退出
TAB script-binding stats/display-stats-toggle #切换统计信息
1 set window-scale 0.36 #设置窗口为视频分辨率0.36倍
2 set window-scale 0.5 #设置窗口为视频分辨率0.5倍
3 set window-scale 0.667 #设置窗口为视频分辨率0.667倍
4 set window-scale 1.0 #设置窗口为视频分辨率
5 cycle ontop #切换置顶
6 add current-window-scale -0.1 # 缩小窗口
7 add current-window-scale 0.1 # 放大窗口
8 add video-rotate 1 #视频顺时针旋转1度(限软解或-copy硬解)
9 cycle-values video-rotate "no" "90" "180" "270" #设置视频 不旋转/90/180/270
网络协议的兼容性不好
这就离谱了,网络方面都是ffmpeg和yt-dlp解析的,支持覆盖相当广。
解码器的调教不省心,没有开箱即用的味道
我也是折腾过potplayer+lav+madvr的,特别是madvr需要设置的东西,那叫一个多。不过可能很多用potplayer的不会去设置这些,只用默认
解码方面,mpv要开箱即用的话,也可以直接用;想性能好点的话,调整硬解和gpu-api这2个设置就行了,也不算多啊。
mpv主要是操作习惯上的区别,默认osc的功能简单,所有设置都是配置文件,让人难上手而已。
很多功能需要脚本补足完善,但这也能说明自由度高
成熟的发行版本:
我个人的日常就是用mpv .net,设置什么的都可以GUI操作。要是不喜欢快捷键的,直接用鼠标右键菜单,已经相当方便了
而且是建议直接用汉化整合包,GitHub - hooke007/mpv.net_CM: 🎞 mpv.net_CM 是中文分支模组 ,自带一些功能脚本,好用的osc显示
dawn
12
当年因为potplayer有广告就换了mpc-be,简单好用
1 个赞
我以前也是用mpc-be的……只不过莫名奇妙遇到了问题,全屏下不显示下面的播放控制部分界面,找半天设置都没找到是什么设置导致的,成了未解之谜
不使用 PotPlayer 等一众播放器是因为 FFmpeg 的耻辱柱
2 个赞
这也是一种原因……但大部分人都不在意这个(不知道的就更多了)
但最主要的是potplayer是商业公司,目标是盈利,比如加广告。
ps:论坛怎么编辑时是回复xx的,实际却不是?
Randir
18
确实,像我这样仅限于观看字幕组动漫资源和javdb 学习资料 的人,mpv的基础快捷键完全够用
甚至还试用过一次ffplay,那个才真完全不是开箱即用
关于字幕方面的工具分享
适用大部分播放器,不只是mpv
经常看动漫外挂字幕或者电影特效字幕的都清楚,为了良好的字幕(ass字幕)显示效果,需要安装字体,但为了避免安装太多字体在系统中有所影响,可以使用FontLoader临时挂载字体,观看完后取消挂载即可。
但FontLoader使用较为麻烦,需要手动选中需要挂载的字体,之后有人开发了FontLoaderSub( 介绍 开源地址),可以拖入ass字幕文件自动挂载字体,但是这仍然需要在观看前手动操作。
目前又有新的工具,SubtitleFontHelper(介绍 开源地址 )可以完全实现自动加载,播放视频+字幕时,自动加载需要的字体。
支持VSFilter或libass的字幕渲染,例如mpv播放器(因为使用了libass),xy-VSFilter滤镜
最新版下载地址: