📄 一句话概括
短、竖、快、互动四条里,对技术最狠的是【快】——用户手指滑走了,你就是零,所以绝大部分优化都花在【第一帧多快出来】上。
📝 本节和前面几节的关系
2.5.1 介绍了短视频,这一节拆开它的四个特点,看每条对应什么技术要求。
一、特点一:短
15 秒到 3 分钟,意味着首帧必须极快、码率必须极低。 长视频可以慢慢缓冲,短视频没这个机会——用户看不到第一帧就已经滑走了。 所以短视频普遍把码率压到 3~6 Mbps,用质量换加载速度。
二、特点二:竖
竖屏是全屏占满的形态,分辨率比例与影视标准完全不同(1080 × 1920 而不是 1920 × 1080)。 这对转码流水线有直接影响:同一套模板要重新算一遍参数。 而且竖屏画幅更窄,人眼关注的部分更集中——构图变了,编码时关注的区域也变了。
三、特点三:快
上下滑动即换,意味着每次切换都是一次全新的播放请求。 所以短视频平台普遍用预加载:在你还没滑的时候,下一条已经在下了。 对技术最狠的就是这一条——用户手指滑走了,你就是零。
四、特点四:互动
点赞、评论、转发——这些动作要低延迟回传,而且要和服务端状态保持同步。 对音视频本身影响不大,但它意味着播放器不是孤立的,要和一堆业务接口配合。 这也是为什么短视频客户端工程师往往要懂一点后端。
五、动手 Demo:短视频凭什么火——四个特点
四个特点,每个都对应一条明确的技术需求。
traits = [
("短", "15 秒~3 分钟", "首帧要快、码率要低"),
("竖", "竖屏全屏占满", "分辨率比例反常规"),
("快", "上下滑即换", "秒开、边下边播"),
("互动", "点赞、评论、转发", "低延迟回传"),
]
for name, feat, need in traits:
print("%-4s %-12s -> %s" % (name, feat, need))
实跑输出:
--------------------------------------------------------------------
短视频凭什么火——四个特点
--------------------------------------------------------------------
特点 具体表现 对技术的需求
-------------------------------------------------
短 15 秒~3 分钟 首帧要快、码率要低
竖 竖屏全屏占满 分辨率比例反常规
快 上下滑即换 秒开、边下边播
互动 点赞、评论、转发 低延迟回传
四条里对技术最狠的是第三条【快】:**用户手指滑走了,你就是零。**
所以短视频的绝大部分优化,都花在【第一帧多快出来】上。
四条里对技术最狠的是第三条【快】。 用户手指滑走了,你就是零——所以优化几乎都花在首帧上。
30 秒实验
- 打开你常用的短视频 App,数一数从点开到画面出现用了多久(心里数秒)。
- 再想想:它在你滑动之前,可能已经预载了几条?
常见误区
- 以为竖屏只是把画面转个方向。它改变了分辨率比例、构图和编码参数。
- 以为【快】只是网络问题。预加载策略与首帧编码同样关键。
自测三问(点开对答案)
1. 短视频四个特点分别是什么? —— 短、竖、快、互动。 2. 哪一条对技术的要求最苛刻?为什么? —— 快——每次滑动都是新请求,用户滑走就等于零。 3. 短视频平台为什么普遍预加载? —— 用后台下载换前台秒开,把等待藏到用户还没滑的时候。- ☐ 下一节(2.5.3 短视频带货)
相关笔记
- 短视频的简介 — 它的形态与数据量
- 短视频带货 — 这些特点怎么变成生意
- 🕸️ Web技术原理 · 索引 — 网页侧的技术栈
- 🎬 FFmpeg入门详解 · 索引