WebRTC系列<五>我与一位大佬的聊天记录

原本打算想用webrtc部署虚幻项目。后来在了解虚幻过程中,得知虚幻有像素流插件,导出项目里带有STUN和TURN服务,但是在webGL项目里比如three.js、babylon.js如果也能部署在服务器端,那就厉害了,也很有想象力空间。

基本上是大佬给我这个小白科普基础知识,我问的不专业,聊天过程中,基本是大佬热心、专业且全面的科普、真是非常感谢这位大佬,聊天记录很珍贵,不能丢了,放这里,为各个小白科普,算是聊天记录发挥余热了,若有WebRTC高手路过,请不吝指正。

---------------下面是正文---------------

轻松咖啡 2022/6/29 10:05:03

想用ue+webrtc

webrtc 2022/6/29 10:07:32
这路子走得通

webrtc 2022/6/29 10:07:35
确实需要webrtc

webrtc 2022/6/29 10:07:40
你需要一个信令服务器

webrtc 2022/6/29 10:08:29
你需要将服务分为三层

webrtc 2022/6/29 10:08:38
一层是图形处理引擎

webrtc 2022/6/29 10:08:45
一层是api层

webrtc 2022/6/29 10:08:59
一层是信令服务

webrtc 2022/6/29 10:09:20
如果你的服务是用node搭建可能会简单一些

 webrtc 2022/6/29 10:10:36
如果使用webrtc,你得把你的服务器当成一台用户电脑

webrtc 2022/6/29 10:11:07
每次用户使用webrtc的api发起请求的时候

webrtc 2022/6/29 10:11:30
你的api层接收到请求得为它专门开一个电脑的用户

webrtc 2022/6/29 10:11:39
让用户远程操作

webrtc 2022/6/29 10:12:00
最后的本质是做了一款远程控制软件

webrtc 2022/6/29 10:12:54
webrtc 你的api层接收到请求得为它专门开一个电脑的用户
额,我突然觉得我想多了,其实额外启动一个3d引擎就行了,不需要开用户,做好鉴权就行了
 

轻松咖啡 2022/6/29 10:14:03
还想请教一个问题,我看网上说stun turn服务,这个是包含在webrtc中吗

轻松咖啡 2022/6/29 10:14:16
stun turn还是单独部署


 

 webrtc 2022/6/29 10:14:28
是的stun是个协议

webrtc 2022/6/29 10:15:03
做信令用的

webrtc 2022/6/29 10:15:44
你需要一个信令服务器来沟通两个客户端,在你的这个项目里,用户和你的3d服务器本质上都是客户端

webrtc 2022/6/29 10:15:57
所以我说用node好实现,因为node自带webrtc的api

webrtc 2022/6/29 10:16:20
而你的信令服务器是你的service层

webrtc 2022/6/29 10:16:31
需要用stun协议沟通两个客户端

webrtc 2022/6/29 10:17:07
这个不重要,这个可以和你的3d服务器部署在同一个服务器里,不考虑带宽占用的话
 

webrtc 2022/6/29 10:21:07
webrtc实现的是端对端,如果你要说部署啥服务的话就是信令服务器了

webrtc 2022/6/29 10:21:32
我的信令服务是自己写的你肯定用不了,我去网上找找通用的

webrtc 2022/6/29 10:24:31
你可以去了解一下red5pro

webrtc 2022/6/29 10:24:36
这是个开源项目

轻松咖啡 2022/6/29 10:25:10
嗯嗯


webrtc 2022/6/29 10:25:19
我当时做直播服务的时候扒了里面很多东西

webrtc 2022/6/29 10:26:33
https://github.com/red5pro/red5pro-server-examples

轻松咖啡 2022/6/29 10:26:36
厉害啊


webrtc 2022/6/29 10:26:49
这是个java写的后端

webrtc 2022/6/29 10:27:01
red5的。。。

webrtc 2022/6/29 10:27:06
你是不是误以为是我写的了

webrtc 2022/6/29 10:27:38
他们有完整的rtsp协议的

webrtc 2022/6/29 10:28:07
你的服务端可以走rtsp协议将像素流广播到客户端上

webrtc 2022/6/29 10:26:49
这是个java写的后端

webrtc 2022/6/29 10:27:01
red5的。。。

webrtc 2022/6/29 10:27:06
你是不是误以为是我写的了

webrtc 2022/6/29 10:27:38
他们有完整的rtsp协议的

webrtc 2022/6/29 10:28:07
你的服务端可以走rtsp协议将像素流广播到客户端上

webrtc 2022/6/29 10:28:44
你可以问问你们后端的意见

webrtc 2022/6/29 10:29:49
如果走rtsp协议你的3d服务器开发量就是最小的

webrtc 2022/6/29 10:29:57
直接将像素流包装成视频流

webrtc 2022/6/29 10:30:06
往rtsp一扔

webrtc 2022/6/29 10:30:08
就开发完了

