为了账号安全,请及时绑定邮箱和手机立即绑定

就是这么快!2小时搞定移动直播 App 开发

随着互联网用户消费内容和交互方式的升级,支撑这些内容和交互方式的基础设施也正在悄悄发生变革。手机设备拍摄视频能力和网络的升级催生了大家对视频直播领域的关注,吸引了很多互联网创业者或者成熟企业进入该领域。

结合七牛实时流网络 LiveNet 和直播云解决方案的实践,本文将从整体介绍直播中的各个技术环节。此外,文末会利用视频方式向开发者们介绍如何利用直播云快速搭建直播应用,并提供直播应用Demo源代码下载,以供开发者们学习参考。

下面,我们来介绍一下视频直播中的几个基本的技术环节:
图片描述

1.采集
采集是播放环节中的第一环,iOS 系统因为软硬件种类不多,硬件适配性较好,所以比较简单。Android 则不同,市面上硬件机型非常多,难以做到一个库适配所有硬件。PC 端的采集也跟各种摄像头驱动有关,推荐使用目前市面上最好用的 PC 端开源免费软件 OBS。

2.处理
「80% 的主播没有美颜根本没法看。」不光是美颜,很多其它的视频处理如模糊效果、水印等也都是在这个环节做。目前 iOS 端比较知名的是 GPUImage 这个库,提供了丰富端预处理效果,还可以基于这个库自己写算法实现更丰富端效果。Android 也有 GPUImage 这个库的移植,叫做 android-gpuimage。同时,Google 官方开源了一个伟大的库,覆盖了 Android 上面很多多媒体和图形图像相关的处理。

3.编码
编码主要难点有两个:1. 处理硬件兼容性问题。2. 在高 fps、低 bitrate 和音质画质之间找到平衡。iOS 端硬件兼容性较好,可以直接采用硬编。而 Android 的硬编的支持则难得多,需要支持各种硬件机型,推荐使用软编。

4.推流和传输
传输涉及到很多端:从主播端到服务端,从收流服务端到边缘节点,以及再从边缘节点到观众端。

推流端和分发端理论上需要支持的并发用户数应该都是亿级的,不过毕竟产生内容的推流端在少数,和消费内容端播放端不是一个量级,但是他们对推流稳定性和速度的要求比播放端高很多,这涉及到所有播放端能否看到直播,以及直播端质量如何。

很多人吐槽现在的 CDN 不靠谱,我也承认传统的 CDN 在新时代显得心有余力不足。你能够借助 CDN 快速实现大规模的流分发,但是稳定高速的推流上传可能还需要自己做很多工作。因此,我们七牛打造了一个直播专属的实时流网络。

5.转码
为了让主播推上来的流适配各个平台端各种不同协议,需要在服务端做一些流处理工作,比如转码成不同格式支持不同协议如 RTMP、HLS 和 FLV,一路转多路流来适配各种不同的网络状况和不同分辨率的终端设备。在文末视频里,我们会详细对比这几种不同的协议及使用场景。

同时,为了配合一些运营需求,比如一些监管部门的要求,我们在服务端也提供了内容识别如鉴黄的功能。

6.解码和渲染
解码和渲染,也即音视频的播放,目前 iOS 端的播放兼容性较好,在延迟可接受的情况下使用 HLS 协议是最好的选择,我们也提供了能够播放 RTMP 和 HLS 的播放器 SDK。Android 的硬件解码和编码一样也存在兼容性问题,目前比较好的开源播放器是基于 ffplay 的 ijkplayer,我们也基于此实现了一个更好的 Android SDK。

我们在了解了直播的各个技术环节后,面对现今多元化的直播场景,我们该如何利用直播云开发一款直播应用呢?让我们通过《2小时搞定移动直播App开发》系列课程来一步步学习iOS端直播应用的搭建。

本系列课程共分为两节,系列之一着重介绍直播应用推流端(主播端)技术详情及开发原理;系列之二着重讲解直播应用播放端所涉及的开发原理和配置详情。

课程大纲如下:
《2小时搞定移动直播 App 开发-系列之一》
第一章 直播 APP 涉及的技术
直播的形式,直播涉及的技术:采集、处理、编码、封包、推流、播放
第二章 七牛直播云的架构
业务服务器、采集端、播放端、从推流到播放的流程细节
第三章 编写直播房间
创建工程,引入七牛直播云推流 SDK;获取流对象,获取采集权限,推流;在七牛管理系统中查看正在直播的流。

《2小时搞定移动直播 App 开发-系列之二》
第一章 直播业务架构和协议
直播 App 的主播端、直播 App 业务服务器端、直播播放协议对比
第二章 创建直播大厅和播放页面
Server Storage、Server API、大厅列表界面、播放页面
第三章 Stream 详细配置和播放的原理
推流和直播地址、回放地址、直播封面、播放节点路由、解码、渲染和播放、更多直播细节和功能介绍

课程链接:《2小时搞定移动直播App开发》

点击查看更多内容
39人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消