MPV播放器交流分享贴

发现论坛里使用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+技术框架的,所以不能使用那些滤镜。它自身就有一整套解决方案,包含了多种视频输出驱动、图形输出后端,也支持多种硬件解码方案。可以认为整合度更高

5 Likes

补充一个快速生成mpv配置文件的玩意。

可以按默认预置生成ultra,high,normal等不同配置。也可以根据自己需求再细化。

1 Like

个人分享(以下只是本人推荐,并非与本人有利益关联):

个人目前日常使用的windows gui前端:(英文界面) mpv .net GitHub - stax76/mpv.net: 🎞 mpv.net is a modern media player for Windows that works just like mpv.中文汉化版见下面的粗体推荐

著名动漫压制组vcb-s的mpv教程: [VCB-Studio 科普教程 2.3] 跨平台播放器 mpv 配置入门 | VCB-Studio

一位对mpv有较多了解的大佬的一些资源:

自行编译windows版本mpv (shinchiro维护): GitHub - shinchiro/mpv-winbuild-cmake: CMake-based MinGW-w64 Cross Toolchain

===================

以下为我的个人项目,你可以视为私货:

windows版本mpv每日构建:
与现在常用的shinchiro版使用完全相同的构建配置
每天晚8点更新release,每小时跟随mpv主分支自动构建
GitHub - zhongfly/mpv-winbuild: Use Github Action to build mpv for Windows with latest commit.

5 Likes

看了下,发现最后一次更新是2020年底,目而mpv的开发一直很活跃,一些选项可能也发生了改变…我个人认为不推荐使用

个人建议是找一个中文注释的配置文件,自己用文本编辑器改就好。例如上一楼里的一个配置就可供参考 MPV_lazy/mpv.conf at main · hooke007/MPV_lazy · GitHub

1 Like

虽然mpv作为一个播放器内核很优秀,但是成熟的成品软件实在是太少,人性化太差。。。
例如解码器的调教不省心,没有开箱即用的味道。快捷键不舒适。网络协议的兼容性不好。
然后就又回到了potplayer。
有没有比较成熟的发行版本,推荐一下。

+1,不想动脑,只想开箱即用

最近在用,才发现这货弹广告……

potplayer用旧版。不过也用的少了,现在经常用一些弹幕播放器,虽然性能不咋滴,但是弹幕才是本体。

1 Like

mpv.conf

#解码/渲染设置

vo=gpu
hwdec=yes
gpu-api=d3d11
#双显卡笔记本选择,显卡名称参考设备管理器
#d3d11-adapter=NVIDIA GeForce RTX 3060
#d3d11-adapter=Intel(R) UHD Graphics
#d3d11-adapter=AMD Radeon Graphics
#使用硬解的格式
hwdec-codecs=all
#禁用默认快捷键方案
no-input-default-bindings
#播放网络视频时的向后缓存大小(KiB或MiB)
#demuxer-max-bytes=200MiB

#窗口设置

#无边框
#no-border
#全屏
#fullscreen
#运行MPV自动窗口最大化(无边框界面时的最大化类似“无边窗口模式”而非“全屏”)
#window-maximized=yes
#关闭简易控制面板On Screen Controller(osc)
#no-osc
script-opts=osc-layout=bottombar,osc-seekbarstyle=bar
#关闭屏上信息条显示
no-osd-bar
#OSD信息位置、字体大小(x横向左中右left/center/right,y纵向上中下top/center/buttom)
osd-align-x=left
osd-align-y=top
osd-font-size=28
#开始播放时短暂显示的信息:文件名
#osd-playing-msg = "${filename}"
#设置OSD文本信息的持续时间(毫秒)(默认值:1000)
osd-duration=1000
#将窗口缩放窗口模式下至大、至小占屏幕的百分比
#autofit-larger=90%x90%
#autofit-smaller=30%x30%
#设置默认打开的窗口大小为1280x720
geometry=1280x720
#退出时记住播放状态
save-position-on-quit

#视频/音频/字幕/截图设置

#视频同步
#video-sync=display-resample
#变速播放时的音调修正
audio-pitch-correction=yes
#加载视频文件的外部字幕文件方式。(fuzzy 加载含有视频文件名的全部字幕文件)
sub-auto=fuzzy
#字体大小,默认55,此值是以高度为720的屏幕为比例,更大或更小的屏幕会缩放
sub-font-size=55
#强制ass字幕使用黑边, 如果字幕是纯文本形式,使用--sub-use-margins
#--sub-ass-force-margins
#指定优先使用音轨(DVD使用ISO 639-1两位语言代码,MKV、MPEG-TS使用ISO 639-2 三位语言代码)
alang=zh,chi
#指定优先使用字幕轨(DVD使用ISO 639-1两位语言代码,MKV、MPEG-TS使用ISO 639-2 三位语言代码)
slang=zh,chi
#播放循环方式,循环写inf否则写no
loop-playlist=inf
#设定程序启动后的默认音量、程序最大音量
volume=90
volume-max=100
#截屏文件格式(可选:png、ppm、pgm、pgmyuv、tga、jpg、jpeg)
screenshot-format=jpg
#截屏文件保存路径
screenshot-directory=D:\image

一个个人看来比较舒适的快捷键方案input.conf

