首先需要创建一个一对一直播源码的直播间

我这边大致列举了一些功能:标题、描述、聊天室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) );
}

有需要其他接口的自己补充,这样一个简单的一对一直播源码的直播间就搞定了。

一对一直播源码开发——java服务器端直播间的实现相关推荐

  1. 直播系统开发,一对一直播源码开发

    如今,直播市场越发的火热,一对一直播源码也渐渐浮出水面,在直播大火的现在,您是不是也想要一款属于自己的直播平台呢?小编今天为您讲解一款一对一直播源码开发系统语言和媒体处理模块. 首先是系统开发语言 一 ...

  2. 一对一直播源码开发,一对一直播系统开发

    如今,直播市场越发的火热,一对一直播源码也渐渐浮出水面,在直播大火的现在,您是不是也想要一款属于自己的直播平台呢?小编今天为您讲解一款一对一直播源码开发系统语言和媒体处理模块. 首先是系统开发语言 一 ...

  3. 一对一直播源码开发,如何改善音视频通话过程中的用户体验?

    在一对一直播源码开发中,由于是单个用户对话单个用户,所以对音视频通话质量的要求会比较高,那应该如何在开发时改善音视频通话中的用户体验呢? 一.选择播放模式 在一对一直播源码中视频通话过程中出现马赛克或 ...

  4. 一对一直播源码开发基础方案全面讲解,拯救不开心

    如今5G时代已经来临,为对于直播市场来讲,一对多形式的直播系统和一对一形式的视频社交系统是比较常见的,这两种形式都是对运营者来讲比较方便操作的,近些年来随着直播市场不断的发展,用户的需求也发生了变化, ...

  5. Android视频直播源码开发直播平台、点播播放器哪家强?

    Android视频直播源码开发直播平台.点播播放器哪家强? 最近在项目中要加入视频直播和点播功能,那么问题来了,我需要一个播放器来播放视频流,那该如何选择呢?除了原生的VideoView(VideoV ...

  6. 手机app直播源码开发

    正当兴隆的直播行业如火如荼的发展,得益于手机的便利,手机直播APP也得以快速的推广.等手机直播APP用的多了,自然而然有人问了,直播软件怎么开发? 其实回答这个问题,还是得回到基础的东西,直播源码.正 ...

  7. 手机app直播源码开发搭建

    正当兴隆的直播行业如火如荼的发展,得益于手机的便利,手机直播APP也得以快速的推广.等手机直播APP用的多了,自然而然有人问了,直播软件怎么开发? 其实回答这个问题,还是得回到基础的东西,直播源码.正 ...

  8. 成品app直播源码,java编写字母顺序矩阵

    成品app直播源码,java编写字母顺序矩阵实现的相关代码 import java.util.Scanner; public class GetLetterArray {public static v ...

  9. 在直播平台搭建平台中,购物源码开发公司的直播间搭建该如何选择流媒体直播系统传输协议

    2019年直播行业面临着来势汹汹的短视频挑战,但在垂直细分领域,网络直播平台依旧有着难以企及的位置.如今,直播平台搭建的势头依旧没有减弱,只是更多的人想要将直播平台与更多的行业相结合.对于直播平台搭建 ...

最新文章

  1. PLM和PDM相互关系
  2. 虚拟内存,虚拟地址空间,用户空间,内核空间
  3. HTML5 利用canvas API 展示阴影效果
  4. [APIO2018] Duathlon 铁人两项
  5. 数据库原理归档——对于数据库原理最全的总结
  6. java 前后的区别_java中前后++的区别
  7. 个人作业(alpha)
  8. layui自定义ajax左侧三级菜单
  9. web 请求 编码 引发的问题
  10. 博文视点大讲堂第20期——Windows 7来了
  11. 图片版坦克大战其他相关的 类(三)
  12. PC浏览器用ckplayer 播放m3u8视频,hls点播功能的简单实现
  13. RoaringBitMap学习和实践
  14. win10计算机用户怎么删除,Win10系统怎么管理的家庭成员账户? Win10删除账户的教程...
  15. PRISM 扩展Mef 的Export属性为ViewExport
  16. M1 芯片打开软件提示:“XXXX” 因为出现问题而无法打开 怎么解决?
  17. 怎么查看浪潮服务器型号,供应 浪潮服务器 各种型号
  18. signature=4746e22a831cd5efc939a83a10a194fc,Title page for ETD etd-07072014-094746
  19. 博弈论 1.Introduction(组合游戏基本概念、对抗搜索、Bash游戏、Nim游戏)
  20. 脸萌创始人郭列:准备好做一颗流星

热门文章

  1. 【物联网专题】物联网IoT相关学习与输出
  2. 图解:一致性协议算法
  3. IPGuard三步打造桌面标准化
  4. 【数据中心管理】什么UPS 蓄电池?UPS蓄电池使用事项
  5. Jenkins 利用 Gitlab + Webhook 自动构建 —— Hook executed successfully but returned HTTP 403
  6. 钉钉E应用自动登录获取用户信息总结
  7. STM32模拟ISO7816智能卡协议笔记
  8. 淘宝限制词维护+小技巧,优化限制词,降低被投诉概率!
  9. Redis-布隆过滤器(Bloom Filter)详解
  10. 计算机考试中英文打字题,中英文打字模拟测试题2套含答案.doc