最近公司要开发一个直播功能,这个任务很快的就分配到了我的身上,领导决定让我们使用腾讯云直播减少一部分的开发量。

看了文档也研究了好几天。大致的功能就是用户使用手机或者电脑或者其他的电子设备工具将信息推送到腾讯云直播服务器上,开发接入将腾讯云的用户直播信息拉取到电子设备上观看。这就是一整套的直播功能,具体还有弹幕啊连麦啊聊天啊等等,我们后面再讲

我大致总结了下:

第一步:推流地址   腾讯会送一个体验版的给开发者测试,后期是不可以继续使用的,这就意味着我们需要申请一个推流域名,当然这个域名没啥要求(可以使用二级域名都无所谓的,但是需要指向CNAME。域名解析地址一致就可以了)

第二步:拉流地址    这个腾讯就没给测试域名了,你需要和推流地址差不多的操作方式弄好就行

CNAME配置好之后需要等十多分钟才生效,不要着急哦!

第三步:就涉及到开发了,我也是在网上找了很多参考文档,试了好多次。大致需要的功能就是,首先需要创建一个直播间

我这边大致列举了一些功能:标题、描述、聊天室id(后面再讲)、推流地址、拉流地址、直播状态。下面是直播间表结构

package cn.fht.carsys.domain.tencentlive;import lombok.Data;import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;/*** 2020/4/10* 直播间表*/
public class LiveRoom implements Serializable{private Long id ;//精品直播主键private String roomTitle ;//直播间标题private String roomDesc ;//直播间描述/简介private String chatroomId ;//聊天室IDprivate String pushUrl ;//推流地址private String pullUrl ;//HTTP拉流地址private String pullRtmpUrl ;//RTMP拉流地址private String videoUrl ;//录播视频urlprivate Integer status ;//直播状态:0-初始化 1-直播中 2-已结束@Temporal(TemporalType.TIMESTAMP)private Date createTime ;//创建时间@PrePersistprivate void PrePersist(){if (this.status == null){this.status = 0 ;}if (this.createTime == null ) {this.createTime = new Timestamp(System.currentTimeMillis());}}
}

然后向手机端提供了直播申请接口

/*** 直播申请地址* @param request* @return*/
@SystemControllerLog(modelName = "LiveBroadcast.getPushUrl", systemLogType = SystemLogType.CONTROLLER, description = "获取直播推流地址和拉流地址")
@RequestMapping(value = "/tokenCheck/getPushUrl")
@ResponseBody
public Result getPushUrl(HttpServletRequest request ){AppLoginInfo appLoginInfo = (AppLoginInfo) request.getAttribute("appLoginInfo");//获取用户对象LiveRoom liveRoom = (LiveRoom) _JsonUtils.toObj(request.getAttribute("jsonParamEntity") + "", LiveRoom.class);Users users = usersService.findByName(appLoginInfo.getAccount()) ;if (users == null ){return ResultUtil.showError(DealLiveBroadcastResultEnum.FAIL_NULLUSERID_MESSAGE);}String pushUrl = TecentCloudUtils.getPushUrl(users.getUserID()+"");//推流地址String pullUrl = TecentCloudUtils.getPullUrl(users.getUserID()+"");//app的拉流String pullRtmpUrl = TecentCloudUtils.getPullRtmpUrl(users.getUserID()+"");//PC的拉流liveRoom.setPushUrl(pushUrl);//推流地址liveRoom.setPullUrl(pullUrl);//app拉流地址liveRoom.setPullRtmpUrl(pullRtmpUrl);//pc拉流地址liveRoom.setChatroomId("");//聊天室IDliveRoom.setVideoUrl("");//录播视频urlLiveRoom DB_one = liveRoomService.save(liveRoom) ;if (DB_one == null ){return ResultUtil.showError(DealLiveBroadcastResultEnum.FAIL_SAVE) ;}return ResultUtil.showSuccess(DealLiveBroadcastResultEnum.SUCCESS_SAVE,DB_one) ;
}

service层的接口

@Resource
private LiveRoomRepository liveRoomRepository ;public LiveRoom save(LiveRoom liveRoom){LiveRoom DB = findByUserId(liveRoom.getUserId()) ;if (DB == null ){return liveRoomRepository.save(liveRoom) ;}return DB ;
}public LiveRoom findById(Long id) {return liveRoomRepository.findOne(id) ;
}public LiveRoom findByUserId(Long userId) {String query = "AND_EQ_L_userId@"+userId ;return liveRoomRepository.findOne(Specifications.get(query,LiveRoom.class) );
}

有需要其他接口的自己补充,这个时候就需要手机端看一下 直播 SDK,配合接入一下。这样一个简单的直播就搞定了。

接下来我们需要为这个直播完善一些功能有聊天室、弹幕、连麦。在下篇文章总结一下

这个页面的地址是: https://console.cloud.tencent.com/api/explorer?Product=live&Version=2018-08-01&Action=DescribeLiveStreamOnlineList&SignVersion=

只要用自己账号登录下,刷新下这个地址就可以了,好多的参考语言,腾讯都给写好了,我们只要拿过来调用下即可,超级简单的哦