webrtc 2022/6/29 10:30:54
我对Cesium for ue不太了解,我想的是自己写交互逻辑的

webrtc 2022/6/29 10:31:37
前端将输入流发到服务器端

webrtc 2022/6/29 10:31:43
服务器端复现前端的操作

webrtc 2022/6/29 10:31:45
这是我的想法

webrtc 2022/6/29 10:32:30
这个就不走rtsp了,走socket.io

webrtc 2022/6/29 10:32:48
socket.io是实现webrtc的基础


webrtc 2022/6/29 10:34:15
你的ue直接实现操作结果

webrtc 2022/6/29 10:34:49
比如说,你在屏幕上点击了一个点,直接将点坐标包装成操作流发到后端

webrtc 2022/6/29 10:35:05
后端接收到直接在ue上实现点击事件

嗯 就对这个交互发送有很大的疑问,听你这么说,感觉有个大概方向了
我看有的webrtc岗位需要c++ 基础,这个是基于红框这个层面的开发吗

 webrtc 2022/6/29 10:38:26
C++提高性能的,不一定需要C++开发

webrtc 2022/6/29 10:38:45
JAVA性能也不错

webrtc 2022/6/29 10:39:46
你要是用webrtc的话,你需要开发的是整个绿框

webrtc 2022/6/29 10:39:59
不需要从头到尾开发的

轻松咖啡 2022/6/29 10:40:12
是属于二次开发吗


webrtc 2022/6/29 10:40:12
你只要顺着视频流这个思路,直接改别人开源项目

webrtc 2022/6/29 10:40:24
开发整个绿框是一次开发

webrtc 2022/6/29 10:40:33
改人家开源项目是二次开发

webrtc 2022/6/29 10:40:44
很多成熟的开源项目基本都做好了

webrtc 2022/6/29 10:41:16
改动量虽然挺多但是绝对比你开发出一套绿框轻松十倍吧

轻松咖啡 2022/6/29 10:41:42
原来这样,这个又是一个新领域


webrtc 2022/6/29 10:41:52
你甚至可以直接拿一个开源的直播平台项目

webrtc 2022/6/29 10:42:08
然后直接用rtsp协议广播你的服务器视频流

webrtc 2022/6/29 10:42:12
你的前端就可以直接看见

webrtc 2022/6/29 10:42:58
甚至你写好广播,直接走b站rstp协议,你可以直接把服务器的视频流广播到b站直播

 webrtc 2022/6/29 10:44:11
所以你需要关注的是蓝框部分

webrtc 2022/6/29 10:44:35
video引擎由ue实现了,你需要的仅仅是将ue的像素流转化成视频流

webrtc 2022/6/29 10:44:45
这个用node写也就一个文件的代码

webrtc 2022/6/29 10:45:11
然后,精简别人开源项目的代码

webrtc 2022/6/29 10:45:29
让它只有rstp功能

webrtc 2022/6/29 10:46:01
然后自己写一套红框里接收客户指令流的api

webrtc 2022/6/29 10:46:04
你的项目就实现了

webrtc 2022/6/29 10:46:19
听起来挺简单的,虽然估计你得写至少一个月

webrtc 2022/6/29 10:48:36
最后你的项目就简化成了一个开发高级互动的直播软件
 

webrtc 2022/6/29 10:51:52
这个其实很简单的

webrtc 2022/6/29 10:52:07
如果你愿意花钱甚至可以走trtc

webrtc 2022/6/29 10:52:28

 

 webrtc 2022/6/29 10:55:04
你要是最后实在想不出怎么写webrtc

webrtc 2022/6/29 10:55:06
这里有现成的

webrtc 2022/6/29 10:55:10
trtc

webrtc 2022/6/29 10:55:21
只不过只有1w分钟的免费额度

webrtc 2022/6/29 10:55:56
操作流用socket.io

webrtc 2022/6/29 10:56:05
一样能简单实现
 

 webrtc 2022/6/29 11:00:48
node你会吗

webrtc 2022/6/29 11:00:51
node gcc

webrtc 2022/6/29 11:01:08
前端学js的掌握node应该很快的

webrtc 2022/6/29 11:01:45
node本质是个v8引擎,在webrtc的api上和音视频流封装上由得天独厚的优势
 

 webrtc 2022/6/29 11:02:48
node gcc就是用node跑底层代码了,需要点C++知识,搞个进程调度没问题

webrtc 2022/6/29 11:03:45
那你还是得靠你们的后端了。。。node我学了快三年了,node gcc水平也停留在看文档摸索的水平
 

webrtc 2022/6/29 11:08:20
对了你了解一下mediasoup

webrtc 2022/6/29 11:08:31
这个应该可以简单部署就能用的

webrtc 2022/6/29 11:08:42
不过只能用node写了

webrtc 2022/6/29 11:09:45
不过这东西稳定性肯定没TRTC好

 

猜你喜欢

转载自blog.csdn.net/rexfow/article/details/127915411