无人机直播在B/S系统上的实现思路

此篇文章源于在2022年实施的一个项目,无人机直播功能是业主比较在意的一个功能,同时也是在这个项目里我这个实施仔参与度比较高的一个地方。

缘由 :业主在需求调研的时候明确的说过需要这个功能,开发老哥答应的也很痛快,在开发老哥的印象里,大疆应该类似于海康威视,有一个类似萤石云的视频平台,安排我去找,可惜的是在我寻找后,并没有找到类似的视频云平台,后面开发又提供了一个思路,找一个流媒体服务器,用来实现直播效果。

对我来讲,直播具体怎么做基本完全不懂,首先要做的就是先搞明白直播具体是怎么实现的,以及大疆的无人机直播方式与通常的网页直播有什么区别。搞懂这两个问题后,再进行后续的工作。

  1. 得益于之前跟朋友打游戏的2通团本录制视频这段经历,知道了OBS这个软件,通过B站直播,尝试了解了一下直播流程。
    直播在我这边的流程大致理解为 推流(OBS)→流媒体服务器→VLC(拉流)。
  2. 无人机的直播方式进行了一次调研,对其的了解就是通过无人机的控制软件进行直播操作。例如DJI GO4,直接在软件上输入推流地址,用手机流量即可发起直播,对其的认知基本等同于OBS软件。
  3. 直播流程了解了,问题就是找流媒体服务器了,这部分内容就是百度查,找到了华为云,然后就是看操作文档,根据华为云服务器的需求,申请两个域名,在配置域名CNAME解析的时候,着实给我们公司网络部门老哥折磨的够呛。好在后面基本没出什么问题。
  4. 因为手头没有没有无人机,尝试通过OBS和VLC完成直播流程,先在OBS上输入拼接的推流地址推流,在华为云控制台的直播管理-流管理-在线流上观测推流是否成功,成功后在VLC上输入播流地址,大概延迟2s左右出现推流画面。
  5. 在公司测试直播的时候出过一次问题,推流过去了,拉流死活不管用,排查域名没问题,找华为云的技术支持也没看出来啥问题,停摆了一段时间,在业主那再次尝试,发现可以正常的完成直播流程,后面跟开发沟通才知道是因为公司把视频相关的网络给阻断了(大概这么个意思)
  6. 刚开始的设计是,无人机进行推流→华为云服务器→浏览器启动本地VLC客户端,自动填入播流地址,在VLC上直播画面,这样做的话缺陷很明显,太low了,而且非常麻烦。业主也提到过这个问题,想要直接在网页上进行播放。
  7. 后面与开发沟通,意思是rtmp格式只能通过这种方式来实现,因为刚开始测试一直用的rtmp格式,后面边聊边看发现华为云的播流地址还支持flv,m3u8格式,使用m3u8格式的播流地址完成了在网页上播放直播画面的效果。

现在来看,这个功能实际上难度并没有很高,尤其是我还不涉及开发内容,但是在我去做这个工作的时候,一直处于一个急躁而又焦虑不安的状态,因为对我来讲,直播本身不了解,租用服务器联系厂家也是第一次做,其中还涉及到了租用服务器的费用在公司内部的申请,成本估算。很多之前完全没有做过的事情,好在还是解决了这个问题,算是又积累了一份经验吧。

最近验收又出现问题了,记录下领导对我的劝诫,接着干吧。
遇到陌生的问题,一别急,二别怕,三别慌。慢慢来。

你可能感兴趣的:(无人机,服务器,网络)