Greasy Fork is available in English.

HTML5视频播放器增强脚本

视频增强脚本,支持所有H5视频网站,例如:B站、抖音、腾讯视频、优酷、爱奇艺、西瓜视频、油管(YouTube)、微博视频、知乎视频、搜狐视频、网易公开课、百度网盘、阿里云盘、ted、instagram、twitter等。全程快捷键控制,支持:倍速播放/加速播放、视频画面截图、画中画、网页全屏、调节亮度、饱和度、对比度、自定义配置功能增强等功能,为你提供愉悦的在线视频播放体验。还有视频广告快进、在线教程/教育视频倍速快学、视频文件下载等能力

< 脚本HTML5视频播放器增强脚本的反馈

评价:好评 - 脚本一切正常

§
发表于:2023-04-15

我真傻,早知道作者全重写了逻辑我就钉在3.39了
最近bug太多,只能更新一下,结果发现把原来自己猜代码改过的一点东西重新粘过去完全失效了,我还傻傻的对了半天键值。原来后面的屎山旧代码全是原癌基因(确信)
最后猜了半天代码,反复尝试,终于又改回自己用顺手的设定了。
配合powertoys改键,/改成切代理,*改f5,.改空格,这样小键盘就是专用媒体键盘了。终于舒服了。
留个档省的下次忘了。主键区1-9是0.1倍率,小键盘0.4倍率,+-是微调0.1,0是原倍速切换。→10秒,←5秒,↑5%,↓10%,连按阈值300改500ms,等等。有错有漏,仅供参考。
===================================================================
--- 当前版本
+++ 新版本
@@ -1347,9 +1347,9 @@
{
desc: '前进30秒',
key: 'ctrl+arrowright',
command: 'setCurrentTimeUp',
- args: [60]
+ args: [30]
},
{
desc: '后退30秒',
key: 'ctrl+arrowleft',
@@ -1365,9 +1365,9 @@
{
desc: '音量降低 5%',
key: 'arrowdown',
command: 'setVolumeDown',
- args: [-0.1]
+ args: [-0.05]
},
{
desc: '音量升高 20%',
key: 'ctrl+arrowup',
@@ -1386,23 +1386,19 @@
command: 'switchPlayStatus'
},
{
desc: '减速播放 -0.1',
- key: '-',
+ key: 'x',
command: 'setPlaybackRateDown'
},
{
desc: '加速播放 +0.1',
- key: '+',
+ key: 'c',
command: 'setPlaybackRateUp'
},
{
- desc: '加速播放 +0.1',
- key: '=',
- command: 'setPlaybackRateUp'
- }, {
desc: '正常速度播放',
- key: '0',
+ key: 'z',
command: 'resetPlaybackRate'
},
{
desc: '设置1x的播放速度',
@@ -1413,9 +1409,9 @@
{
desc: '设置1x的播放速度',
key: 'Numpad1',
command: 'setPlaybackRatePlus',
- args: 4
+ args: 1
},
{
desc: '设置2x的播放速度',
key: 'Digit2',
@@ -1425,9 +1421,9 @@
{
desc: '设置2x的播放速度',
key: 'Numpad2',
command: 'setPlaybackRatePlus',
- args: 8
+ args: 2
},
{
desc: '设置3x的播放速度',
key: 'Digit3',
@@ -1437,9 +1433,9 @@
{
desc: '设置3x的播放速度',
key: 'Numpad3',
command: 'setPlaybackRatePlus',
- args: 12
+ args: 3
},
{
desc: '设置4x的播放速度',
key: 'Digit4',
@@ -1447,73 +1443,13 @@
args: 4
},
{
desc: '设置4x的播放速度',
- key: 'Digit5',
- command: 'setPlaybackRatePlus',
- args: 5
- },
- {
- desc: '设置4x的播放速度',
- key: 'Digit6',
- command: 'setPlaybackRatePlus',
- args: 6
- },
- {
- desc: '设置4x的播放速度',
- key: 'Digit7',
- command: 'setPlaybackRatePlus',
- args: 7
- },
- {
- desc: '设置4x的播放速度',
- key: 'Digit8',
- command: 'setPlaybackRatePlus',
- args: 8
- },
- {
- desc: '设置4x的播放速度',
- key: 'Digit9',
- command: 'setPlaybackRatePlus',
- args: 9
- },
- {
- desc: '设置4x的播放速度',
key: 'Numpad4',
command: 'setPlaybackRatePlus',
- args: 16
+ args: 4
},
{
- desc: '设置4x的播放速度',
- key: 'Numpad5',
- command: 'setPlaybackRatePlus',
- args: 20
- },
- {
- desc: '设置4x的播放速度',
- key: 'Numpad6',
- command: 'setPlaybackRatePlus',
- args: 24
- },
- {
- desc: '设置4x的播放速度',
- key: 'Numpad7',
- command: 'setPlaybackRatePlus',
- args: 28
- },
- {
- desc: '设置4x的播放速度',
- key: 'Numpad8',
- command: 'setPlaybackRatePlus',
- args: 32
- },
- {
- desc: '设置4x的播放速度',
- key: 'Numpad9',
- command: 'setPlaybackRatePlus',
- args: 36
- },
- {
desc: '下一帧',
key: 'F',
command: 'freezeFrame',
args: 1
@@ -3603,10 +3539,10 @@
};

/* 当前用到的快捷键 */
const hasUseKey = {
- keyCodeList: [13, 16, 17, 18, 27, 32, 37, 38, 39, 40, 49, 50, 51, 52, 53, 54, 55, 56, 57, 67, 68, 69, 70, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 107, 109, 220],
- keyList: ['enter','shift','control','alt', 'escape', ' ', 'arrowleft','arrowright','arrowup','arrowdown','0','1','2','3','4','5','6','7','8','9','c','d','e','f','i','j','k','m','n','o','p','q','r','s','t','u','w','x','y','z','\\','|','+','-'],
+ keyCodeList: [13, 16, 17, 18, 27, 32, 37, 38, 39, 40, 49, 50, 51, 52, 67, 68, 69, 70, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 97, 98, 99, 100, 220],
+ keyList: ['enter', 'shift', 'control', 'alt', 'escape', ' ', 'arrowleft', 'arrowright', 'arrowup', 'arrowdown', '1', '2', '3', '4', 'c', 'd', 'e', 'f', 'i', 'j', 'k', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'w', 'x', 'y', 'z', '\\', '|'],
keyMap: {
enter: 13,
shift: 16,
ctrl: 17,
@@ -3620,13 +3556,8 @@
1: 49,
2: 50,
3: 51,
4: 52,
- 5: 53,
- 6: 54,
- 7: 55,
- 8: 56,
- 9: 57,
c: 67,
d: 68,
e: 69,
f: 70,
@@ -3645,23 +3576,16 @@
w: 87,
x: 88,
y: 89,
z: 90,
- pad0: 96,
pad1: 97,
pad2: 98,
pad3: 99,
pad4: 100,
- pad5: 101,
- pad6: 102,
- pad7: 103,
- pad8: 104,
- pad9: 105,
- pad11: 107,
- pad13: 109,
'\\': 220
}
};
+
/**
* 判断当前按键是否注册为需要用的按键
* 用于减少对其它键位的干扰
*/
@@ -5378,9 +5302,9 @@
playbackRate: configManager.get('media.playbackRate'),
volume: configManager.get('media.volume'),
lastPlaybackRate: 1,
/* 快进快退步长 */
- skipStep: 10,
+ skipStep: 5,

/* 监听鼠标活动的观察对象 */
mouseObserver: new MouseObserver(),

@@ -5968,12 +5892,12 @@
time: Date.now() - 1000,
value: num
};

- if (Date.now() - t.playbackRatePlusInfo[num].time < 500) {
- t.playbackRatePlusInfo[num].value = t.playbackRatePlusInfo[num].value + num*0.1
+ if (Date.now() - t.playbackRatePlusInfo[num].time < 300) {
+ t.playbackRatePlusInfo[num].value = t.playbackRatePlusInfo[num].value + num;
} else {
- t.playbackRatePlusInfo[num].value = num*0.1
+ t.playbackRatePlusInfo[num].value = num;
}

t.playbackRatePlusInfo[num].time = Date.now();

@@ -6146,9 +6070,9 @@
}
},

setCurrentTimeDown (num) {
- num = Number(numDown(num) || -this.skipStep*0.5);
+ num = Number(numDown(num) || -this.skipStep);

if (TCC$1.doTask('subtractCurrentTime')) ; else {
if (this.player()) {
let currentTime = this.player().currentTime + num;
@@ -7107,13 +7031,13 @@
}

// ctrl+方向键右→:快进30秒
if (event.ctrlKey && keyCode === 39) {
- t.setCurrentTimeUp();
+ t.setCurrentTimeUp(t.skipStep * 6);
}
// ctrl+方向键左←:后退30秒
if (event.ctrlKey && keyCode === 37) {
- t.setCurrentTimeDown();
+ t.setCurrentTimeDown(-t.skipStep * 6);
}

// ctrl+方向键上↑:音量升高 20%
if (event.ctrlKey && keyCode === 38) {
@@ -7126,9 +7050,9 @@

// 防止其它无关组合键冲突
if (event.altKey || event.ctrlKey || event.shiftKey || event.metaKey) return

- // 方向键右→:快进10秒,由setCurrentTimeUp()功能处理,此处非函数,没有输入值;功能处调整当前时间并上步进值,步进值为10(默认为5)
+ // 方向键右→:快进5秒
if (keyCode === 39) {
t.setCurrentTimeUp();
}
// 方向键左←:后退5秒
@@ -7137,36 +7061,36 @@
}

// 方向键上↑:音量升高 10%
if (keyCode === 38) {
- t.setVolumeUp();
+ t.setVolumeUp(0.05);
}
// 方向键下↓:音量降低 10%
if (keyCode === 40) {
- t.setVolumeDown();
+ t.setVolumeDown(-0.05);
}

// 空格键:暂停/播放
if (keyCode === 32) {
t.switchPlayStatus();
}

- // 按键-:减速播放 -0.1
- if (keyCode === 109) {
+ // 按键X:减速播放 -0.1
+ if (keyCode === 88) {
t.setPlaybackRateDown();
}
- // 按键+:加速播放 +0.1
- if (keyCode === 107) {
+ // 按键C:加速播放 +0.1
+ if (keyCode === 67) {
t.setPlaybackRateUp();
}
// 按键Z:正常速度播放
- if ((keyCode === 90) || (keyCode ===96)) {
+ if (keyCode === 90) {
t.resetPlaybackRate();
}

- // 按1-4设置播放速度 49-52;97-100,
+ // 按1-4设置播放速度 49-52;97-100
if ((keyCode >= 49 && keyCode <= 52) || (keyCode >= 97 && keyCode <= 100)) {
- t.setPlaybackRatePlus();
+ t.setPlaybackRatePlus(event.key);
}

// 按键F:下一帧
if (keyCode === 70) {

§
发表于:2023-04-15
编辑于:2023-04-15

又改了一下,连按步进值为一半,这下可以无脑连续盲按5来整数倍速了。比原方案连按1少一下,5键盘有凸点更好盲按。

ankvps作者
§
发表于:2023-04-16
§
发表于:2023-04-16

用自定义配置啊,后续更新也不影响你自定义的快捷键
https://h5player.anzz.top/home/feature.html#%E5%BF%AB%E6%8D%B7%E9%94%AE%E8%A7%A6%E5%8F%91%E8%8C%83%E5%9B%B4%E8%B0%83%E6%95%B4

知道大佬,谢谢大佬
主要我原来钉了好久老版本,跟不上时代了。
自定义脚本好像也一样要自己加键位,还不能自定义倍率,不如直接原脚本改改再钉两年

§
发表于:2023-04-23

switchRestorePlayProgressStatus

shift+r也被绑到capture了,脚本本体和自定义脚本都写错了
我想禁用恢复进度,每次都给我截个图,还以为是啥快捷键冲突了,尴尬
找了半天才找到正确的命令

发表回复

登录以发表回复。