MBTN_LEFT     ignore			#鼠标左键 无操作
MBTN_LEFT_DBL cycle fullscreen		#左键双击 切换全屏
MBTN_RIGHT    cycle pause			#右键 切换暂停
MBTN_BACK     playlist-prev			#侧键向前 播放列表上一个
MBTN_FORWARD  playlist-next			#侧键向后 播放列表下一个
WHEEL_UP      add volume 1			#滚轮向上 音量+1
WHEEL_DOWN    add volume -1			#滚轮向下 音量-1
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 2			#方向键上 音量+2
DOWN  add volume -2			#方向键下 音量-2
Shift+UP  add volume  10			#音量+10
Shift+DOWN  add volume -10
LEFT  seek -2			#方向键左 后退2秒
RIGHT seek  2			#方向键右 前进2秒
Shift+LEFT  seek -30 exact
Shift+RIGHT seek 85 exact			#前进85秒
Ctrl+UP add audio-delay -0.1			#音频延迟-0.1
Ctrl+DOWN add audio-delay +0.1
Ctrl+LEFT add sub-delay -0.1			#字幕延迟-0.1
Ctrl+RIGHT  add sub-delay 0.1

#播放列表上一个、下一个;
PGUP playlist-prev
PGDWN playlist-next
#视频内上一、下一章节
HOME add chapter -1
END add chapter 1

#1234调整窗口大小,5设置窗口最前
1 set window-scale 0.25
2 set window-scale 0.5
3 set window-scale 0.667
4 set window-scale 1.0
5 cycle ontop

#调整亮度、对比度、伽马、饱和度、色相,q全部重置
q set contrast 0; set brightness 0; set gamma 0; set saturation 0; set hue 0
w add brightness -1
e add brightness 1
r add contrast -1
t add contrast 1
y add gamma -1
u add gamma 1
i add saturation -1
o add saturation 1
p add hue -1
[ add hue 1

= screenshot video			#视频截图
+ screenshot			#带界面(OSC/OSD)截图

z set speed 1.0			#播放速度设为1
c add speed 0.1			#播放速度+0.1
x add speed -0.1			#播放速度-0.1
Shift+c multiply speed 2.0			#播放速度x2
Shift+x multiply speed 0.5			#播放速度x0.5

v frame-back-step			#前一帧
b frame-step			#后一帧
k show_text ${track-list}			#显示轨道信息
l show_text ${playlist}			#显示播放列表
#切换音轨、静音;切换字幕轨、隐藏字幕
a cycle audio
f cycle mute
s cycle sub
d cycle sub-visibility
#调整字幕上下位置、字幕字体大小
n add sub-pos -1
m add sub-pos +1
, add sub-scale -0.05
. add sub-scale +0.05

\ show-progress			#显示播放进度
` script-binding console/enable			#打开控制台,ESC退出
TAB script-binding stats/display-stats-toggle			#打开播放信息,1234翻页,4查看激活的快捷键方案
] script-binding stats/display-stats			#暂时查看播放信息
Ctrl+h cycle-values hwdec "auto" "no"			#切换硬解软解
j cycle deinterlace			#切换反交错

#媒体快捷键
POWER quit
PLAY cycle pause
PAUSE cycle pause
PLAYPAUSE cycle pause
PLAYONLY set pause no
PAUSEONLY set pause yes
STOP quit
FORWARD seek 60
REWIND seek -60
NEXT playlist-next
PREV playlist-prev
VOLUME_UP add volume 2
VOLUME_DOWN add volume -2
MUTE cycle mute

有什么弹幕播放器推荐吗

网络协议的兼容性不好

这就离谱了,网络方面都是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显示


当年因为potplayer有广告就换了mpc-be,简单好用

1 Like

我以前也是用mpc-be的……只不过莫名奇妙遇到了问题,全屏下不显示下面的播放控制部分界面,找半天设置都没找到是什么设置导致的,成了未解之谜

不使用 PotPlayer 等一众播放器是因为 FFmpeg 的耻辱柱

2 Likes

这也是一种原因……但大部分人都不在意这个(不知道的就更多了)
但最主要的是potplayer是商业公司,目标是盈利,比如加广告。

ps:论坛怎么编辑时是回复xx的,实际却不是?

仅个人观点,毕竟许多用户甚至都不知道这回事儿。

我一般通过引用一部分来解决这个问题 :joy:

确实,像我这样仅限于观看字幕组动漫资源和javdb 学习资料 的人,mpv的基础快捷键完全够用:thinking:
甚至还试用过一次ffplay,那个才真完全不是开箱即用

关于字幕方面的工具分享

适用大部分播放器,不只是mpv

经常看动漫外挂字幕或者电影特效字幕的都清楚,为了良好的字幕(ass字幕)显示效果,需要安装字体,但为了避免安装太多字体在系统中有所影响,可以使用FontLoader临时挂载字体,观看完后取消挂载即可。
但FontLoader使用较为麻烦,需要手动选中需要挂载的字体,之后有人开发了FontLoaderSub( 介绍 开源地址),可以拖入ass字幕文件自动挂载字体,但是这仍然需要在观看前手动操作。
目前又有新的工具,SubtitleFontHelper(介绍 开源地址 )可以完全实现自动加载,播放视频+字幕时,自动加载需要的字体。

支持VSFilter或libass的字幕渲染,例如mpv播放器(因为使用了libass),xy-VSFilter滤镜
最新版下载地址:

MPV EASY Player

开箱即用

1 Like