使用 CSS Grid 和 WebVTT 重构的广播挤压式画面
The broadcast squeezeback, rebuilt with CSS Grid and WebVTT

原始链接: https://www.mux.com/blog/the-broadcast-squeezeback-rebuilt-with-css-grid-and-webvtt

本文探讨了如何利用现代 CSS 和 Web 技术实现“挤压回放”(squeezeback)效果——这种效果常见于体育赛事直播,即视频画面缩小以留出空间展示图形或广告。 作者没有采用传统的后期渲染,而是使用 CSS 网格系统来设置布局变化的动画。通过将网格轨道映射为 `0fr` 或特定数值,浏览器可以原生处理缩放,无需复杂的 JavaScript 变换。为了触发这些过渡,作者利用 WebVTT 元数据轨道,将提示符(cue)标识符作为键值来实时切换布局。这免去了手动轮询的麻烦,并实现了与时间轴同步的界面更新。 文中还涵盖了针对性能优化的增强方案,例如: * **环境光效果**:使用离屏 `` 采样视频颜色以实现发光效果。 * **焦点管理**:确保用户在输入时,交互式元素(如订阅表单)不会被折叠。 * **跨浏览器稳定性**:通过 CSS 变量和网格单位运算解决插值问题。 最终,作者证明了这种曾经属于高预算广播级的“视觉特效”,如今已能通过标准 Web 原语高效实现。

``` Hacker News最新 | 过往 | 评论 | 提问 | 展示 | 招聘 | 提交登录广播挤压式回放,利用 CSS Grid 和 WebVTT 重构 (mux.com)5 分,由 mmcclure 发布于 39 分钟前 | 隐藏 | 过往 | 收藏 | 1 条评论帮助 jareklupinski 11 分钟前 [–] > 我见过那种效果无数次,但从未仔细深究。那只是电视的一种常规操作。但在我某次凌晨 2 点睡不着觉、拿着 iPhone 进行研究时,我了解到它其实有个名字:挤压式回放 (squeezeback)。让我想起为什么我喜欢和媒体从业者交流:TouchDesigner 帮我以最好的方式连接了技术与交互,让他们能用自己的流程和行话准确地告诉我他们脑子里在想什么,而我也能在他们还在房间里时,就对他们的设计进行快速反馈。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索: ```
相关文章

原文
View the live demo

Confession: I did not care much about football as recently as May. But by the time España lifted the trophy last month, I was watching matches I had no stake in, still unable to explain offside.

Somewhere in one of those matches, I noticed what the picture on the screen sometimes did: the grassy pitch slides into one corner and scales down, and the space around it opens up and fills with a sponsor card, a second angle, or the studio desk. You don’t miss a moment of the game.