- 公司最近要做个ICU探视系统,于是在网上找了一个开源的webrtc实现kurento
- kurento github地址
https://github.com/Kurento/kurento-media-server
下载kurento docker镜像,安装并启动
- 安装docker
apt install docker
- 搜索kurento docker镜像
docker search kurento
- 安装kurento-media-server
docker pull kurento/kurento-media-server
- 启动kurento-media-server
docker run -d --name kms -p 8888:8888 kurento/kurento-media-server
下载kurento-java客户端
- github地址
https://github.com/Kurento/kurento-tutorial-java.git
- 进入多人呼叫目录,启动项目,查看效果
cd kurento-groupCall
mvn -U clean spring-boot:run -Dkms.url=ws://192.168.3.198:8888/kurento
- 浏览器查看效果
https://localhost:8443
- 这个简单的例子不足以支撑ICU项目,又另外找了一个项目openvidu
https://github.com/OpenVidu/openvidu.git
项目下载下来,编译 mvn clean package
,找到 openvidu-server-2.11.0.jar
这个包.并修改application.properties
文件,如下
server.address=0.0.0.0
server.ssl.enabled=true
server.port=4443
server.ssl.key-store=classpath:openvidu-selfsigned.jks
server.ssl.key-store-password=openvidu
server.ssl.key-store-type=JKS
server.ssl.key-alias=openvidu-selfsigned
logging.level.root=info
spring.main.allow-bean-definition-overriding=true
# kurento-media-server服务
kms.uris=["ws://192.168.3.198:8888/kurento"]
openvidu.publicurl=local
openvidu.secret=MY_SECRET
openvidu.cdr=false
openvidu.cdr.path=log
openvidu.webhook=false
openvidu.webhook.endpoint=
openvidu.webhook.headers=[]
openvidu.webhook.events=["sessionCreated","sessionDestroyed","participantJoined","participantLeft","webrtcConnectionCreated","webrtcConnectionDestroyed","recordingStatusChanged","filterEventDispatched","mediaNodeStatusChanged"]
openvidu.recording=true
openvidu.recording.version=2.9.0
openvidu.recording.path=D:\work\test\nange\webrtc\openvidu\openvidu-server\data
openvidu.recording.public-access=true
openvidu.recording.notification=publisher_moderator
openvidu.recording.custom-layout=D:\work\test\nange\webrtc\openvidu\openvidu-server\data
openvidu.recording.autostop-timeout=120
openvidu.recording.composed-url=
openvidu.streams.video.max-recv-bandwidth=1000
openvidu.streams.video.min-recv-bandwidth=300
openvidu.streams.video.max-send-bandwidth=1000
openvidu.streams.video.min-send-bandwidth=300
coturn.redis.ip=127.0.0.1
coturn.redis.dbname=0
coturn.redis.password=turn
coturn.redis.connect-timeout=30
nohup mvn -U clean spring-boot:run -Dkms.url=ws://remoteIp:8888/kurento -Dlogging.level.root=info -Dopenvidu.recording=true -Dopenvidu.recording.path=/opt/webrtc/kurento/test/data -Dopenvidu.recording.public-access=true -Dopenvidu.recording.custom-layout=/opt/webrtc/kurento/test/data >/opt/webrtc/kurento/test/logs/log 2>&1 &
-DKMS_STUN_IP=RemoteIp -DKMS_STUN_PORT=3478 -DKMS_TURN_URL=root:root@RemoteIp:3478
- jar包启动项目
java -jar openvidu-server-2.11.0.jar
一些API的使用
- 获取 openvidu-server 的cookie
访问 https://192.168.3.198:4443
,输入OPENVIDUAPP MY_SECRET,获取登录Cookie - 设置录制模式为 ALWAYS
https://192.168.3.198:4443/api/sessions?recordingMode=ALWAYS&Cookie=E8C8C48D31DE6E61F7B2C54385995907
其中:Cookie 为 openvidu-server 的Cookie - 开始录制
https://192.168.3.198:4443/api/recordings/start
Body参数:{"session": "SessionB", "name": "11", "outputMode": "COMPOSED", "hasAudio": true, "hasVideo": true, "resolution": "320x240", "recordingLayout": "BEST_FIT"}
参数说明
SessionB:房间号
name:录制视频文件的名称
https://192.168.3.198:4443/api/recordings/stop/SessionB
其中 SessionB 为
未完待续
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)