video - 颜色校正 MP4/Webm 视频

标签 video ffmpeg mp4

我有一个大型视频,其中一些动画对于其他嵌入方法(gif、png 序列等)来说太复杂/太长,我们遇到了视频中的颜色问题。本质上,我们将网页背景作为视频的一部分,以防止视频播放时出现任何边缘。我们正在尝试让视频上的渐变背景与网页上的渐变背景相匹配,但颜色相去甚远。

有没有关于如何对 MP4 视频进行颜色校正的建议?或者任何 html5 安全的方法来制作带有 alpha channel 的视频?

最佳答案

不幸的是,每种流行的浏览器处理 HTML 5 视频中的颜色的方式不同,这使得很难获得一致的颜色。

H.264 (MP4) 比特流可以选择性地编码您正在使用的一组颜色原色、传输特性和矩阵系数;这些可以设置为例如ffmpeg -x264opts colorprim=bt709:transfer=bt709:colormatrix=smpte170m。至少在 Mac OS X 上,Safari 和 Quicktime 会注意 H.264 视频中的这些位,并将颜色从指定的编码转换为显示器的颜色配置文件,从而产生漂亮且一致的颜色。然而,Chrome 似乎只是忽略了这些位并假设 H.264 和 VP8 视频都使用 BT.709 颜色原色(即使对于 VP8 SD 视频,VP8 规范说应该是 BT.601),尽管它会将其转换为显示器的颜色配置文件。另一方面,Firefox 似乎跳过了 VP8 视频元素的输出转换,只是假设您的显示器是 sRGB,因此具有不同颜色配置文件的显示器之间的颜色不一致,并且很可能在宽色域显示器上偏离。 (我只在 Mac 上测试过;浏览器在其他操作系统上的工作方式可能不同。)

抱歉,我没有任何好的解决方案。可以通过 manipulating the video in Javascript using a canvas 解决该问题,尽管类似的东西可能性能不佳。

关于video - 颜色校正 MP4/Webm 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13145535/

相关文章:

php - 使用声明的参数向函数添加更多参数

video - 捕获我的网络摄像头并使用 ffmpeg 编码为 mp4,但 x264 效果不佳

html - 无法在 IE 和 FireFox 上下载 html5 视频/音频

C库给视频加水印

javascript - 视频循环自动播放不适用于 Chrome/safari(webkit 错误)

c++ - 为什么我只需要在我将开发使用 ffmpeg 库的应用程序的 PC 上直接编译 ffmpeg?

ffmpeg - Mp4 启动时间过长

python - 带有 python 的 OpenCV VideoWriter 提供 5.54kb 文件

JavaScript 条件不适用于音频检查

macos - 在 OSX 上构建 ffmpeg