Web RTP 收发管理器

作者:追风剑情 发布于:2024-2-29 15:12 分类:Unity3d

➤ RTP 收发管理器   RTCRtpTransceiver 唯一对应一个媒体轨道,包含了一个连接对: RTCRtpSender和RTCRtpReceiver,还包含了管理连接的属性和方法。 WebRTC 在以下几种情况创建 RTCRtpTransceiver,作为属性成员也同时创建了RTCRtpSender 和RTCRtpReceiver。 当调用 ...

阅读全文>>

标签: Unity3d

评论(0) 浏览(23)

WebRTC 传输媒体流

作者:追风剑情 发布于:2024-2-29 15:08 分类:Unity3d

  在发送方,我们调用 addTrack() 方法加入媒体轨道,开始 ICE 协商。   在接收方,ICE 完成协商后,连接建立,对等端触发 track 事件,我们从事件中获取对等端传输过来的媒体轨道,此时媒体流的传输通道正常建立,可以像本地媒体流一样操作远程媒体流。   addTrack() 方法包含了一个可选参数 streams,表示媒体轨道所属的媒体流。当在发送端同时...

阅读全文>>

标签: Unity3d

评论(0) 浏览(23)

WebRTC 传输技术

作者:追风剑情 发布于:2024-2-29 14:56 分类:Unity3d

  这些技术不仅用于 WebRTC 底层,也广泛用于其他流媒体领域,比如 RTP/RTCP 广泛用于传统直播、监控等领域,理解这些技术的原理才能更好地使用 WebRTC 技术。   在这些技术中,RTP/SRTP、SCTP 用于传输媒体流,提供拥塞和流控制功能;SDP、ICE、STUN、TURN 用于建立和维护网络连接,DTLS 则用于保护传输数据的安全。 RTP ...

阅读全文>>

标签: Unity3d

评论(0) 浏览(25)

RTCPeerConnection RTP 扩展

作者:追风剑情 发布于:2024-2-29 14:42 分类:Unity3d

在实时通话过程中,WebRTC 网络连接成功建立后,下一步就是发布/接收媒体流。 在发送端,新媒体流的加人将导致重新协商,发起协商的提案包含新加入的媒体信息如果协商顺利完成,发送端开始对媒体流进行编码压缩,并将编码后的媒体流传输给对等端。 接收端收到了新的媒体流后会触发 track 事件,在该事件中获取对应的媒体流。媒体流是经过编码的,编码格式已经在之前的协商中达成了一致,...

阅读全文>>

标签: Unity3d

评论(0) 浏览(30)

WebRTC 带内协商与带外协商

作者:追风剑情 发布于:2024-2-28 15:35 分类:Unity3d

  建立数据通道的常用方法是在发起端调用createDataChannel()方法,在接收端监听datachannel事件,当通道建立完成后,两端都触发open事件,从而在两端都能获取数据通道的对象。   这是WebRTC建立数据通道的默认方法,被称为带内协商。这种方法的优点是可以随时动态创建数据通道。   WebRTC规范里还引...

阅读全文>>

标签: Unity3d

评论(0) 浏览(26)

D3D11.hlsl

作者:追风剑情 发布于:2024-2-28 14:19 分类:Shader

参见 "PackageCache/com.unity.render-pipelines.core/ShaderLibrary/API/D3D11.hlsl" HLSL 宏定义。 // This file assume SHADER_API_D3D11 is defined #define UNITY_UV_STARTS_AT_TOP 1 #define UNITY_R...

阅读全文>>

标签: Shader

评论(0) 浏览(31)

HLSL 输入输出结构体

作者:追风剑情 发布于:2024-2-28 10:47 分类:Shader

//输入结构体 struct Attributes { float4 positionOS : POSITION; float3 normalOS : NORMAL; float4 tangentOS : TANGENT; float2 texcoord : TEXCOORD0; float2 staticLi...

阅读全文>>

标签: Shader

评论(0) 浏览(33)

HLSL SimpleTexture.shader

作者:追风剑情 发布于:2024-2-28 10:37 分类:Shader

