
站上放视频是最费带宽的操作。一个 1080p 的视频,一分钟就上百兆,十个人看一遍,你一天的流量额度就没了。这篇把几种省钱又不太影响体验的做法列清楚,都是实测过的。
先搞清楚视频到底吃多少带宽
视频和图片不一样,它是持续传输的。用户看十分钟,你就得传十分钟的数据,不是一次性传完就结束。
按码率算:720p 的视频码率大概 2Mbps,意味着一个用户看的时候,你每秒要给他 250KB 左右。5M 带宽的服务器,同时只能支撑两三个用户。
1080p 的码率通常 4 到 8Mbps,同样的服务器,一个人看就能把带宽吃满。这就是为什么自己服务器放视频基本不可行。
还有一个容易忽略的点:拖动进度条会触发额外请求。用户来回拖十次,等于看了十遍,流量翻倍。
办法一:压缩,先压再传
同样一段内容,压得好不好能差三四倍。720p 用 h264 编码,码率控制在 1.5Mbps,画质在日常观看下完全够。
能用 h265 就用 h265,同画质下比 h264 省三到五成带宽。代价是编码慢、老设备可能不支持,需要留一个 h264 的兜底版本。
分辨率按内容定,不要一律上 1080p。教学类、口播类视频 720p 足够,只有画面细节多的才需要更高。
音频也别忽略。多数视频的音频用 128kbps 的 aac 就行,很多人默认 320kbps,纯属浪费。
压缩工具用 ffmpeg,一条命令带几个参数就能压好。关键是控制码率和分辨率,别用默认参数直接转,默认值往往偏高。
办法二:转成流式格式,别整文件下载
很多人把 mp4 直接放到服务器上,用户点开是一边下边播。这种方式没法精确跳转,也不支持自动切换清晰度。
正规做法是切成 m3u8 加一堆 ts 分片,配合播放器按需加载。这样用户只看前面一分钟,就只下载前面几个分片。
分片的时长建议 6 到 10 秒。太短请求次数多,太长起播慢。一般设成 8 秒比较平衡。
这套方案还要多准备几档清晰度,播放器根据网速自动切。低网速的用户自动降到 480p,省带宽也省等待。
切片的成本是文件数量变多,一个十分钟的视频会变成七八十个文件。存储和备份的复杂度会上升,要提前规划目录结构。
办法三:借第三方存储
这是最省心的方案。视频传到视频平台,页面上嵌播放器,流量完全走平台,你只承担存储和转码的平台成本。
好处显而易见:带宽不用管,清晰度自动切换,播放器稳定,还自带防盗链和统计。
坏处是内容受平台规则约束,平台可能限流、可能挂广告、可能因为你内容不合规直接下架,你没法控制。
另一个坏处是数据不在自己手里。平台改规则、涨价、关停,你的视频就全废了。所以重要的视频一定要本地留原片。
如果内容是纯工具类、教程类,用平台通常是最优解。如果是需要长期稳定访问的,得考虑自建或者对象存储。
办法四:对象存储加 CDN
视频放对象存储,通过 CDN 分发,是自建方案里最接近商业化的做法。存储费按 GB 算,流量费按 GB 算,用得少就花得少。
关键是要开 CDN 缓存。热门视频被缓存到边缘节点,回源流量大幅下降,账单能降一个量级。
还要设防盗链。视频地址被外站引用,流量全算你的。用带签名的临时地址,有效期设几分钟,能挡掉绝大部分盗用。
CDN 的缓存策略要调。视频分片是不变的,缓存时间可以设很长;m3u8 索引文件会变,缓存时间要短。这两类要分开配置。
成本上,一个小站每月几十块到几百块不等,具体看播放量。比自建服务器带宽便宜,也比平台方案自由。
几个继续省钱的小技巧
限制单用户并发。同一个人开三个窗口看同一个视频,没必要给他传三份。服务端做个简单的会话去重。
给视频加封面图,别让播放器自动加载第一帧。很多播放器为了显示预览图会把开头几秒下下来,用户根本没点播放,流量已经消耗了。
默认不自动播放。自动播放在移动端特别费流量,用户体验也差。让用户主动点,能省掉大量无效加载。
长视频做章节。用户只看其中一段,就不需要下载整个文件。配合分片方案,实际流量能降很多。
定期清理不看的旧视频。播放量长期为零的内容,归档到冷存储,别占着热存储和 CDN 的位置。
带宽真的爆了怎么办
先确认是流量问题还是攻击。看日志里是不是同一个 IP 在疯狂请求,如果是,直接封 IP 加限速。
如果确实是正常用户多,临时方案是限速。给视频目录单独设一个带宽上限,超了就排队,别让整个站被拖慢。
中期方案是上 CDN。哪怕只用最便宜的那档,热门内容的流量大部分会被边缘节点吃掉,源站压力立刻下来。
长期方案是换架构。视频这类内容天生适合对象存储加 CDN,硬扛在自己服务器上,早晚会被流量打垮。
还有一个应急招:临时降清晰度。把默认清晰度从 1080p 降到 720p,流量立刻省一半,用户感知不明显。
别忘了版权和备案
自己传的视频,背景音乐、素材、字体都可能有版权问题。商用场景下被投诉的案例不少,别觉得没人管。
如果视频对公众开放,注意内容合规。涉及特定领域的还要看是否需要相关资质,这部分不确定的建议提前查清楚。
备案方面,视频服务在部分场景下要求更严格,具体看你所在地区的规则。别等做起来了才发现要补手续。
技术上还要考虑存储位置。放在境外的服务器上给国内用户看,速度慢且不稳定,而且合规上也可能有麻烦。
