大家好,又见面了,我是你们的朋友全栈君。
视频直播这一两年在移动互联网上可以说是非常的火,各种视频直播软件层出不穷。有的通过自己的推广宣传确实火了起来,比如:映客。
我之前也是在一家专门做视频直播的公司打酱油,当时对这个概念还是很模糊,后来才慢慢的了解清楚视频直播的这个概念。后来离开这家公司,到现在的公司,做了一段时间,又有需要做视频直播的需求。由于公司各方面原因,只能引用第三方的sdk,最后选择的腾讯云。所以我下面给大家讲一下开发过程。
前两点 说下视频开发的引言,腾讯云sdk相关直接跳入到第三步。
一 视频直播开发sdk解决方案
直播开发我所知道的有两种解决方案
1.自己公司有比较成熟的c++ 开发人员,自己开发sdk so库等 做 视频推流 ,转码 解码,美颜等功能。有人说github上 很多开源库都是 视频直播的框架,免费而且也不用自己开发,但是你要知道 这些东西如果出了问题,你怎么修改它,还是要自己有能懂这些东西的 开发人员,才能解决。道理和自己开发的意思差不多,但是可能会省一些时间。
2.用第三方sdk开发,我知道的 视频直播开发sdk有 金山云 ,腾讯云 ,网易云 等等,其实还有很多 ,我就不一一列举了。
两种方式优缺点 自己开发 sdk 耗费人员及大量时间 ,开发进度会慢很多。而且对技术要求也比较高,适合公司本身有c++且有相关经验的程序员。如果公司本身没有可以开发sdk的程序员,只有客户端及服务端程序员。且要求开发周期比较短。(本人推荐)。
如果是 选择第一种方案的 ,下面的就不用继续看了….
二 视频直播三方sdk的选择
这个一般都从两方面考虑
1. 费用问题
每家的sdk计费模式不同,这个每家的首页文档里面都有详细的介绍,我就不一一截图说明了。
2. 技术功能点及稳定性
稳定性来说,之前一个大神给我推荐的是金山云 。但是由于后来我并没有用到 ,只能等待用过金山sdk的开发人员来说明了。
三 直播技术架构
链接 :http://lib.csdn.net/base/liveplay/structure
四 腾讯云视频开发攻略
上面说了这么多废话,终于对应上标题了。大家久等了,不好意思….
和大家一样 百度 腾讯云视频直播 进入腾讯云首页
点播 直播 互动直播 微视频 这么多sdk….. 问题来了 这都是什么玩意? 别着急 等我细细来解答。
1 sdk选择
1)直播 互动直播
大家做直播前肯定也玩过其它家的直播 比如映客 花椒等
如果是经常玩 肯定知道连麦是什么意思,就是一个主播可以邀请另一个人和他一起直播 ,说白了就是多人直播。
倘若你们有这种需求 ,有多人互动 或者 多人视频会议的app 那么请直接选择 互动直播的sdk。
如果没有这种需求,就是原始的一个主播 直播,比如:老师授课,专家讲课等 在线教育类等 总之 就是一人直播的 ,我强烈建议选 直播sdk。不要用互动直播。后面说具体原因。
2)点播
视频回放,录制会看的sdk。
简单来说就是 直播的视频保存下来然后回放功能。
还有就是 如果自己本地有一些视频资源 想让用户可以看到。也可以上传,然后观看。
3)微视频
这个不多解释了 快手 美拍等。
选择好自己的sdk后 那么请直接申请加入 腾讯的官方 客服 技术支持群:
直播sdk: 腾讯云直播推流播放SDK 538797442
点播sdk:腾讯云点播产品交流 202861142
互动直播sdk:腾讯云互动直播交流 207177891
腾讯IM云通讯技术交流 468195767
还有一个很多人不知道的… 厉害了我的哥…
小直播技术交流群 324124586
提前加 互动直播群 验证通过非常慢。
到现在为止 大家一定要清晰的知道 自己 是选用直播sdk 还是互动直播sdk ,因为是两套sdk 两套技术支持 两套开发过程 。
直播功能点说明:
直播 观看直播 直播回放 观看直播回放 直播内im聊天室(互动发消息) 头像列表 成员进出系统消息 点赞 美颜 等
* 选用直播sdk的
加入 直播群 云通讯群 小直播群
补充说明:小直播 是基于直播sdk开发的一套视频直播app源码 ,里面的直播基本的功能点 他们都有。但是 小直播是基于 直播sdk开发的。
所以如果大家 现在是选用的直播sdk 那么 我推荐用小直播的源码及文档研究 上面也有群。 小直播也是他们官方推的一个东西。
文档:云直播 – 文档中心 – 腾讯云
* 选用互动直播的sdk
互动直播里面的源码 是随心播 里面缺的功能是 头像列表 和 回放功能。所以 我也建议 大家加一下 小直播群 下载一下源码。里面有功能后期你会参考用到(头像列表和回放功能,没有就算了)
有大神要喷我了…头像列表不就是一个listview就行吗..好吧 大哥我错了 别喷了 好吗…. 我只是推荐大家参考一下,不是打广告的。
文档:腾讯云文档中心 – 腾讯云
还有一定要看的 研发综述说明( 主要介绍 客户端 服务端 腾讯云三者之间的 整个交互流程) https://www.qcloud.com/doc/product/268/4909
2 开发流程
1)申请应用
2)代码相关
具体代码开发流程 看demo源码。别看他们写的那些文档,文档只是个形式,为什么因为 文档上面很多都写的比较粗,而且文档很旧 落后sdk好几个版本。
最起码现在是这样 我的sdk用的是互动直播1.8.2
另外 他们官方的demo源码都是 基于 android studio的 不是eclipse项目。 如果有开发者用ec开发的 可以手动建一个项目 然后把相关的东西拷贝过来。
如果遇到比如一些so库相关的问题 可以参考我之前一篇文章:
android开发 加载so库的解析和出现的各种错误分析
互动直播参考 随心播源码 直播参考小直播源码
说了半天都是废话,看源码。 对 就是源码。因为说流程会遗漏一些细节,但是源码你跑通了 ,再整合到自己项目里面心里面就会比较有底气了。
注意点 我说几点:
1.配置文件里面的相关配置
2.腾讯云管理台 添加好应用的相关配置
3.application 里面的初始化
4.IM云通讯相关的jar和so库都参考源码里面的就可以 不要去云通讯sdk里面再去拷贝一份
5.登录里面如果是独立模式 流程是 向业务服务器后台请求sig ,拿到sig 向腾讯云请求登录。登录成功后初始化 AVSDK
6.推流问题 不推流 也可以观看直播
7.回放功能是 用的点播sdk 也就是直播的sdk (点播和直播的东西在一个jar包里面)用了互动直播sdk开发的同学发现,如果项目需要做 视频回放功能 ,还要集成 直播的 sdk……
8.视频列表 获取视频房间数据等 看 上面研发综述那个连接 有详细交互流程 看完就明白了。
9.回放的视频 90分钟一个文件 ,超过90分钟就是下一个文件… 自然就是两个url 至于怎么合并 暂时还没研究…
开发过程中问题还会有很多 :
解决方案:
1.上面加的群里面问 直播的群 回答问题没有问题 互动直播就一个人回答问题..你没看错 就是一个人
2.提交工单 管理中心右上角有工单
3. 论坛找相关问题 云+社区 – 腾讯云
3 DEMO源码下载链接
腾讯官方的链接 :
直播demo:直播群 群文件里面有
随心播(互动直播demo): https://github.com/zhaoyang21cn
小直播demo:
小直播Android代码: http://download-10055601.cos.myqcloud.com/xiaozhibo_android_2016.10.10.zip 小直播iOS代码: http://download-10055601.cos.myqcloud.com/xiaozhibo_ios_2016.10.10.zip 小直播业务服务器代码: http://download-10055601.cos.myqcloud.com/xiaozhibo_business_svr_2016.10.10.zip
想要随心播 ec源码的也可以直接加我们群 群号码下面有。
ps:小直播demo下载链接 我是从小直播群公告里面粘贴出来的链接。 他这个应该还要解压密码。密码大家可以加群联系 ,因为现在小直播还在申请软件著作权的阶段。大家直接加群 有问题直接去群里面问比较靠谱
在开发过程中走了很多弯路,虽然最后按期完成。但是很累 写这篇文章的目的就是让大家准备做开发的 在开发之前有个大概了解,让大家少走一些弯路。本人水平有限,如果哪里写的有问题,希望大家提出 ,肯定改正。
暂时只想到这些,后续会有补充,愿这个世界没有bug….
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133371.html原文链接:https://javaforall.cn