·补有K2的液体钙——汤臣倍健钙DK,好吸收才事半功倍·暑假肠胃易出问题,lifespace益生菌帮你打造健康好“肠”态·首创性科研成果:北京宝枫生物神经酸改善HIE治疗效果·科学护肝攻略:集4重护肝植粹于一身的健安适不容错过·解锁身材管理新姿势:lifespace小蓝腰益生菌助你实现科学身材管理·如何科学降血脂?主打天然成分的舒百宁纳豆红曲胶囊了解下·昆腾中国赵丙涛:磁带是冷数据的最佳存储介质·如何增强免疫力?汤臣倍健蛋白粉好营养来“助攻”·Canalys调研:中国企业对于上云的需求仍然低迷·增幅超30% 华为上调2023手机出货量至4000万部·突破多项重点技术 浪潮发布全新算力网络操作系统·自我看衰?苹果大幅削减MR头显销售目标至15万台·华为云正式发布新一代自研分布式数据库GaussDB·全球第一家!三星QD-OLED获Pantone双色彩权威认证·测尿酸试纸怎么用·3999元起!折叠屏手机moto razr 40系列正式发布·贵!索尼推出TOUGH三防CFexpress Type A存储卡·华为正式发布智简全光联接战略及6款重磅新品·联发科董事长蔡明介:预计手机业务未来两年会增长·测尿酸试纸怎么用·腾讯云EdgeOne入选Gartner DDoS缓解方案市场指南·华为OceanStor Pacific分布式存储获IO500榜第一·小米发布2023年一季度财报:扭亏为盈,利润上涨·联想上一财年营收利润双双下滑 非PC收入占比近40%·佳能首款RF“饼干”镜头RF28mm F2.8 STM正式发布·索尼发布轻巧型全景声回音壁HT-S2000 售价2990元·用友董事长兼CEO王文京:全面数智商业创新时代到来·中兴TECS云平台连续三年获GlobalData Leader评级·内核数量为业界最高!Ampere发布192核ARM处理器·Gartner:腾讯云获CPaaS、CRM多个赛道国内第一
您现在的位置:首页 >> IT >> 正文
手把手的教APP接入直播功能云服务平台
发表时间:2016年1月5日 16:17 来源:新科技 责任编辑:编 辑:麒麟

随着网络技术的迅猛发展,网络直播已不再遥不可及。各行各业以直播为基础的应用场景更是如雨后春笋,遍地开花,相关数据也显示,无论是国内还是国外,市场需求层出不穷,不仅包含视频门户、视频社交、在线教育、娱乐直播,企业视频协作、新闻媒体、金融、监控以及医疗等各行业均存在巨大的视频需求。由此,也催生出很多帮助这些行业实现直播功能的第三方云服务平台,接入成本不到开发者自己开发的十分之一,相比自主研发,外包直播模块成为大多数开发者的首选。

如图所示,从2015年下半年开始,各大巨头纷纷发力视频云服务,推出直播功能抢滩市场,市场竞争渐进入焦灼状态。但不管选择接入哪家的直播SDK,开发者在接入过程中总会遇到各种各样的问题。下面,小编就APP接入过程中最受开发者关心的问题进行一个详细的梳理。

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

直播产品架构

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

直播功能有哪些应用场景?

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

1、在线教育行业:网校、慕课、K12、在线家教等

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

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

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

5、企业协作:企业例会直播、产品发布会直播等

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

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

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

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

直播功能接入流程及有哪些常见问题?

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

a、注册视频云账号

b、创建直播频道

c、下载SDK和API文档

d、开发直播推流程序

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

1、工程上的问题。比如接入Android端直播SDK,首先要导入SDK包到eclipse或AndroidStudio工程。将开发包libs目录下的so库文件放置于工程名/libs/armabi或者/lib/armibi-v7a目录下,同时将LiveStreamingSDK.jar加入工程。

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

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS">

作用:允许挂载和反挂载文件系统 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

作用:允许程序创建显示在其他程序之上,并且类型为TYPE_SYSTEM_ALERT的窗体 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">

作用:允许程序向外部存储设备写数据 <uses-permission android:name="android.permission.INTERNET" />

作用:允许程序打开网络套接字 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

