概述 这篇 RFC 废弃了 "RFC4507: Transport Layer Security (TLS) Session Resumption without Server-Side State" 主要描述了在不需要维护服务器状态的情况下如何重启一个 TLS Session 状态总归是要有的, 比如加密套件, 加密的主密钥, 它们都保存在一个由服务器知道的密钥加密过的一个 ticket 里 it stores its session state (such as ciphersuite and master secret) to a ticket that is encrypted and integrity-protected by a key known only to the server. The ticket is distributed to […] →Read more
搭建测试环境 启动测试程序 git clone git@github.com:walterfan/webrtc_video_chat.git cd webrtc_video_chat ./start.sh 启动浏览器 cd /Applications/Google\ Chrome\ Canary.app/Contents/MacOS/ ./Google\ Chrome\ Canary –disable-webrtc-encryption Chrome 有些 WebRTC 相关的测试开关很有用 –allow-file-access-from-files allows getUserMedia() to be called from file:// URLs. –disable-gesture-requirement-for-media-playback removes the need to tap a <video> element to start it playing on Android. –use-fake-ui-for-media-stream avoids the need to grant camera/microphone permissions. –use-fake-device-for-media-stream feeds […] →Read more
音视频同步可检测到的阈值在 +45ms 到 -125ms 之间, 可接受的阈值平均约为 +90ms 到 -185 ms, 正值表示声音相对于图像超前多少 在 T-REC-G.114-200305 中总结到: ~280ms 有些用户不满意 ~380ms 许多用户不满意 ~500ms 几乎所有都不满意 延迟来自哪里, 可以看看音视频各自的流程 音频处理流程 延迟可能来自如下步骤 从设备捕获音频的延迟 输入音频处理的延迟 3A 音频编码的延迟 网络传输的延迟 抖动缓冲的延迟 音频解码的延迟 音频输出处理的延迟 从设备输出到耳朵的延迟 视频处理流程 WebRTC 中有相关的度量 estimatedPlayoutTimestamp of type DOMHighResTimeStamp This is the estimated playout time of this receiver’s track. 这就是接收的音轨估计的回放时间 The playout time is […] →Read more
在视频会议中 H264 的 NAL: Network Abstraction Layer 包类型基本上有三种 1) Single NAL unit 单个 NALU 2) STAP-A: Single Time Aggregation Packet 单时间聚合包 3) FU-A: Fragmentation Unit Packet 片段单元包 // The packetization types that we support: single, aggregated, and fragmented. enum H264PacketizationTypes { kH264SingleNalu, // This packet contains a single NAL unit. kH264StapA, // This packet contains […] →Read more