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

whip和whep

原文为runner365.git大佬的文章
原文链接:https://blog.csdn.net/sweibd/article/details/124552793
WHIP接口

  1. 什么是whip

全称: WebRTC-HTTP ingestion protocol (WHIP).

rfc地址: rfc-draft-murillo-whip-00

简单说,就是通过HTTP接口能导入webrtc媒体流。
2. webrtc publish/unpublish
2.1 webrtc publish

webrtc推流接口

方法: http post

uri: http://hostname:hostport/publish/roomId/uid

http post body: offerSdp

返回:
http body: asswerSdp

举例,向host=192.168.1.98:8090, roomId=2001, 自己作为uid=6547推流.

url为: http://192.168.1.98:8090/publish/2001/6547

post data为offerSdp

返回data为answerSdp
2.2 webrtc unpublish

本方法为优雅的关闭。

也可以暴力的关闭可以直接在客户端进行PeerConnection.Close(), 或者暴力关闭网页;

webrtc关闭推流接口

方法: http post

uri: http://hostname:hostport/unpublish/roomId/uid

http post body: null

返回:

http body:
{
“code”: 0,
“desc”: “ok”
}

举例,向host=192.168.1.98:8090, roomId=2001, 自己作为uid=6547关闭推流.

url为: http://192.168.1.98:8090/unpublish/2001/6547

post data为空

返回data为

{
“code”: 0,
“desc”: “ok”
}

  1. webrtc subscribe
    3.1 webrtc subscribe

webrtc拉流接口:

方法: http post

uri: http://hostname:hostport/subscribe/roomId/uid/remoteUid

其中uid为自己的uid,remoteUid为想要订阅的远端uid。

http post body: offerSdp

返回:
http body: asswerSdp

举例,向host=192.168.1.98:8090, roomId=2001, 自己作为uid=6547,从远端remoteUid=4489拉流.

url为: http://192.168.1.98:8090/subscribe/2001/6547/4489

post data为offerSdp

返回data为answerSdp
3.2 webrtc unsubscribe

本方法为优雅的关闭。

也可以暴力的关闭可以直接在客户端进行PeerConnection.Close(), 或者暴力关闭网页;

webrtc关闭拉流接口

方法: http post

uri: http://hostname:hostport/unsubscribe/roomId/uid/remoteUid

http post body: null

返回:

http body:
{
“code”: 0,
“desc”: “ok”
}

举例,向host=192.168.1.98:8090, roomId=2001, 自己作为uid=6547关闭对远端remoteUid=4489拉流.

url为: http://192.168.1.98:8090/unsubscribe/2001/6547/4489

post data为空

返回data为

{
“code”: 0,
“desc”: “ok”
}

  1. 客户端demo

提供客户端web demo: webrtc whip sdk

webrtc sfu服务: cpp_media_server
————————————————
版权声明:本文为CSDN博主「runner365.git」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sweibd/article/details/124552793

http://www.lryc.cn/news/239610.html

相关文章:

  • SpringBoot集成jjwt和使用
  • RedisConnectionFactory is required已解决!!!!
  • redis的高可用之持久化
  • onnx模型转换opset版本和固定动态输入尺寸
  • 远程运维如何更高效的远程管理?向日葵的这几项功能会帮到你
  • python BDD 的相关概念
  • 【Exception】Error: Dynamic require of “path“ is not supported
  • 【蓝桥杯选拔赛真题25】C++两个数比大小 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析
  • C++学习——C++运算符重载(含义、格式、示例、遵循的规则)
  • 【unity实战】unity3D中的PRG库存系统和换装系统(附项目源码)
  • 编程语言发展史:C语言的诞生及其影响
  • (二)pytest自动化测试框架之添加测试用例步骤(@allure.step())
  • 【用unity实现100个游戏之16】Unity程序化生成随机2D地牢游戏2(附项目源码)
  • 潮玩宇宙大逃杀游戏开发源码说明
  • UE5 操作WebSocket
  • Linux文件
  • 素短语的定义
  • 【华为OD题库-033】经典屏保-java
  • clang+llvm多进程gdb调试
  • PHP反序列化简单使用
  • 专业课140+总分420+东南大学920专业综合考研,信息学院通信专业考研分享
  • 数据结构与算法编程题11
  • 【LeetCode刷题】--40.组合总和II
  • mysql面试内容点
  • msvcp140.dll是什么?msvcp140.dll丢失的有哪些解决方法
  • 数字图像处理(冈萨雷斯)学习笔记
  • MES系统管理范围及标准
  • vscode运行dlv报错超时
  • 【Leetcode合集】1. 两数之和
  • 使用Java解决快手滑块验证码