java服务器端 —— 腾讯云直播开发接入(一)相关推荐

  1. 腾讯云直播开发日记(三) 聊天室-直播转码-连麦混流

    腾讯云直播开发日记(三) 直播的时候,用户还是需要和主播互动的,我们当前的互动就只有刷礼物,那没钱说礼物怎么搞? 不得让他们吹水? 所以我们需要做一个聊天室, 这个话自己也能做, 系统上线迫在眉睫,工 ...

  2. 腾讯直播与 JAVA整合_JAVA对接腾讯云直播如何实现 JAVA对接腾讯云直播实现代码...

    JAVA对接腾讯云直播如何实现?本篇文章小编给大家分享一下JAVA对接腾讯云直播实现代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 签名授权 public static ...

  3. 腾讯云直播SDK接入指南

    现如今直播类的app,如映客,抖音,火山视频等APP,基本大家手里都会安装,很多公司都可能会研发自己的直播系统,在2020年疫情阶段,很多老师采用了远程直播授课的方式.在国内如果你想使用直播技术,那么 ...

  4. Java实现腾讯云直播生成推流地址和播放地址

    最近在做小程序直播,用到了腾讯云直播,下面为相关文档和程序 URL规则:https://cloud.tencent.com/document/product/267/13457 防盗链计算:https ...

  5. java 采用腾讯云直播实现多方视频录制并每路画面添加相应的水印

    这是我第一篇文章,本人也是菜鸟,如果有什么不对,也请大神多多指点 话不多说,进入正题. 首先录制视频的前提是推流和拉流同时是连接上才能进行录制工作.否则腾讯云不会给你返回录制的视频地址. 如果你不知道 ...

  6. java实现腾讯云直播

    云直播官方文档:https://cloud.tencent.com/document/product/267 云直播在线生成api:https://console.cloud.tencent.com/ ...

  7. 腾讯云直播-开启互动直播

    项目背景:基于腾讯云直播开发项目,直播交友平台1+6模式 ps : 记录自己的日常 一.申请腾讯视频权限(官方链接) 首先在流管理添加一个域名 类型为播放域名域名地址为 推流域名的域名前缀+你的域名生 ...

  8. 腾讯云直播代码 java_JAVA 对接腾讯云直播的实现

    签名授权 public static T TecentDoPostJsonV3(String url,String key,String secretId, TecentPublicParams he ...

  9. ESP32接入腾讯云物联网开发平台

    文章目录 前言 1 资料参考 2 对接总体思路 3 代码移植 3.1 component qcloud_iot 3.2 项目顶层处理 3.3 component main 4 移植问题备忘 CMake ...

  10. RAK7258 LoRaWAN 网关接入腾讯云物联网开发平台

    文章目录 前言 1 控制台操作 LoRa 网关 2 RAK 7258 LoRa网关实物操作 连接配置 网络配置 LoRa参数配置 网关上线确认 END 前言 这篇笔记记录采用 RAK7258 LoRa ...

最新文章

  1. 好程序员大数据培训技术分享:Hadoop集群同步
  2. Android ContentResolver
  3. 【Android】dip、dp、sp、pt和px的区别
  4. 面向对象和面向过程连接数据库
  5. [Leedcode][JAVA][第470题][Ran7()实现Rand10()]
  6. 苹果sf字体_苹果UI设计的改变意味着什么?
  7. python map filter reduce
  8. ios input框输入白屏
  9. JAVA上传文件 DiskFileUpload组件
  10. 第三方SSD问题引起电脑频繁重启问题IONVMeController.cpp:5499
  11. ffmpeg 视频转码
  12. java释放线程资源_Java线程之释放锁,释放资源,释放CPU
  13. 关于FlashDB的应用-GD32F450上
  14. “爱运动管理系统”诞生记(4)
  15. 基于Spring+SpringMVC+MyBatis博客系统的开发教程(十六)
  16. 显卡驱动怎么安装-驱动人生
  17. graphql 嵌套查询_了解GraphQL中的查询
  18. 兽医提醒:狗狗生病的9个征兆,建议铲屎官收藏,以备不时之需!
  19. 电工基础笔记01 - 认识简单电路和画图方法
  20. 3.24下午 王希伟5.12福利课上完 剑7-95,剑7-98, 剑8-22,剑8-25

热门文章

  1. ubuntu(乌班图) 修改ip
  2. Linux期末考试模拟试题
  3. 人脸识别门禁系统java实现_java实现人脸识别源码【含测试效果图】——前台显示层(index.jsp)...
  4. 利用计算机模拟体现了网络的,毕业论文_Packet tracer模拟器在计算机网络中的应用6喜欢就下吧(样例3)...
  5. 2021华为软挑赛题_思路分析——实时更新,做多少更多少(一)
  6. UNIX系统中的文件共享
  7. VB代码VB小程序:实现USB摄像头视频图像的监控、截图、录像
  8. WPF中StackPanel的尺寸的怪癖
  9. 计算机机房建设标准.doc,计算机机房建设规范标准
  10. linux通过usb链接网络,Nokia N9 通过USB连接使用PC(Linux)主机的网络