我有一段视频,客户希望“无缝”地坐在网站上。视频的 HEX 背景颜色与网站的 HEX 背景颜色相匹配,并在某些浏览器、某些版本、某些时间呈现这种颜色?
最奇怪的是 Chrome 会以不同的方式呈现视频的背景,直到您打开颜色选择器。然后他们突然匹配。需要明确的是,它只会在我打开颜色选择器而不是调试器后修复它(阅读:这不是重绘问题)。
当我第一次导航到该站点时,Firefox 呈现不同,但如果我按下 cmd+r,它就会变得完美无缝。
看看屏幕截图 - 他们说的比我能用文字表达的还要多。
我正在说服客户将视频更改为白色背景,因为这肯定会“修复”它,但我非常好奇发生了什么/为什么会这样。
你们那里的巫师有什么见解吗?
代码笔: http ://codepen.io/anon/pen/zrJVpX
<div class="background" style="background-color: #e1dcd8; width: 100%; height: 100%;">
<div class="video-container">
<video id="video" poster="" width="90%" height="auto" preload="" controls style="margin-left: 5%; margin-top: 5%;">
<source id="mp4" src="http://bigtomorrowdev.wpengine.com/wp-content/themes/bigtomorrow/images/videos/bt-process.mp4" type="video/mp4">
<source id="webm" src="http://bigtomorrowdev.wpengine.com/wp-content/themes/bigtomorrow/images/videos/bt-process.webm" type="video/webm">
<source id="ogg" src="http://bigtomorrowdev.wpengine.com/wp-content/themes/bigtomorrow/images/videos/bt-process.ogv" type="video/ogg">
We're sorry. This video is unable to be played on your browser.
</video>
</div>
</div>
原文由 tayvano 发布,翻译遵循 CC BY-SA 4.0 许可协议
看起来它可能是浏览器如何呈现视频的基础,而不是简单的 CSS/HTML 修复。你的问题听起来与 这个问题 相似。我打赌答案在于渲染引擎和色彩空间差异的某种组合,这可能意味着没有跨浏览器修复它的好方法。
在 firefox 上,您可以尝试摆弄颜色管理设置,看看是否会改变行为。这不能解决问题,但可以帮助解释问题。在 URL/搜索栏中,输入“about:config”。它应该带你到一个选项页面。页面中将出现另一个搜索栏,输入“gfx.color_management.mode”。该选项可以取值 0、1、2。尝试将它们切换并重新加载页面(可能需要重新启动 firefox)以查看是否可以获得一致的差异。如果一开始就没有管理颜色,它可能不会有任何区别。
同样,您可以尝试在 chrome 中禁用硬件加速视频解码。在 chrome URL/搜索栏中输入“chrome://flags”,然后找到“禁用硬件加速视频解码”标志。更改任何值,重新启动 chrome,然后再次检查颜色。
这些都不是我意识到的解决方案,这可能更好地作为评论,但我还没有代表。