作用:允许程序获取网络相关信息 <uses-permission android:name="android.permission.RECORD_AUDIO" />

作用:允许程序写音频数据 <uses-permission android:name="android.permission.WAKE_LOCK" />

作用:允许程序使用PowerManager WakeLocks以防止处理器休眠或者屏幕锁屏 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

作用:允许程序获取Wifi网络状态信息 <uses-permission android:name="android.permission.CAMERA" />

作用:允许程序使用设备的camera <uses-permission android:name="android.permission.SET_DEBUG_APP" />

作用:配置一个程序用于调试 <uses-feature android:name="android.hardware.camera "/>

<uses-feature android:name="android.hardware.camera.autofocus"/>

作用:声明程序使用camera和自动对焦功能 <uses-feature android:glEsVersion="0x00020000" android:required="true" />

作用:声明程序使用OpenGL ES 2.0最后在Java代码中导入SDK类,在直播Activity中导入如下类: import com.netease.livestreamingFilter.view.*;

import com.netease.LSMediaCapture.*;

import com.netease.LSMediaCapture.lsMediaCapture.*;

网易云信工程师建议:对于Andriod,iOS,Windows平台的接入的详细使用说明,可以参考网易云信直播SDK接入文档。

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

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

//输出封装格式

mLSLiveStreamingParaCtx.eOutFormatType.outputFormatType = RTMP;//直播封装格式

//摄像头参数配置

mLSLiveStreamingParaCtx.sLSVideoParaCtx.cameraPosition.cameraPosition = CAMERA_POSITION_BACK;//后置摄像头

mLSLiveStreamingParaCtx.sLSVideoParaCtx.interfaceOrientation.interfaceOrientation = CAMERA_ORIENTATION_PORTRAIT;//竖屏

//音频编码参数配置

mLSLiveStreamingParaCtx.sLSAudioParaCtx.samplerate = 44100;//音频采样率

mLSLiveStreamingParaCtx.sLSAudioParaCtx.bitrate = 64000;//音频编码码率

mLSLiveStreamingParaCtx.sLSAudioParaCtx.frameSize = 2048;//音频一帧数据量

mLSLiveStreamingParaCtx.sLSAudioParaCtx.audioEncoding = AudioFormat.ENCODING_PCM_16BIT;//音频数据位宽

mLSLiveStreamingParaCtx.sLSAudioParaCtx.channelConfig = AudioFormat.CHANNEL_IN_MONO;

//音频采样声道数

mLSLiveStreamingParaCtx.sLSAudioParaCtx.codec.audioCODECType = LS_AUDIO_CODEC_AAC;

//音频编码格式

//视频编码参数配置

mLSLiveStreamingParaCtx.sLSVideoParaCtx.fps = 20;//视频帧率

mLSLiveStreamingParaCtx.sLSVideoParaCtx.bitrate = 600000;//视频码率

mLSLiveStreamingParaCtx.sLSVideoParaCtx.codec.videoCODECType = LS_VIDEO_CODEC_AVC;

//视频编码格式

mLSLiveStreamingParaCtx.sLSVideoParaCtx.width = 640;//视频分辨率(宽)

mLSLiveStreamingParaCtx.sLSVideoParaCtx.height = 480;//视频分辨率(高)

网易云信工程师建议:对于SDK提供的具体功能,以及相关的接口参数的设置和调用规则,开发者接入前需要好好阅读开发文档,详情可以参考网易云信直播API文档。

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

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

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

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

总结:开发者在选用市面上云服务商的直播产品时,功能是否满足需求和服务响应是否及时应该是开发者最应该考量的两个方面,看似简单的接入流程,有时候会衍生出各种各样的问题,对方的技术支持和运维服务非常重要。有些资金不充足的开发者前期会优先选用免费的云服务,但这也会出现一定的隐患,一旦产品体验差,更换云服务商的代价会更大。一般而言,知名大公司的技术实力更强,服务品质也站得住脚。

相关文章
关于我们 | 联系我们 | 友情链接 | 版权声明
新科技网络【京ICP备15027068号】
Copyright © 2015 Hnetn.com, All Right Reserved
版权所有 新科技网络
本站郑重声明:本站所载文章、数据仅供参考,使用前请核实,风险自负。