为什么一段30秒的手机视频有200MB,以及压缩它实际牺牲了什么
2026年10月15日 · 4 分钟阅读
一张照片可能只有几兆字节。同一部手机拍的30秒视频轻易就能达到那个大小的十到二十倍,因为视频实际上是每秒几十个完整画面的序列——数据积累得很快,还没算上手机越来越多地以远超大多数观看场景实际需要的分辨率和帧率录制这个因素。
为什么视频压缩是与图像压缩不同的问题
压缩单张照片只需要处理一帧画面内的细节。视频压缩还利用了连续画面通常彼此非常相似这个事实——视频编解码器不是从头存储每一帧的每个像素,而是主要存储帧与帧之间变化的部分,这就是为什么大部分静止的视频(说话的人、幻灯片)比整个画面持续有动作的内容(比如快速动作或手持拍摄的抖动画面)压缩得高效得多。
真正缩小视频文件的因素
- 比特率——每秒画面允许多少数据量;降低它是缩小文件大小的主要手段,代价是在画面丰富的场景中会出现更明显的压缩瑕疵。
- 分辨率——一段只打算在手机屏幕上看的4K视频,携带的像素远远超过实际会显示出来的数量;降到1080p或更低,可以大幅缩小文件大小,而在小屏幕上不会有可见的损失。
- 帧率——不是快速动作的画面很少能从60fps相对于30fps中获益,把帧率减半大约也能把需要存储的帧数据量减半。
- 编解码器的选择——像H.265这样较新的编解码器,通常在相同视觉质量下能生成比老式H.264明显更小的文件,尽管不是每种设备和平台都同样支持得好。
在不把大文件上传到任何地方的情况下做到这一点
压缩视频以更低的比特率、可选择更低的分辨率重新编码视频,通过WebCodecs运行——这是一种浏览器API,让网页能够直接访问设备原生应用所使用的同一套视频编码硬件——所以压缩发生在你的设备上,而不需要先把文件上传到服务器,考虑到视频文件在压缩开始之前本身就已经这么大,这一点很重要。
压缩一段视频
打开压缩视频