admin管理员组

文章数量:1532657

2024年1月6日发(作者:)

网易视频云:手把手教APP接入直播功能

直播类APP在这两年的发展势头可以用“炙手可热”来形容,一方面是移动网络的大力普及,用手机看直播几乎成了日常生活的一部分。一方面是受众对各种直播内容的需求急剧上升,这种种因素都导致直播类的APP呈现出百花齐放的繁荣景象。由此,也催生出很多帮助APP实现直播功能的第三方云服务平台,接入成本不到开发者自己开发的十分之一,相比自主研发,外包直播模块成为大多数APP开发者的首选。下面,小编就接入过程中最受开发者关心的问题进行一个详细的梳理。

如何选择靠谱的直播产品?

直播产品架构

首先看口碑。看知乎或开发者论坛上是否有该服务商的负面评价,这些评价有些是真实的,但有些可能是竞争对手恶意抹黑,这一点需要辨别清楚。然后是负面评价内容是否是自己最为关心的,比如服务品质差,技术支持不到位的视频云服务平台,对于小型的开发实力一般的创业公司而言,就不太适合,一旦接入,开发过程中遇到的技术问题因为得不到及时和有效的响应,经常会让程序员抓狂。其次看功能。功能是否能满足需求也是需要关注的核心问题。最后,要看产品性能。这个可以从视频云服务商提供的demo判断出来,试用之后,性能稳不稳定通常心里就有数了。

直播功能应用场景

如图所示,直播功能的场景非常多样化,小编总结了一下,直播场景细分为以下几个方面:

1、在线教育行业:网校、慕课、K12、在线家教、教学录播和点播等

2、在线娱乐行业:美女秀场、游戏直播、演唱会直播KTV直播、婚礼直播、活动直播、体育赛事直播、装修直播、吃饭直播等

3、社交:明星社交、视频社交等

4、视频门户:视频直播、视频点播等

5、企业协作:点对点和多方视频会议、企业例会直播、产品发布会直播等

6、在线金融:视频理财咨询、在线签约过程录制、股评直播、大宗交易平台直播等

7、安防监控:家庭监控、幼儿园监控、早教中心监控、旅游景区监控等

8、远程医疗:视频问诊、专家会诊等

9、新闻媒体:现场手机直播、短新闻、庭审直播等

直播功能接入流程及常见问题

上图是网易视频云直播功能的接入流程,一般来说,开发者在接入直播功能的时候,接入流程大概如下:

a、注册视频云账号

b、创建直播频道

c、下载SDK和API文档

d、开发直播推流程序

看起来简单的接入流程,开发者在实际操作过程中还是会遇到各种各样的问题。对于这些问题,小编总结了一下,主要有以下四个方面:

1、工程上的问题。开发者在导入SDK库文件时存在的一些问题,比如库文件的绝对或相对路径设置错了,导致无法接入。比如接入Android端直播SDK,首先要导入SDK包到eclipse或AndroidStudio工程。将开发包libs目录下的so库文件放置于工程名/libs/armabi或者/lib/armibi-v7a目录下,同时将加入工程。

同时需要在中添加系统权限。如下

作用:允许挂载和反挂载文件系统

作用:允许程序创建显示在其他程序之上,并且类型为TYPE_SYSTEM_ALERT的窗体

作用:允许程序向外部存储设备写数据

作用:允许程序打开网络套接字

作用:允许程序获取网络相关信息

作用:允许程序写音频数据

作用:允许程序使用PowerManager WakeLocks以防止处理器休眠或者屏幕锁屏

作用:允许程序获取Wifi网络状态信息

作用:允许程序使用设备的camera

作用:配置一个程序用于调试

作用:声明程序使用camera和自动对焦功能

作用:声明程序使用OpenGL ES 2.0

最后在Java代码中导入SDK类,在直播Activity中导入如下类:

import .*;

import aCapture.*;

import aCapture.*;

对于Andriod,iOS,Windows平台的接入的详细使用说明,请参考xxxx

网易视频云工程师建议:这些问题通常通过第三方的技术支持很容易就会被解决。

2、功能性上的问题。开发者在调用第三方SDK接口的时候,由于绝大多数的程序员不会认真去读对方的API文档,经常跟着感觉或经验去做调用,调用过程中经常会出现这样或那样的问题。

例如,利用SDK开发一个直播推流应用程序,首先需要的设置相关的直播参数集,包括音频的码率,声道,采样率,位宽,编码格式,视频的码率,帧率,分辨率,编码格式,以及直播发送协议。详细参数如下:

//输出封装格式

FormatType = RTMP;//直播封装格式

//摄像头参数配置

Position =

CAMERA_POSITION_BACK;//后置摄像头

aceOrientation =

CAMERA_ORIENTATION_PORTRAIT;//竖屏

//音频编码参数配置

rate =44100;//音频采样率

e =64000;//音频编码码率

ize =2048;//音频一帧数据量

ncoding =

NG_PCM_16BIT;//音频数据位宽

lConfig = L_IN_MONO;

//音频采样声道数

ODECType = LS_AUDIO_CODEC_AAC;

//音频编码格式

//视频编码参数配置

=20;//视频帧率

e =600000;//视频码率

ODECType = LS_VIDEO_CODEC_AVC;

//视频编码格式

=640;//视频分辨率(宽)

=480;//视频分辨率(高)

对于SDK提供的具体功能,以及相关的接口参数的设置和调用规则,请参考API文档xxxx

网易视频云工程师建议:开发者在接入前认真阅读开发文档,避免出现问题后,万一对方技术支持不到位而干着急。

3、个性化需求的问题。上述两类问题都被解决后,开发者在整体产品体验上,还会有一些个性化的需求,比如后台切换、音视频流的动态切换、加滤镜或者混音等。

网易视频云工程师建议:这就需要前期了解清楚对方的功能点,是否提供个性化需求的接口。

4、整套系统跑起来之后的稳定性问题。有些不稳定情况是自身的网络环境不稳定引起的,如果对方的直播产品能够很好的检测到网络抖动,拥有码流自适应的功能,一定程度上就能避免这个问题。另外,也有一些不稳定情况是对方产品稳定性差引起的。

网易视频云工程师建议:这就需要开发者去关注下对方的关键性能指标,比如延迟、卡顿及安全性等。

总结:开发者在选用市面上云服务商的直播产品时,功能是否满足需求和服务响应是否及时应该是开发者最应该考量的两个方面,看似简单的接入流程,有时候会衍生出各种各样

的问题,对方的技术支持和运维服务非常重要。有些资金不充足的开发者前期会优先选用免费的云服务,但这也会出现一定的隐患,一旦产品体验差,更换云服务商的代价会更大。一般而言,知名大公司的技术实力更强,服务品质也站得住脚。

本文标签: 直播视频开发者