开播前最不该省的一道工序,就是把现场上行带宽实测一遍。推流码率设定这个事,很多团队靠经验拍脑袋:四机位就给个八兆,全高清就给个五兆,看着挺合理,一到现场就翻车。我自己就翻过一回。去年三月在城北一家产业园做产线影像直播,四路信号全走场馆给的专线,测速软件显示上行一百兆,我按常规码率推流,开播十分钟画面开始有规律地卡,一查才知道那条专线是几十家商户共用的,标称一百兆,实际闲时也就三四十兆。那天这个教训值一次返工,从那以后,摄行影像的开工清单里,带宽实测永远排在设备调试前面。
先搞清楚上行和下行是两回事
测速软件跑出来的大数字,多数是下行,看片下载快不快跟直播没半点关系。直播推流吃的是上行,也就是你把画面往外送的这条窄路。家用宽带下行五百兆上行可能只有五十兆,场馆专线也一样,标称值和实际上行经常差着几倍。所以测速的时候要看清楚上行那一栏,别被总数糊弄了。我们摄行影像的做法是测三轮:上午一轮,下午观众进场后一轮,开播前最后一轮,取三次里最低的那个数做基准。有一回下午三点的实测值只有上午的一半,一问才知道隔壁展位开了两台补光灯的无线图传,全挤在同一个频段上。这个数你要是没测到,晚上开播就是盲人骑瞎马。
余量怎么留,三成是底线
拿到实际上行数值,别急着往满里填码率。带宽这个东西,测出来是一回事,稳不稳是另一回事。网络抖一下,码率贴着上限推就立刻花屏。我们的规矩是实际可用带宽打七折再分配,比如实测上行二十兆,推流码率设定就按十四兆往上规划,多机位再往下拆。有人觉得三成余量太浪费,画质吃亏。我的看法正相反:观众对偶尔的清晰度下降不敏感,对卡顿和花屏零容忍,宁可全程稳稳的七成码率,也别赌那百分之百。这个账,翻过车的人都算得清。
多机位不是码率相加这么简单
四机位是不是就是四倍码率?不是。导播台切完之后往外送的只有一路成片信号,机位的原始信号是往导播台回传,回传链路和推流链路要分开算。无线图传的回传占用另算,有线回传走交换机基本不吃上行。这里最容易漏的是云端备份录制,很多项目要求全程双录,备份流也吃上行带宽,少算这一路,开播后就是抢带宽打架。摄行影像在出方案的时候会把每一路的占用列成一张表,加总之后再对照七折带宽,超出就得砍:要么降机位码率,要么砍备份流,要么上聚合路由。提前砍比现场砍体面得多。
遇到拥堵,先降码率还是先降帧率
测速这件事,工具和姿势都有讲究
测速工具本身没什么神秘的,手机装一个测速应用就行,但姿势错了数字全是假的。测速要连着现场真正用于推流的那个网络测,手机连场馆 Wi-Fi 和推流盒连的如果不是同一个 SSID,测出来的就是两条路。有线网络要用电脑接网线测,别拿 Wi-Fi 的数去代表有线。测速应用跑的协议和真实推流用的协议也有差异,条件允许的话用推流软件做一次空推测试,往测试地址推一路彩条,看丢帧率,这比任何测速应用都接近真相。我们在 unusual 场地会做双层测试:先应用测速摸底,再空推十分钟压测,两层都过了才算数。测速工具做摸底足够用,但别拿摸底数当最终依据,推流码率设定的最后一道关,永远是真实推流压力测试。
现场网络突然变差,大多数编码器的第一反应是自动降码率,画面瞬间糊成马赛克。其实顺序应该倒过来:先降帧率再保码率,三十帧降到二十四帧,肉眼几乎无感,码率省下来的量足够把清晰度撑住。帧率和码率之间这笔账,很多导播没算过。我们彩排时会专门做一次断网演练,把主推流切断,看备用链路切换要几秒,看降级策略是不是按预期执行。彩排里没演过的故障,正式开播时基本都躲不开。
一份能照抄的起手参数
码率之外,还有几个参数一起联动
码率不是孤立的旋钮,它和分辨率、帧率、编码档位是一套联动系统。同样的码率,给二十五帧全高清是舒服的,硬塞给三十帧就会吃紧;编码器从普通档换到高效档,同画质能省下两成码率。所以调码率之前先把三个兄弟参数定下来,顺序别搞反。还有一个经常被忽略的项是关键帧间隔,间隔设太长,观众中途进直播间要等更久才能看到完整画面,设太短又吃码率,常规项目两秒一档是稳妥值。摄行影像出技术方案时,这几个参数是写在一页纸上的,因为现场改任何一个都会牵动其余。设备厂商的官方文档值得通读一遍,大疆这类厂商的图传与编码规格说明都写得很清楚,见大疆官网的技术支持页,参数边界写在哪,心里就有底了。
推流之外,录制通道要单独留一手
推流和录制是两条独立的命,很多团队把全部带宽押在推流上,录制跟着推流走同一条路,网络一抖,画面和备份一起没。我们的做法是录制通道单独走:本地机直接接录制设备存一份母版,云端备份走另一条链路,哪怕推流断了,母版还在手里,事后补救有得谈。带宽规划的时候,这两条通道的占用要分开算,别混在推流码率设定一笔账里。有一场项目现场网络整体抽风,推流中断了四分钟,母版完好无损,事后把缺失段落补录了片尾说明,客户的损失被压到最小。事后复盘会上客户问,为什么你们能保住素材。答案很简单,因为摄行影像从第一天起就没把鸡蛋放在一个篮子里。直播这行,画面质量决定下限,冗余设计决定上限,这个观念建立得越早,项目越稳。
单机位全高清二十五帧,码率四千五到五千千比特每秒;双机位加画中画,主路五千、备份三千;四机位切换推流,成片六千,图传回传每路两兆起。这些数字是我这几年几十场影像直播攒出来的经验值,场馆条件不同要按实测调,但起手照抄不会出大错。想看码率和延迟怎么联动取舍,可以翻之前写过的互动延迟和推流延迟的差别,还有录制格式与编码取舍那篇,格式选错,码率再对也白搭。VR 全景类的项目码率算法不一样,参考这篇品牌 VR 全景直播的技术复盘。更多系统讲解都在直播知识栏目。
如果你正在为一场影像直播的带宽和码率发愁,把场馆名称、机位数量和时长发过来,摄行影像可以先帮你出一版推流码率设定方案,电话 400-883-2046,微信同号。测速截图发来也行,我们帮你看看这网到底能不能扛。
#摄行影像