//URP Shader Shader "Custom/URP/SimpleTexture" { Properties { [MainTexture] _MainTex ("Texture", 2D) = "white" {} } SubShader { //指定使用的渲染管线为 Unive...

阅读全文>>

标签: Shader

评论(0) 浏览(35)

WebRTC 数据通道(RTCDataChannel)

作者:追风剑情 发布于:2024-2-27 14:50 分类:Unity3d

RTCDataChannel接口表示两个对等方之间的双向数据通道。每个数据通道都关联个RTCPeerConnection对等连接,每个对等连接理论上最多可以有65534个数据通道。RTCDataChannel接口定义如下面的代码清单所示。 //RTCDataChannel接口定义 [Exposed=window] interface RTCDataChannel : EventTarge...

阅读全文>>

标签: Unity3d

评论(0) 浏览(41)

WebRTC RTCSctpTransport

作者:追风剑情 发布于:2024-2-27 14:20 分类:Unity3d

每个 RTCPeerConnection 连接都关联一个基础的 SCTP 协议传输通道,即属性 sctp,它的类型是 RTCSctpTransport,定义如下面的代码清单所示。 //RTCSctpTransport的定义 interface RTCSctpTransport : EventTarget { readonly attribute RTCDtlsTransport t...

阅读全文>>

标签: Unity3d

评论(0) 浏览(37)

RTCPeerConnection 数据通道扩展接口

作者:追风剑情 发布于:2024-2-27 11:38 分类:Unity3d

  WebRTC在RTCPeerConnection的扩展接口提供了数据通道API的入口,这些API接收/发送数据的使用方法与WebSocket一致。RTCPeerConnection数据通道扩展接口如下面的代码清单所示。 //RTCPeerConnection数据通道扩展接口 partial interface RTCPeerConnection { re...

阅读全文>>

标签: Unity3d

评论(0) 浏览(36)

WebRTC 流控制传输协议(SCTP)

作者:追风剑情 发布于:2024-2-26 16:25 分类:Unity3d

  WebRTC数据通道是一种直接建立在浏览器之间的传输通道,专门用于传输非媒体流的数据。它为 Web开发人员提供了一种灵活且可配置的方式,可绕开服务器直接交互数据。使用信令服务器也可以传输数据,但相比基于Socket.IO的信令服务器,数据通道具有以下特点。 数据交换不经过服务器,不受服务器性能及带宽瓶颈的限制,同时减少了数据被拦 截的概率。 底层传输使用...

阅读全文>>

标签: Unity3d

评论(0) 浏览(103)

WebRTC 完美协商模式

作者:追风剑情 发布于:2024-2-23 11:16 分类:Unity3d

  WebRTC的规范对信令处理没有做强制要求,所以它具有很大的灵活性。但是在WebRTC的实践中,有个推荐的建立连接模式,基于该模式能够极大地规避网络建立连接失败的现象,这个模式就是完美协商。   完美协商模式能够使协商过程与应用程序解耦。P2P建立连接的协商过程是天生不对称的操作,一方需要充当“呼叫者”,而另一方则是“被呼叫者”。完美协商模式将建立连接过程分为两个独立的协商逻辑,以...

阅读全文>>

标签: Unity3d

评论(0) 浏览(59)

WebRTC RTCPeerConnection 接口

作者:追风剑情 发布于:2024-2-21 14:49 分类:Unity3d

WebRTC 使用 RTCPeerConnection 接口来管理对等连接,该接口提供了建立、管理、监控、关闭对等连接的方法。 //RTCPeerConnection接口定义 interface RTCPeerConnection : EventTarget { constructor(optional RTCConfiguration configuration = {}); s...

阅读全文>>

标签: Unity3d

评论(0) 浏览(132)

WebRTC 动态更换编码格式

作者:追风剑情 发布于:2024-2-20 14:55 分类:Unity3d

  WebRTC默认使用的编码格式是VP8,我们可以在通话过程中更换编码格式,在 VP9和H264之间切换。更换编码格式不会中断通话,但是需要重新进行ICE协商。 首先在 Web页面增加对编码格式的选择,如下面的代码清单所示。 <div> 选择视频编码格式: <select id="codecSelect"> <...

