线上抓娃娃最近三个月火爆了。笔者通过访谈即构科技的客户,了解他们选型线上抓娃娃方案时考虑的因素,总结了一些经验,写成了本文。

线上抓娃娃的技术方案本质上是直播SDK加上物联网。选型直播SDK的方法就是要看延迟时间、流畅性、清晰度还有网页端的支持程度(H5版本),而选型抓娃娃方案的物联网部分就要看硬件方案,包括娃娃机,主板,安卓板子加摄像头,或者IP摄像头等。另外,代运营服务和软件外包对于创业团队,或者打算短平快去试水的平台也是要考虑的选项。

低延迟

线上抓娃娃的延迟时间是直播的延迟时间加上操控信令的延迟时间,因此比直播的要求要高。以即构的方案为例,直播SDK的延迟大概是300毫秒,操控信令的延迟时间大概是100毫秒,两者加起来大概是400毫秒。一般来说,延迟时间低于500毫秒的话,抓娃娃的体验会比较好,如果超过500毫秒,用户就会感觉比较迟钝,很难受。

视频直播技术在2016年直播元年发展起来,连麦直播已经是直播平台的标配。互动直播的延迟要做到300毫秒以下,围观用户的延迟要做到1秒左右。主流采用的语音视频传输协议是RTMP或者基于UDP的私有协议,私有协议的延迟更低一些,而且对抗弱网的能力会更强。

图1. 即构科技实时视频直播架构图

 

物联网是在线上抓娃娃爆发的这几个月才真正得到落地和实践的,通过websocket来传输控制信令。这一块的数据量比较小,延迟可以做到100毫秒左右就是比较理想的了。

流畅性

低延迟和流畅性本身就是一对矛盾的要求,要延迟低就把JitterBuffer尽量缩短,这样网络抖动就很容易表现出来,出现卡顿的问题。如果为了流畅性而把JitterBuffer延长,那么延迟的时间就会加大。因此,最终的方案是在低延迟和流畅性之间选择一个平衡点。

一般来说有两个办法:

1)做动态伸缩的JitterBuffer,在网络较差或者网络抖动比较剧烈的情况下,可以适当增大JitterBuffer,从而降低一点点延迟来对抗抖动。

2)采用快播和慢播技术,在网络较差的环境,可以在用户无感知的条件下稍微降低播放速度,来应对短暂网络抖动引起的立即卡顿,当网络恢复可以加快速度追回来。

3)码率自适应,也就是以比较合适的码率做动态传输,为了保证流畅度甚至可以调整帧率和分辨率。

4)分层编码、传输控制,在推流端做一些分层的编码,这样在拉流端可以动态根据侦测到的网络带宽情况来拉取不同的视频数据去做渲染。

图2. 即构科技线上抓娃娃系统架构图

考察这个技术特征的时候,除了要通过专业的方法进行测试和验证,还要和方案商的技术团队去沟通,大致了解他们的实现方法,从而判断他们的技术是否过硬和靠谱。

清晰度

清晰度直接关系到用户体验,现在的用户已经被直播给惯坏了,基本接受不了模糊的视频画面。一般来说,决定清晰度的因素就是码率,600kbps的码率是一个比较合适的水平,能看得比较清晰。在选型的时候通过wireshark等工具来监控码率,如果做了码率自适应,码率是会随着网络情况而自动调节的。这里要注意的一个坑就是:有些方案为了获得低延迟,牺牲了清晰度,把码率压倒很低,画面会出现色块和马赛克,或者画面出现一会儿清晰一会儿模糊的情况。这种方案刚体验的时候发现延迟好低,一高兴就忘记观察画面的清晰度。

H5版本


在网页端的支持程度极其重要,线上抓娃娃说到底了还是流量变现的一门生意。H5版本是在网页端传播的利器,特别是通过微信来传播,因此H5版本是必不可少的。

在直播爆发的2016年,为了保障直播的体验,直播平台采用的技术方案大都是由原生APP来集成的。当然,在Web端也是支持的。在Web端可以通过HLS或者HTTP-FLV来拉流观看的,HLS的延迟很大,差不多到10秒。基于WebRTC的方案,虽然延迟也可以做得相对比较低,但是目前支持WebRTC的浏览器不是多数,只有Google Chrome,FireFox和Opera等,占有的事情份额小于40%,而且微信的浏览器不是完全支持WebRTC的,也就是说基于WebRTC的方案在微信浏览器上跑是会受到限制的。

既然HLS、HTTP-FLV和WebRTC都没有办法让线上抓娃娃的方案普遍能在所有浏览器上跑,那么线上抓娃娃的方案商提供的H5版本是怎么实现的?这里只分享一个大概。选型的时候重点的验证方式是看能否在微信浏览器(微信是传播和流量的重镇),和主流的浏览器上运行,然后了解技术方案来判断这个方案是否能够普遍适合所有浏览器。

