项目中WebRTC待解问题

1、获取媒体设备的浏览器兼容问题 (基本解决)

Q:在调用getUserMedia()开启摄像头之前需要调用:
“navigator.mediaDevices.enumerateDevices()” 获取设备列表,谷歌浏览器外的大部分浏览器只有在获取媒体权限后才能读取设备列表中的label,也就是要先调用 “navigator.mediaDevices.getUserMedia()” 询问用户是否允许访问摄像头/麦克风,但是在这里(页面1)有几个问题:
1、我仅仅想获取设备列表而已,不需要开启摄像头/麦克风!
2、在后面开会时(页面2)需要基于页面1设置的deviceId,还要再调用一次getUserMedia,因为只有在enumerateDevices()之后才能知道deviceId,而enumerateDevices()又要在getUserMedia()之后才能知道详细label,而且getUserMedia()的video和audio参数又要基于enumerateDevices()才能确定有无媒体设备??????

如果没有其他方法,那就自己设置媒体设备的名字??

A:结合https://editor.csdn.net/md/?articleId=114967894这篇博客的方法

2、共享屏幕选择整个屏幕时画面层层嵌套问题 (已解决)

Q: 选择共享整个屏幕时怎么屏幕自身屏幕?
  先记录一下相关配置资料:
  1、可能用到的配置项:
  在这里插入图片描述
  下面是两个相关网站
  https://developer.mozilla.org/zh-CN/docs/Web/API/Screen_Capture_API

  https://w3c.github.io/mediacapture-screen-share/#ref-for-idl-def-  DisplayCaptureSurfaceType.application-1

A:层层重叠是因为发起端这边设置了 video.srcObject = stream,发起端时页面渲染了共享屏幕stream,画面不断变化,就会导致观看端获取视频帧的速率过快,从而引起层层重叠。

3、websocket信令端每次重连都会new websocket实例

能否不new一个新实例websocket关闭后,及websocket。readyState为close后,重连。

4、根据布局改变分辨率,web端使用的同一个videoTrack源,只能改变本地的,且本地“我”改变后,远程所有的“我”都会改变,如何对不同对端发送不同分辨率

5、QQ浏览器和其它浏览器通讯时,出现bug(QQ&QQ正常)(已解决,但项目未使用)

在这里插入图片描述
A:结合https://editor.csdn.net/md/?articleId=115009208这篇博客的方法

SDP解析

https://blog.csdn.net/aggresss/article/details/109850434

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Java项目集成WebRTC播放视频可以通过以下步骤完成: 1. 添加WebRTC的依赖:首先,在项目的pom.xml文件添加WebRTC的依赖。你可以使用Maven或者Gradle来管理项目依赖,从官方的仓库获取相应的WebRTC依赖。 2. 初始化WebRTC组件:在项目的启动代码,初始化WebRTC相关的组件。这包括创建PeerConnectionFactory,设置视频和音频的参数,以及初始化网络连接等。 3. 连接到视频源:通过WebRTC的API,连接到视频源。你可以通过传入视频源的URL或其他标识来连接到指定的视频源。这可以是一个录制好的视频文件,也可以是一个实时的视频流。 4. 创建视频播放器:使用Java的视频播放器组件(如MediaPlayer或JavaFX的Media组件)创建一个视频播放器。将WebRTC接收到的视频数据传输给播放器进行解码和渲染。 5. 控制播放流程:实现视频播放的控制流程,包括开始播放、暂停、停止、快进/快退等功能。你可以根据需要自定义播放器的控制界面或者使用现有的控制组件。 6. 处理错误和异常:在播放视频的过程,可能会遇到网络不稳定、视频源不可用等异常情况。在代码合适的位置添加错误处理逻辑,保证程序的稳定性和容错性。 7. 释放资源:在项目关闭或退出之前,释放WebRTC和播放器相关的资源。这包括关闭网络连接、释放WebRTC组件、停止播放器等操作,以避免资源泄漏。 总结:通过以上步骤,我们可以在Java项目集成WebRTC实现视频的播放。WebRTC提供了强大的实时通信能力,结合Java的多媒体处理能力,可以快速搭建一个高效稳定的视频播放系统。当然,具体实现细节还需要根据项目需求进行相应的调整和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值