YouTube Video Zoomer:给 YouTube 全屏视频加一个顺手的放大功能
我做 YouTube Video Zoomer 的原因很简单:看 YouTube 教程时,经常会遇到小字看不清的场景。
尤其是软件教程。讲师录的是整个屏幕,视频里又有时间轴、参数面板、代码窗口、按钮和下拉菜单。视频本身是 1080p,但真正想看的那块内容可能只占屏幕的一小角。这个时候浏览器全屏并不够,还需要把画面里的某个区域临时放大。
Chrome Web Store 页面:
我想解决的不是播放器大小,而是画面里的细节
最开始我只是想在全屏视频里按住 Ctrl,再滚动鼠标滚轮,把鼠标所在的位置放大。听起来很小,但真的做起来并不只是给 video 加一个 transform: scale()。
麻烦的地方在于焦点。
如果鼠标指着一个参数、一个按钮、一个人的眼睛,放大时那个位置应该尽量留在鼠标附近。不能放着放着,焦点跑到画面外,也不能缩小到 1x 以后继续触发页面滚动,把下面的推荐视频滑上来。这个细节不处理,工具看起来能用,实际用起来会很烦。

最常用的操作只有几个
现在的用法很直接:
- 全屏播放 YouTube 视频。
- 按住
Ctrl,滚动鼠标滚轮,在鼠标位置缩放。 - 按
L,直接放大到最大倍率,再按一次恢复到原始大小。 - 放大后按住鼠标中键,可以拖动画面。
我后来越来越喜欢 L 这个快捷键。看教程时经常只是想快速看一眼某个地方,不一定想用滚轮一点点调。按一下放大,确认完再按一下回来,动作更短。

后来修掉的几个小问题
这个插件看起来不大,但有几个问题如果不修,会直接影响体验。
第一个是非全屏模式不能抢浏览器的 Ctrl + 滚轮。用户在普通网页里按住 Ctrl 滚轮,应该还是 Chrome 自己的页面缩放,插件不能把这个行为吃掉。
第二个是缩放到边缘时不能乱跑。视频放大到一定程度后,画面能移动的空间会变少,如果还按原来的焦点算法硬算,焦点很容易漂移。所以我给缩放位置加了边界限制,靠近最大或最小倍率时也不会突然把画面推走。
第三个是安全倍率。早期测试里,如果把鼠标放在右下角边缘并持续放大到很高倍率,浏览器会生成过大的合成图层,严重时整台电脑都会卡住。这是必须封死的路。现在插件会根据视频当前显示尺寸限制最终渲染面积,不让高倍率把 GPU 推到危险状态。
设置面板
点击插件图标,可以调整快捷键、缩放速度和最大倍率。默认速度现在比较接近我自己的手感,不需要一开始就拉到很高。
这里有个小取舍:最大倍率不能无限大。教程里确实会有需要看清小数字的时候,但如果允许用户把视频图层放到特别夸张的尺寸,风险就不是「卡一下」,而是浏览器或系统直接被拖死。所以这个插件的最大倍率会被安全逻辑约束,用户看到的倍率和实际可用倍率尽量一致,但不会牺牲稳定性。

适合什么人
我觉得它最适合两类场景。
一类是看软件教程。比如 Blender、3ds Max、Unreal、编程 IDE、网页后台操作,很多关键内容都很小。
另一类是看设计或界面演示。很多时候不是看不清视频,而是想看清某个局部:按钮状态、参数、图标、排版细节。
如果你只是看普通娱乐视频,这个插件不会每天都用到。但只要你经常跟着 YouTube 学东西,尤其是看屏幕录制类教程,它会很快变成一个顺手的小工具。
我把它上架到了 Chrome Web Store。名字就叫 YouTube Video Zoomer。