使用视频所在目录下的第一个 .override.ttf 文件作为字幕字体
模仿 bilibili 的长按快进逻辑(基于 https://github.com/n1nja88888/mpv-fastfoward )
使用视频所在目录下的第一个 .override.ttf 文件作为字幕字体
模仿 bilibili 的长按快进逻辑(基于 https://github.com/n1nja88888/mpv-fastfoward )
| // based on https://github.com/n1nja88888/mpv-fastfoward | |
| var orig_speed = -1; | |
| var orig_paused = null; | |
| mp.msg.info("fast forward") | |
| mp.add_forced_key_binding('RIGHT', null, function(event) { | |
| var type = event.event | |
| if (type == 'down') { | |
| } else if (type == 'repeat') { | |
| if (orig_speed == -1) { | |
| orig_speed = mp.get_property('speed') | |
| orig_paused = mp.get_property('pause'); | |
| // mp.msg.info("current speed" + orig_speed) | |
| mp.set_property('pause', 'no') | |
| mp.set_property('speed', orig_speed * 2) | |
| } | |
| mp.osd_message('>>>2.0', 0.1) | |
| } | |
| else if (type == 'up') { | |
| if (orig_speed != -1) { | |
| mp.set_property('speed', orig_speed) | |
| mp.set_property('pause', orig_paused) | |
| // mp.msg.info("restore speed" + orig_speed) | |
| orig_speed = -1; | |
| orig_paused = null; | |
| } else { | |
| mp.command('seek +5 exact') | |
| } | |
| } | |
| }, { | |
| repeatable: true, | |
| complex: true | |
| }) |
| mp.msg.info("loaded") | |
| // Use the first .override.ttf file in the video directory as the subtitle font | |
| mp.add_hook("on_preloaded", 0, function() { | |
| var p = mp.get_property("path"); | |
| var file_name = mp.utils.split_path(p)[0]; | |
| mp.msg.info(file_name); | |
| var names = mp.utils.readdir(file_name); | |
| for (var i = 0; i < names.length; i++) { | |
| if (names[i].indexOf('.override.ttf') == names[i].length - ".override.ttf".length) { | |
| mp.msg.info('use override font: ' + names[i]); | |
| mp.set_property("options/sub-ass-style-overrides", "Fontname=" + names[i]); | |
| break; | |
| } | |
| } | |
| }) |