腾讯云视频直播sdk开发攻略

腾讯云视频直播sdk开发攻略视频直播这一两年在移动互联网上可以说是非常的火,各种视频直播软件层出不穷。有的通过自己的推广宣传确实火了起来,比如:映客。我之前也是在一家专门做视频直播的公司打酱油,当时对这个概念还是很模糊,后来才慢慢的了解清楚视频直播的这个概念。后来离开这家公司,到现在的公司,做了一段时间,又有需要做视频直播的需求。由于公司各方面原因,只能引用第三方的sdk,最后选择的腾讯云。所以我下面给大家讲一下开发过程

大家好,又见面了,我是你们的朋友全栈君。

视频直播这一两年在移动互联网上可以说是非常的火,各种视频直播软件层出不穷。有的通过自己的推广宣传确实火了起来,比如:映客。

 

我之前也是在一家专门做视频直播的公司打酱油,当时对这个概念还是很模糊,后来才慢慢的了解清楚视频直播的这个概念。后来离开这家公司,到现在的公司,做了一段时间,又有需要做视频直播的需求。由于公司各方面原因,只能引用第三方的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开发攻略

点播 直播  互动直播  微视频  这么多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)申请应用

腾讯云视频直播sdk开发攻略

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.提交工单  管理中心右上角有工单

腾讯云视频直播sdk开发攻略

 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下载链接 我是从小直播群公告里面粘贴出来的链接。  他这个应该还要解压密码。密码大家可以加群联系 ,因为现在小直播还在申请软件著作权的阶段。大家直接加群 有问题直接去群里面问比较靠谱

在开发过程中走了很多弯路,虽然最后按期完成。但是很累 写这篇文章的目的就是让大家准备做开发的 在开发之前有个大概了解,让大家少走一些弯路。如果还有其它问题也可以加入我的qq群: Android开发经验交流群454430053    ,互相交流解决。本人水平有限,如果哪里写的有问题,希望大家提出 ,肯定改正。

暂时只想到这些,后续会有补充,愿这个世界没有bug….

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133371.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • CorelDraw技術討論區

    CorelDraw技術討論區CorelDraw製作討論專區子區:技術討論區

  • Redis选择数据库分区

    Redis选择数据库分区Redis-cli命令连接:redis-cli命令下选择数据库分区可以有2种方式:1、选择数据库(redis可以有多个数据库,默认情况下是连接数据库0,redis配置文件中通过databasesnum来配置数量)127.0.0.1:6379>select2OK2、那么我们登录的时候,如何制定登录哪个库呢?./redis-cli-n3指定登录下标为3的数据库./redis-cli-n0等价于./redis-cli默认登录下标为0的数据库即使…

  • 递归和迭代的比较

    递归和迭代的比较迭代(Iteration)与递归(Recursion)是开发过程中常用的编程技巧,二者有相似,也有区别。1、递归简单地说,就是函数调用函数自己。通常把相同规则的业务,定义为一个函数,通过函数的重复调用,完成整体业务的实现。用有限的语句来定义对象的无限集合。比如,一个数字的阶乘计算,通过递归实现如下://递归publicstaticintrecursio…

  • 求教:session.getAttribute()获取不到session.setAttribute()的值

    求教:session.getAttribute()获取不到session.setAttribute()的值很简单的一个web项目中,用户登陆成功后,在后台用session.setAttribute(“user”),记录登陆的用户信息,在跳到主页面(index.jsp)的时候,先经过后台处理,通过登陆的用户信息,查询相应的权限资源,这时用session.getAttribute(“user”),取到用户的信息,现在就是取不到用户信息,取到的值为null,经过不断测试,原因应该在后台登陆方法中的sessi…

    2022年10月16日
  • 京东-n头熊分苹果「建议收藏」

    京东-n头熊分苹果「建议收藏」果园里有一堆苹果,一共n头(n大于1小于9)熊来分,第一头为小东,它把苹果均分n份后,多出了一个,它扔掉了这一个,拿走了自己的一份苹果,接着第二头熊重复这一过程,即先均分n份,扔掉一个然后拿走一份,以此类推直到最后一头熊都是这样(最后一头熊扔掉后可以拿走0个,也算是n份均分)。问最初这堆苹果最少有多少个。给定一个整数n,表示熊的个数,返回最初的苹果数。保证有解。测试样例:2返回:3

    2022年10月12日
  • wing是什么_数独算法代码

    wing是什么_数独算法代码原题链接设有 N×N 的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。如下图所示:某人从图中的左上角 A 出发,可以向下行走,也可以向右行走,直到到达右下角的 B 点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从 A 点到 B 点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。输入格式第一行为一个整数N,表示 N×N 的方格图。接下来的每行有三个整数,第一个为行号数,第二个为列号数,第三个为在该行、该列上所放的数。行和列编号从

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号