下面以即构科技的线上抓娃娃H5版本为例来说明H5版本的技术。即构H5版本把视频格式从H264转码成MPEG1,通过WebSocket来接入到实时视频传输网络,在H5上采用JSMPeg来播放。为了获得超低的延迟,即构在实时传输网络内部是采用基于UDP的私有协议进行传输,而私有协议是无法和浏览器互通的。为了解决这个问题,增加了接入服务器,在接入服务器和浏览器之间采用WebSocket进行传输。在H5页面上播放的时候,采用JSMPeg播放器来保证所有的浏览器都能支持,MPEG1是比较早期的视频格式,能够被所有浏览器支持。通过这个方案,即构的H5版本能够在包括微信浏览器在内的所有浏览器上运行。

图3. 即构科技线上抓娃娃H5版本架构图

据了解,目前主流的H5版本都是采用这个方案,也有一些厂商的方案是基于WebRTC的,为了使得他们的方案能够在微信上运行,他们在微信上采用MPEG1/WebSocket/JSMpeg方案,而在别的浏览器上还是保留了WebRTC,这样就引入了一个问题:虽然在微信上支持了H5,但是在别的浏览器上还是受到WebRTC的限制,不能完全支持H5。

硬件方案

市面上的硬件方案一般有3个选择:PC,安卓板子或者IP Camera。

1)PC的优点是简单快捷,而且兼容性好;缺点就是成本高(一台PC的价格在平均5000左右)。为了节省成本,往往通过一台PC带几个娃娃机,这样会带来另外一个缺点:万一PC宕机,几台娃娃机都要跟着停止工作,受到影响的营收就比较高。

2)安卓板子的优点是成熟、稳定,而且普适性广,价格适中(一个安卓板子价格在300到400块钱);缺点当然是没有像PC那边便捷,但是安卓板子的安装也十分简单。

3)IP Camera的优点是成本比较低,缺点是不稳定,而且开发和调试成本高:需要进行嵌入式开发,把程序烧到硬件上,开发和调试十分麻烦。

这三种硬件方案中,推荐选择第二个硬件方案,简单稳定而且性价比高。

在是否提供一站式解决方案方面,也有两种选择:

1)一站式解决方案,包含硬件解决方案,把软件和硬件之间的调试都搞定而且跑稳了,会帮你节省好多时间。

2)只提供直播SDK或者信令控制SDK,运营方还要自己去找硬件厂商,商务对接、硬件选型还有硬件调试都要花掉不少的时间。

如果是为了尽快上线推荐采用一站式的方案,如果是为了掌控整个链条,推荐第二种选择。

图4. 三种线上抓娃娃推流方案(本图来自互联网)

单就硬件调试而言,安卓板子上的应用程序(下层是直播SDK和信令控制SDK)需要和娃娃机的主板通信,把控制指令发送给天车的串口,调试硬件的主要时间主要花在这里。如果硬件不好的话,坑还不少。就算硬件没有问题,一般来说硬件厂商不会帮你调通软件和硬件的通信,信令控制SDK和直播SDK厂商也不会管硬件的问题,因此最终还是得你自己来搞。在运营中如果出来问题,就要你和软件供应商,硬件供应商三方一起协调,过程会比较繁琐。

代运营服务

这是技术以外的话题,可是关系到项目的成败,因此这里也提一下。对于初创团队,或者打算短平快试水的团队,自己去租赁场地和购置娃娃机是不划算的。租赁场地要安排电力和上行网络带宽等。购置娃娃机需要沉着的成本。以后无论是业务进一步开展,还是打算退出,这种模式基本是不现实的。如果方案商提供了代运营服务可以考虑采用,方案商会帮你搞定上述问题,而且日常的维护,娃娃机的版权和采购,他们都会帮你搞定,你只需要按月支付娃娃机的租金就好了,把精力专注在流量的运营和变现上。

软件外包

这是针对从非技术领域跨界而来的团队,比如说传统的娃娃机运营方,如果目前没有配置软件团队,或者研发能力不足,可以选择有软件外包服务的方案商。为什么提到软件外包?因为大部分的方案都会需要你最后开发自己的APP的应用层,或者H5版本的应用层,至少你要换一下H5的皮肤吧。如果自己没有研发团队,那么选择有软件外包服务的方案商也是一个不错的选择。

结语

线上抓娃娃的方案选型需要综合考虑软件、硬件、代运营服务和外包服务等。最终,决定一个线上抓娃娃产品成败的一个关键因素是上线时间,毕竟风口的红利期不长。在选型的时候,要考虑技术,也要把时间成本考虑进去。

