色彩校正MP4 / Webm视频

时间:2012-10-30 18:35:37

标签: video ffmpeg mp4

我有一个大型视频,其中包含一些动画太复杂/太长,无法用于其他嵌入方法(gif,png序列等),我们遇到了视频中颜色的问题。基本上我们将网页的背景作为视频的一部分包括在内,以防止视频播放时出现任何边缘。我们正试图让视频上的渐变背景与网页上的渐变背景相匹配,但颜色是明确的。

有关于如何对MP4视频进行色彩校正的建议吗?或者使用alpha通道进行视频的任何html5安全方式?

2 个答案:

答案 0 :(得分:8)

不幸的是,每个流行的浏览器都会以不同的方式处理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规格说应该是BT.601的VP8 SD视频),尽管它会将其转换为显示器的颜色配置文件。另一方面,Firefox似乎跳过VP8视频元素的输出转换,只是假设您的显示器是sRGB,因此具有不同颜色配置文件的显示器之间的颜色不一致,并且很可能在宽色域监视器上消失。 (我只在Mac上测试过;浏览器在另一个操作系统上可能会有不同的工作方式。)

抱歉,我没有任何好的解决方案。有可能通过manipulating the video in Javascript using a canvas来解决这个问题,尽管这样的事情可能表现不佳。

答案 1 :(得分:0)

对于任何有兴趣的人:面对同样的情况时,我会想到一些黑客: 使用原始背景颜色创建超小视频(它们将始终在任何浏览器中显示为相同颜色)。将其用作背景并将其大小调整为100%。