Closed verygoodlee closed 11 months ago
目前有个痛点,弹幕与字幕只能选择一个,不能同时播,\ 其实mpv是支持多字幕的,使用lavfi下的subtitles滤镜可同时输出多个高级字幕,\ vf append subtitles=filename="xxx.ass"或者简写vf append subtitles="xxx.ass"\ 但是有个缺点,只在软解和auto-copy硬解模式下有效,但是也不算多大的问题,auto-copy硬解是兼顾性能和兼容性的最佳选择
vf append subtitles=filename="xxx.ass"
vf append subtitles="xxx.ass"
auto-copy
修改点如下:
hwdec=auto-copy
b
测试视频链接,最终效果图如下,弹幕和字幕都成功加载\
update: 假设禁用了mpv默认快捷键,mpv.conf no-input-default-bindings,此时快捷键b是无效的, 脚本里绑定快捷键mp.add_key_binding()的时候给了一个名字toggle, 可以手动在input.conf里自定义快捷键KEY script-binding bilibiliAssert/toggle,这里配置的快捷键是可生效的
no-input-default-bindings
mp.add_key_binding()
toggle
KEY script-binding bilibiliAssert/toggle
update2: 显示器分辨率是可以自动获取的,display-width和display-height两个属性, 必须要开始播放之后才能取到,注册事件mp.register_event()从start-file改为file-loaded才行,不然会取到空值
display-width
display-height
mp.register_event()
start-file
file-loaded
目前有个痛点,弹幕与字幕只能选择一个,不能同时播,\ 其实mpv是支持多字幕的,使用lavfi下的subtitles滤镜可同时输出多个高级字幕,\
vf append subtitles=filename="xxx.ass"
或者简写vf append subtitles="xxx.ass"
\ 但是有个缺点,只在软解和auto-copy
硬解模式下有效,但是也不算多大的问题,auto-copy
硬解是兼顾性能和兼容性的最佳选择修改点如下:
auto-copy
硬解模式下有效,综合考虑解码强制改为hwdec=auto-copy
b
改为 加载/关闭 一体,如果存在弹幕就关闭,不存在就加载测试视频链接,最终效果图如下,弹幕和字幕都成功加载\
update: 假设禁用了mpv默认快捷键,mpv.conf
no-input-default-bindings
,此时快捷键b是无效的, 脚本里绑定快捷键mp.add_key_binding()
的时候给了一个名字toggle
, 可以手动在input.conf里自定义快捷键KEY script-binding bilibiliAssert/toggle
,这里配置的快捷键是可生效的update2: 显示器分辨率是可以自动获取的,
display-width
和display-height
两个属性, 必须要开始播放之后才能取到,注册事件mp.register_event()
从start-file
改为file-loaded
才行,不然会取到空值