阅读全文>>

标签: Unity3d

评论(0) 浏览(65)

WebRTC 动态设置视频码率

作者:追风剑情 发布于:2024-2-20 10:54 分类:Unity3d

我们的目标是在通话过程中实时更改视频码率,主要涉及对 RTCRtpEncodingParameters.maxBitrate 的修改。 首先在 Web 页面增加输入框,用来设置新的码率,如下面的代码清单所示。 <div> 设置视频码率(kbps): <input id="bitrate" type="number" maxlength="12" require...

阅读全文>>

标签: Unity3d

评论(0) 浏览(67)

WebRTC 通话的挂起与恢复

作者:追风剑情 发布于:2024-2-19 10:55 分类:Unity3d

  通话挂起是指在通话过程中一方临时暂停对话,并通过友好的方式提示对方进行等待; 通话恢复是指由通话挂起恢复正常通话。   这两项技术经常用于电话客服或者电话转接的场景,比如当电话客服需要时间进行某项操作时,会提示客户进行等待,而为了让客户保持耐心,在等待期间会播放一段轻松的音乐。   将 RTCRtpTrans...

阅读全文>>

标签: Unity3d

评论(0) 浏览(62)

WebRTC SdpSemantics

作者:追风剑情 发布于:2024-2-6 10:59 分类:Unity3d

  统一计划(Unified Plan)是用于在会话描述协议(SDP)中发送多个媒体源的 IETF 草案。谷歌在 2013 年于 Chrome 浏览器中实施了 Plan B。Plan B 实际上是 Unified Plan 的一个变种。谷歌后续又在Chrome浏览器中提供了对 Unified Plan 的支持。作为过渡方案,目前Chrome浏览器同时支持 Plan B 和 Unifed Plan,...

阅读全文>>

标签: Unity3d

评论(0) 浏览(84)

WebRTC 错误处理

作者:追风剑情 发布于:2024-2-5 14:15 分类:Unity3d

有些操作在出现错误时抛出 RTCError,其定义如下面的代码清单所示。 interface RTCError : DOMException { constructor(RTCErrorInit init, optional DOMString message = ""); readonly attribute RTCErrorDetailType errorDetail; ...

阅读全文>>

标签: Unity3d

评论(0) 浏览(106)

WebRTC DTMF

作者:追风剑情 发布于:2024-2-5 11:26 分类:Unity3d

  DTMF (Dual-tone Multi-frequency,双音多频) 是一种实现快速可靠传输电话号码的技术,它具有很强的抗干扰能力和较高的传输速度。   举例说明一个 DTMF 的应用场景: 用户拨打了10086,会有相应的语音提示信息,比如 “普通话请按1。For English service,press 2.” 那么 10086 如何知道用户按了哪个键?这时需要一种技术...

阅读全文>>

标签: Unity3d

评论(0) 浏览(99)

矩阵的秩

作者:追风剑情 发布于:2024-2-4 14:28 分类:Algorithms

  我们知道任何一个矩阵Am×n都可以经过初等变换化为等价标准形$E^{(r)}_{m×n}$。那么经过不同的初等变换过程得到的最终结果是否相同呢?本节我们将会看到矩阵Am×n的等价标准形$E^{(r)}_{m×n}$。由Am×n唯一确定。也就是说,经过不同的初等变换过程,最终得到的结果是一样的,其中的r反映了矩阵Am×n的一个特征属性——秩. 基本概念   定义1...

阅读全文>>

标签: Algorithms

评论(0) 浏览(182)

WebRTC ICE 传输层

作者:追风剑情 发布于:2024-2-4 14:19 分类:Unity3d

  RTCIceTransport 接口定义了收发数据包的P2P传输通道,当需要获取 ICE 连接状态信息时,通过该接口进行访问。   当调用 setLocalDescription() 或 setRemoteDescription()方法时,WebRTC自动创建 RTCIceTransport 对象,对象中的ICE 代理(ICE Agent)负责管理 ICE 的连接状态。 //...

阅读全文>>

标签: Unity3d

评论(0) 浏览(99)

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号