做了一个月的直播了,之前是自己公司大牛写的直播app。后面老板要求将直播功能模块换成腾讯的,只能硬着上了。先说下腾讯直播吧,从下载就遇到坑,按照文档下载,下载下来的直播互动demo没有,原来demo的下载地址在一个一起下载下来的文档里,一个github地址。
demo源码地址
Android:https://github.com/zhaoyang21cn/Android_SuixinboiOS:https://github.com/zhaoyang21cn/iOS_Suixinbo
服务端:https://github.com/zhaoyang21cn/SuiXinBoPHPServer
一下子没找到的朋友们可以直接进去下载直播互动的demo了
直播主要明白:1、主播模式-推流 2、观众模式-拉流 当然这只是我的理解。因为直播里面步骤还有很多比如:编码、解码、渲染等。
提醒一下:腾讯的直播分为:1、直播互动 2、直播 区别自己上官网看看就明白。 如果大家的直播是不需要同时多人在线连麦的就不需要直播互动啦,直播就可以满足你的需求了。当时应老板要求去弄直播互动,慢慢的坑。我是自己根据文档一步步集成的,倒入sdk,然后配置,之后集成。文档里面你会发现直播步骤并没有要求让你登录啊,只是提了下登录。注意了,直播互动是需要登录才能进行后面的操作的。但是直播是不需要的。 自己测试的时候登录可以去官网下载公私钥生成sig(这个腾讯有说)。我当时明明生成的是对的sig但是就是报错,后面我就故意用错的公私钥生成sig然后再换回正确的公私钥生成sig,这样就OK了。也没找出什么原因。生成之后按照文档一步步操作,返回result为0就表示成功了。其他的code码腾讯有相应的错误提示了。
腾讯直播互动做到这里才发现,其实直播就可以满足需求了,被老板误导了,然后转去集成直播的sdk。不得不说直播的sdk文档以及代码调用相对于直播互动完善多了。这个就没什么坑直接集成sdk 然后推流、拉流播放就OK了。不过要注意倒入头文件的时候,要仔细看腾讯的文档,告诉你的怎么导入。之后,对于播放地址的选择一定要注意,flv要对应相应的type类型,rtmp要对应相应的type类型 eg:
如果你也是在别人的基础上集成的然后莫名其妙的crash,大半原因在于原有的ffmpeg与腾讯的冲突了。最好的办法就是删掉你原来的,这个是用于音视频编码解码的。差不多能想起来的就这样了