老片源发灰提亮
手头有一批 2000 年代录制的 DV 带转出来的 MP4 文件,画面整体发灰、暗部细节几乎淹没在噪点里。用播放器自带的滤镜调,要么亮部过曝,要么暗部更黑。本工具允许分别拖动亮度与对比度滑块,同时微调 gamma 值把中间调提起来,让老视频里人物的肤色从灰绿恢复到接近自然的暖调,而不必整段重编码。
诚实标注:本工具纯前端运行,采用「video 播放 → canvas 逐帧 ctx.filter 调色
(亮度/对比度/饱和度/色相/锐化/灰度/棕褐/反相)+ gamma 逐像素 LUT 映射 →
captureStream 取视频轨 + 原视频音频轨(MediaElementSource → MediaStreamDestination)→ MediaRecorder 重录」,
因此输出为 webm 视频(画面重新编码,保留原声音轨,时长 = 原时长,保持原分辨率)。
如需 MP4 / 无损 请用 FFmpeg(ffmpeg -i in.mp4 -vf eq=brightness=.1:contrast=1.2 out.mp4)。
导出需保持本页面前台播放至结束。
视频画面灰蒙蒙、颜色发闷,是剪辑时最常遇到的调色问题。这个工具直接调整亮度、对比度、饱和度和Gamma值,适合在发布前批量修正一批素材的观感,或统一多段来源不同的片段。处理在服务端通过FFmpeg完成,上传后原片不会保留在服务器上。
手头有一批 2000 年代录制的 DV 带转出来的 MP4 文件,画面整体发灰、暗部细节几乎淹没在噪点里。用播放器自带的滤镜调,要么亮部过曝,要么暗部更黑。本工具允许分别拖动亮度与对比度滑块,同时微调 gamma 值把中间调提起来,让老视频里人物的肤色从灰绿恢复到接近自然的暖调,而不必整段重编码。
电商店铺的同一款保温杯,分别由三个摄影师在不同灯光下拍摄了演示视频。剪辑时发现 A 段杯子偏蓝、B 段偏黄、C 段饱和度明显低。用本工具逐一调整每段的饱和度与色相偏移(通过 gamma 补偿),使三组素材的杯身颜色在肉眼判断下趋于一致,避免顾客因色差产生退货疑虑。
某小区地下车库入口的监控录像,因逆光导致车牌区域过暗、行人面部几乎全黑。将原视频导入本工具,先大幅提高对比度让明暗边界清晰,再降低 gamma 值把暗部细节从黑色区域里“拉”出来,同时控制亮度不使高光部分(如车灯)溢出,最终能辨认出车牌号与人员衣着特征。
录制软件操作教程时,背景是深色 IDE 界面,但录屏工具自动压低了对比度,导致白色代码字体与背景的区分度不够,学员在手机端看时费眼。用本工具单独提高对比度至 1.3 倍,并微调亮度让背景更接近纯黑,代码文字边缘锐利,无需重新录制整段视频。
无人机在轻度雾霾天拍摄的城市天际线,画面像蒙了一层灰纱,远处建筑轮廓模糊。使用本工具降低 gamma 值(从 1.0 调至 0.85)来压缩中间灰阶,同时适度提高对比度与饱和度,使天空恢复蓝色层次、楼体立面纹理显现,但不过度锐化导致边缘出现伪影。
| 输入 | 输出 | 说明 |
|---|---|---|
| 亮度: +30, 对比度: +20, 饱和度: +10, Gamma: 1.2 | 处理后的视频整体变亮,色彩更鲜艳,暗部细节有所增强,高光区域轻微过曝(取决于原片动态范围) | 常规:典型调色组合,模拟用户日常提升画面观感的操作,验证多参数协同效果 |
| 亮度: -50, 对比度: 0, 饱和度: 0, Gamma: 1.0 | 视频整体变暗,接近全黑但保留微弱轮廓,色彩饱和度不变 | 边界:亮度负向极限,测试极端暗化场景(如夜间素材降噪前预处理),验证亮度通道不溢出 |
| 亮度: 0, 对比度: +100, 饱和度: 0, Gamma: 1.0 | 画面黑白对比极端,亮部接近纯白,暗部接近纯黑,中间过渡区域大幅减少 | 边界:对比度最大值,测试高对比度下色阶断裂程度,常见于复古胶片风格模仿 |
| 亮度: 0, 对比度: 0, 饱和度: +100, 饱和度: 0, Gamma: 1.0 | 色彩饱和度达到最高,颜色极其鲜艳,可能出现色块溢出(如红色区域变为纯红) | 边界:饱和度极端值,测试色彩通道是否限幅,用于检查工具是否对饱和度做合法范围限制 |
| 亮度: 0, 对比度: 0, 饱和度: 0, Gamma: 0.1 | 画面整体极暗,几乎不可见,仅极亮区域有微弱信号 | 边界:Gamma 极小值,测试非线性映射的稳定性,Gamma < 1 时暗部压缩严重 |
| 亮度: 0, 对比度: 0, 饱和度: 0, Gamma: 5.0 | 画面整体极亮,高光区域完全过曝为纯白,暗部细节丢失严重 | 边界:Gamma 极大值,测试高 Gamma 下动态范围压缩效果,常见于 HDR 转 SDR 的逆向操作 |
| 亮度: +50, 对比度: +50, 饱和度: +50, Gamma: 2.0 | 画面严重过曝且色彩失真,亮部完全白化,暗部细节几乎消失,整体呈高对比度褪色效果 | 易错:用户同时拉满多个参数导致叠加效应,实际应提醒逐项微调,避免一次性大幅调整 |
| 亮度: 0, 对比度: 0, 饱和度: 0, Gamma: 1.0 | 输出视频与输入视频完全一致,无任何视觉变化 | 易错:用户可能误以为必须调整参数才有输出,此条验证零调整时的恒等映射,确保不引入额外处理 |
1.亮度参数超出有效范围导致画面全白或全黑
亮度设为 255 或 -255亮度设为 0(不变)或 ±30(微调)FFmpeg 亮度范围是 -255~255,但极端值会让所有像素钳位到纯白/纯黑,丢失细节。建议 ±50 以内微调。
2.对比度参数写为百分比,实际是线性系数
对比度设为 150(以为 150%)对比度设为 1.5(1.0 = 不变,1.5 = 增加 50%)FFmpeg 对比度参数是线性乘数,1.0 为原图,大于 1 增强,小于 1 减弱。写 150 会被当作 150 倍,画面几乎全白。
3.饱和度与对比度混淆,调整后颜色怪异
想调鲜艳度却调了对比度,对比度设为 2.0饱和度设为 2.0(增强颜色浓度),对比度保持 1.0对比度改变明暗差异,饱和度改变颜色纯度。用对比度提鲜艳度会导致高光过曝、阴影死黑,而颜色并未真正变浓。
4.Gamma 值写反,画面变灰或变暗
想让画面变亮,Gamma 设为 2.2想让画面变亮,Gamma 设为 0.8(小于 1 提亮暗部)Gamma > 1 压暗中间调、增强对比度;Gamma < 1 提亮暗部、降低对比度。常见误解是把 Gamma 当亮度滑块。
5.同时调整多个参数时顺序错误,效果叠加异常
先调 Gamma 再调亮度,发现亮部过曝先调亮度/对比度,最后调 Gamma 微调暗部FFmpeg 处理顺序:亮度→对比度→饱和度→Gamma。若先调 Gamma 再调亮度,Gamma 的暗部提亮效果会被亮度偏移覆盖,导致亮部溢出。
6.输入非数值字符导致处理失败
亮度输入 '10%' 或 '0.1'(不带单位)亮度输入 10(整数,范围 -255~255)FFmpeg 参数只接受纯整数或浮点数,带百分号、中文、空格等字符会直接报错。所有参数均无单位,数值即绝对量。
7.对已过曝或欠曝视频盲目调参数,无法恢复细节
对全白视频降低亮度到 -200,仍无细节先检查原视频直方图,确认有可用动态范围再调亮度/对比度只能线性拉伸已有像素值,无法凭空生成细节。若原视频已完全饱和(0 或 255),任何参数都恢复不了。
P_out = (P_in / 255)^gamma × 255
P_out调整后的像素值,0–255P_in原始像素值,0–255gammaGamma 校正系数,>0原始像素值 128、gamma=0.8:P_out = (128/255)^0.8 × 255 = (0.502)^0.8 × 255 ≈ 0.574 × 255 ≈ 146.4,取整为 146,图像整体提亮。
同时大幅调整亮度、对比度和饱和度容易互相影响。比如先拉高亮度再拉高饱和度,原本过曝的区域颜色会失真。建议按顺序微调:先调亮度到画面细节可见,再调对比度让层次分明,最后微调饱和度。如果 gamma 值也动了,注意它会影响中间调,和亮度叠加效果会更复杂。每次只调一个参数,观察变化后再调下一个。
可以处理 4K 视频,但因为使用 FFmpeg 在服务端处理,4K 视频的渲染时间会明显长于 1080p。处理速度取决于视频时长、码率和服务器当前负载。如果原视频是 4K 但只需要调亮度和对比度,建议先压缩到 1080p 再上传,能节省大量等待时间,画质损失在手机或电脑屏幕上几乎看不出来。
亮度是整体增加或减少像素的明暗值,会让暗部和亮部一起变亮或变暗,容易让黑色发灰或白色过曝。gamma 调整的是中间调(灰阶曲线的幂次),主要影响画面的中间亮度区域,暗部和亮部细节保留更好。如果视频整体偏暗但不想让黑色部分变灰,优先调 gamma;如果只是单纯觉得画面太暗或太亮,调亮度更直接。
对比度拉太高会让相邻像素的亮度差异急剧放大,原本平滑的肤色过渡被强制拉开,形成色块或噪点。尤其是低码率或压缩率高的视频,本身肤色细节已经不够细腻,再拉高对比度就会暴露压缩瑕疵。建议对比度调整幅度控制在 ±20 以内,如果必须拉高,先尝试降低一点饱和度,能缓解色块感。
可以,FFmpeg 底层支持几乎所有常见容器格式,包括 mov、mp4、avi、mkv 等。输出格式默认会保持与原视频相同的容器和编码,但如果原编码是 ProRes 或 DNxHD 这类专业格式,输出可能会自动转成更通用的 H.264,以保证浏览器兼容性。处理完成后下载的文件如果播放器打不开,建议用主流播放器(如 VLC)或直接导入剪辑软件。
视频会上传到服务端进行处理,不会留在本地浏览器里。处理完成后,服务器会立即删除原始文件和输出文件,不会做任何备份或用于其他用途。如果视频内容非常敏感(比如包含未公开的商业信息或个人隐私),建议先截取一小段测试片断上传处理,确认效果满意后再处理完整视频。
饱和度拉到 100 相当于把每个像素的颜色纯度推到极限,画面会像卡通片一样刺眼。自然风格的视频,饱和度建议控制在 10-30 之间,具体取决于原视频色彩是否本身就很浓。如果原视频灰蒙蒙(比如阴天拍摄),可以先用对比度和 gamma 找回画面层次,再少量加饱和度(10-15),效果比直接拉饱和度更自然。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。