大家好,又见面了,我是你们的朋友全栈君。
视频直播这一两年在移动互联网上可以说是非常的火,各种视频直播软件层出不穷。有的通过自己的推广宣传确实火了起来,比如:映客。
我之前也是在一家专门做视频直播的公司打酱油,当时对这个概念还是很模糊,后来才慢慢的了解清楚视频直播的这个概念。后来离开这家公司,到现在的公司,做了一段时间,又有需要做视频直播的需求。由于公司各方面原因,只能引用第三方的sdk,最后选择的腾讯云。所以我下面给大家讲一下开发过程。
前两点 说下视频开发的引言,腾讯云sdk相关直接跳入到第三步。
直播开发我所知道的有两种解决方案
1.自己公司有比较成熟的c++ 开发人员,自己开发sdk so库等 做 视频推流 ,转码 解码,美颜等功能。有人说github上 很多开源库都是 视频直播的框架,免费而且也不用自己开发,但是你要知道 这些东西如果出了问题,你怎么修改它,还是要自己有能懂这些东西的 开发人员,才能解决。道理和自己开发的意思差不多,但是可能会省一些时间。
2.用第三方sdk开发,我知道的 视频直播开发sdk有 金山云 ,腾讯云 ,网易云 等等,其实还有很多 ,我就不一一列举了。
两种方式优缺点 自己开发 sdk 耗费人员及大量时间 ,开发进度会慢很多。而且对技术要求也比较高,适合公司本身有c++且有相关经验的程序员。如果公司本身没有可以开发sdk的程序员,只有客户端及服务端程序员。且要求开发周期比较短。(本人推荐)。
如果是 选择第一种方案的 ,下面的就不用继续看了….
这个一般都从两方面考虑
每家的sdk计费模式不同,这个每家的首页文档里面都有详细的介绍,我就不一一截图说明了。
稳定性来说,之前一个大神给我推荐的是金山云 。但是由于后来我并没有用到 ,只能等待用过金山sdk的开发人员来说明了。
链接 :http://lib.csdn.net/base/liveplay/structure
上面说了这么多废话,终于对应上标题了。大家久等了,不好意思….
和大家一样 百度 腾讯云视频直播 进入腾讯云首页
点播 直播 互动直播 微视频 这么多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
1)申请应用
2)代码相关
具体代码开发流程 看demo源码。别看他们写的那些文档,文档只是个形式,为什么因为 文档上面很多都写的比较粗,而且文档很旧 落后sdk好几个版本。
最起码现在是这样 我的sdk用的是互动直播1.8.2
另外 他们官方的demo源码都是 基于 android studio的 不是eclipse项目。 如果有开发者用ec开发的 可以手动建一个项目 然后把相关的东西拷贝过来。
如果遇到比如一些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. 论坛找相关问题 云+社区 – 腾讯云
腾讯官方的链接 :
直播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