Greasy Fork is available in English.

HTML5 비디오 플레이어 고급 스크립트

비디오 향상 스크립트는 Bilibili, Douyin, Tencent Video, Youku, iQiyi, Xigua Video, YouTube, Weibo Video, Zhihu Video, Sohu Video, NetEase Open Course, Baidu 네트워크 디스크, Alibaba 클라우드 디스크와 같은 모든 H5 비디오 웹사이트를 지원합니다. 테드, 인스타그램, 트위터 등 전체 바로 1가기 키 제어, 지원: 배속 재생/가속 재생, 비디오 스크린샷, PIP(Picture-in-Picture), 전체 화면 웹 페이지, 밝기, 채도, 대비, 사용자 정의 구성 향상 및 기타 기능 조정, 쾌적한 온라인 환경 제공 비디오 재생 경험. 비디오 광고, 온라인 자습서/교육 비디오 등을 빨리 감기하는 기능도 있습니다.

< 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了,脚本本体和自定义脚本都写错了
我想禁用恢复进度,每次都给我截个图,还以为是啥快捷键冲突了,尴尬
找了半天才找到正确的命令

댓글 남기기

댓글을 남기려면 로그인하세요.