线上抓娃娃方案的选型方法相关推荐

  1. 最近两周我们接触到的两种线上抓娃娃机的技术实现方案(一种RTSP/一种RTMP)

    线上抓娃娃机需求 最近线上抓娃娃机的项目火爆了,陆陆续续几十款线上抓娃娃机上架,还有一大波正在开发上线中,各大视频云提供商都在蹭热度发布自己的线上抓娃娃机方案,综合了一下,目前线上抓娃娃机的视频需求无 ...

  2. 线上抓娃娃机火了三个月了,你玩了吗?

    作者:MMBellaaa 全文共 5237 字 13图,阅读需要 11 分钟 ---- / BEGIN / ---- 最近一段时间,线上抓娃娃机APP吸引了我的注意.不仅仅是因为它是个新兴产品,还因为 ...

  3. 产品思考|为什么线上抓娃娃要用真机?

    作者:宁白衣 全文共 2591 字,阅读需要 6 分钟 ---- / BEGIN / ---- 前几天,在一个群里,看大家都在玩在线抓娃娃,于是,我也尝试了几个. 目前所谓的在线抓娃娃机,基本都是通过 ...

  4. 线上抓娃娃火了,你抓住机遇了?

    一.APP内玩家游戏流程 玩家完成注册或者授权认证后,可开始抓娃娃游戏.玩家选择自己想抓取的娃娃房间进行游戏,游戏中抓到的娃娃可以直接寄到玩家手中,也可以兑换成积分用于购买商城中的物品.或者兑换成金币 ...

  5. 全平台在线抓娃娃方案

    线上视频抓娃娃风口正劲.用户可以通过手机遥控实体娃娃机,从正面与侧面两个视角判断爪子的位置,如果抓到了娃娃,可以选择寄送到家.短短几个月内,正式和即将上线的远程视频抓娃娃App和平台已有几十家. 对于 ...

  6. 【网上教学】实现线上签到和收批作业的方法

    实现线上签到和收批作业的方法 适用场景:小学.初高中.大学等教师线上教学中签到(点名)及数据导出.收批作业等任务的实现. 实现的方法很多,这里只介绍其中的一种 签到功能 使用腾讯文档的服务实现 发布签 ...

  7. app线上推广的四种主流方法

    app推广渠道从形式上分为:线上推广和线下推广.关于线下推广,只要大家用心观察周围,就能发现.这里,小编根据自己的经验,分析总结了4种主流的线上推广的渠道平台及方法. 一.应用市场推广 1.app应用 ...

  8. 质量基础设施一站式服务平台建设,NQI线上系统开发方案

    质量基础设施一站式服务平台建设,NQI线上系统开发方案 质量基础设施一站式服务,即通过有机融合计量.标准.认证认可.检验检测等要素资源,面向产业.区域.企业特别是中小微企业和民营企业提供的全链条.全方 ...

  9. 3D数字展厅 | 线上展会应用方案

    3D数字展厅 | 线上展会应用方案 项目方案介绍 随着数字科技的发展,3D数字展厅.线上展会.智慧展馆的展示方式开始多样化,商迪3D专注于VR/AR数字展厅,智慧展厅,云展厅和线上展厅的建设和内容设计 ...

最新文章

  1. 如何获取握手包_白话详解TCP的三次握手到底做了些什么
  2. 如何和老师沟通好博士的申请呢?
  3. rust 案例_RUST-X气相防锈产品落户中国,助力中国高端制造出口海外
  4. LeetCode 2001. 可互换矩形的组数
  5. SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation要点
  6. IT桔子分布式项目1
  7. linux bond配置步骤,七种bond模式说明
  8. 关于svn目录地址迁移
  9. Win10下Pytorch的安装和使用[斗之力三段]
  10. Python多线程学习资料1
  11. 2021年广东专精特新中小企业补助及小巨人企业补贴
  12. 知识付费平台包括哪些功能版块?
  13. 面对工业4.0,我国工业企业的挑战与对策
  14. 测试点设计及编写思路
  15. 任意分布的随机数的产生方法
  16. 如何把pdf文件转换成eps文件
  17. 中国年轻人与日本年轻人有什么不同
  18. 算法设计 凸多边形的三角剖分
  19. Vue项目初期报错问题记录大全
  20. JVM 学习笔记二十六、JVM监控及诊断工具-GUI篇

热门文章

  1. 松江辟出长三角G60科创走廊供给侧结构性改革新路
  2. 气象站的技术参数有哪些?
  3. 超星阅读器文件转为PDF文件
  4. 移动充电宝哪个最便宜?便宜又耐用的充电宝推荐
  5. 红帽第四季度订阅的强劲增长 整体表现超预期
  6. 小米开源监控系统监控mysql_小米开源监控 Open-Falcon 3.0 部署
  7. 企业绩效评价体系的四大层次
  8. **公司软件开发人员绩效评价标准(zt)
  9. 2014-01-14
  10. MySQL Binlog温故知新