当前位置: 首页 > java >正文

WebRTC调研

WebRTC是什么,为什么,如何使用

在这里插入图片描述

在这里插入图片描述

WebRTC有什么优势

在这里插入图片描述

WebRTC Architecture

在这里插入图片描述

在这里插入图片描述

Amazon KVS WebRTC

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

其它厂商WebRTC

海康门禁WebRTC

在这里插入图片描述

在这里插入图片描述

海康门禁其他界面整理

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

威视通WebRTC

局域网

Google浏览器

在这里插入图片描述

Microsoft Edge

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

公网

RTSP

RTMP

NVR

ONVIF

SIP

SRT

WebRTC协议栈的寻找

mongoose + kvs(amazon-kinesis-video-streams-webrtc-sdk-c)

局域网(Web端本地预览需要支持信令交互)

Web端:adapter.js,adapter.min.js,demo.css,jquery-3.0.0.min.js,index.html

设备端:信令服务器设备端web server实现,需要支持WebRTC信令交互(局域网)

STUN server:stun:stun.kinesisvideo.us-west-2.amazonaws.com:443

​ stun:stun.kinesisvideo.ap-east-1.amazonaws.com:443

公网(将信令服务器搭建在公网)

远程访问(米家,海康,TUTK,涂鸦)

信令服务器

PEERJS:https://peerjs.com/

Saltyrtc:https://github.com/saltyrtc

设备支持webrtc

1.音/视频流 不使用链表,使用共享内存(单生产者->多消费者,webrtc、webs、rtsp、rtmp、SIP、nvr、flv、http)

2.kvswebrtc协议栈(https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c),设备实现webrtc交互过程,实现信令交互服务

3.web/客户端/设备支持webrtc

4.信令服务器设计(局域网/互联网,STUN,TURN服务,ICE服务)

其他

编译libwebsocket

git clone https://github.com/warmcat/libwebsockets.git
cd libwebsockets/
git checkout v4.3.3
git apply --verbose --ignore-whitespace /root/amazon-kinesis-video-streams-webrtc-sdk-c/CMake/Dependencies/libwebsockets-old-gcc-fix-cast-cmakelists.patchcmake -DCMAKE_C_COMPILER=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-gcc -DCMAKE_CXX_COMPILER=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-g++ -DCMAKE_INSTALL_PREFIX=$PWD/install -DCMAKE_C_FLAGS="-fPIC" -DLWS_WITH_HTTP2=1 -DLWS_HAVE_HMAC_CTX_new=1 -DLWS_HAVE_SSL_EXTRA_CHAIN_CERTS=1 -DLWS_HAVE_OPENSSL_ECDH_H=1 -DLWS_HAVE_EVP_MD_CTX_free=1 -DLWS_WITHOUT_SERVER=1 -DLWS_WITHOUT_TESTAPPS=1 -DLWS_WITHOUT_TEST_SERVER_EXTPOLL=1 -DLWS_WITHOUT_TEST_PING=1 -DLWS_WITHOUT_TEST_CLIENT=1 -DLWS_STATIC_PIC=1 -DLWS_WITH_STATIC=1 -DLWS_WITH_SHARED=0 -DLWS_WITH_MBEDTLS=OFF -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_HAVE_PTHREAD_H=1 -DLWS_WITH_THREADPOOL=0 -DLWS_WITH_ZLIB=0 -DLWS_HAVE_EVENTFD=0 -DLWS_OPENSSL_INCLUDE_DIRS="/root/temp/arm_build/openssl/include/" -DLWS_OPENSSL_LIBRARIES="/root/temp/arm_build/openssl/lib/libssl.so;/root/temp/arm_build/openssl/lib/libcrypto.so" ..
make
make install

编译kvswebrtc

安装库
sudo apt-get install cmake m4 pkg-config libssl-dev libcurl4-openssl-dev liblog4cplus-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools git clone --recursive https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c.git
mkdir -p amazon-kinesis-video-streams-webrtc-sdk-c/build; cd amazon-kinesis-video-streams-webrtc-sdk-c/build; cmake ..
make

kvswebrtc运行实例

export AWS_ACCESS_KEY_ID=AKIAZIIT3K7LWLLXU3UH
export AWS_SECRET_ACCESS_KEY=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
export AWS_KVS_LOG_LEVEL=LOG_LEVEL_DEBUG
export DEBUG_LOG_SDP=TRUE
export AWS_DEFAULT_REGION=us-east-1./kvsWebrtcClientMasterGstSample demo-webrtc-channel./kvsWebrtcClientMaster demo-webrtc-channel

参考链接

https://webrtc.github.io/webrtc-org/architecture/

参考文档

amazon-kvs.pdf

amazon-kvs-builds-the-visual-ecology-of-Iot.pdf

http://www.xdnf.cn/news/13013.html

相关文章:

  • 门静脉高压——表现
  • Spring Security 认证流程——补充
  • 5G 智慧工业园区解决方案
  • 多元隐函数 偏导公式
  • 跨链模式:多链互操作架构与性能扩展方案
  • 06 Deep learning神经网络编程基础 激活函数 --吴恩达
  • 基于深度学习的图像分割技术:原理、应用与实践
  • Citation引证/Equilateral Triangle等边三角形/ 字符串旋转/F.小红的区间修改(二)
  • ip子接口配置及删除
  • USB Over IP专用硬件的5个特点
  • webpack打包vue项目
  • 【大厂机试题解法笔记】食堂供餐
  • 进程间通信详解(一):管道机制与实现原理
  • PP-OCRv5 ubuntu20.04 OCR识别服务
  • 第三章 3.1 传感器安全
  • 代码随想录刷题day30
  • Invalid context structure解决Dify框架中图像推理错误:一步步排查与修复指南
  • 相机从app启动流程
  • helm使用说明和实例
  • 数据库分批入库
  • Vue 模板语句的数据来源
  • linux之 内存管理(6)-arm64 内核虚拟地址空间变化
  • Conda安装pytorch和cuda出现问题的解决记录
  • pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
  • Java多线程实现之Thread类深度解析
  • 【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统
  • GeoDrive:基于三维几何信息有精确动作控制的驾驶世界模型
  • 快速使用 Flutter 的 Dialog 和 AlertDialog
  • Delivering Arbitrary-Modal Semantic Segmentation(CVPR2023)任意模态语义分割论文阅读
  • 基于Uniapp开发HarmonyOS 5.0旅游应用技术实践