原创 WebRTC 之 Insertable Stream:端到端加密很簡單

Abstract: WebRTC Insertable Stream 的介紹及其端到端加密案例 Authors: Walter Fan Status: WIP Class: Learning Min

原创 WebRTC 視頻基礎之一: YUV 格式 圖像格式 YUV 圖像的存儲格式 RGB 與 YUV 格式的轉換 代碼示例 參考資料

圖像格式 最簡單的圖像格式是 RGB24, 每個像素用24bits 來表示,三原色的每個顏色用 8 bits 來表示,如果還要表示像素的透明度,就再加 8 bits ,即 RGB32 格式 這樣一個 RGB24 圖片可以用一個三維數組來表

原创 如何高效地閱讀 RFC 自頂向下 自底向上 用自己的話轉述 結合代碼和實例 工具

由於工作需要,我需要閱讀大量的 RFC, 看得我頭痛,如何高效地閱讀 RFC 是擺在我面前的一個大問題 如何高效地閱讀 RFC 呢?我的想法如下 自頂向下 把文章背景,動機,目的和主要內容搞清楚, 綱舉目張 what, backgroun

原创 WebRTC 之度量與統計: 到底出了什麼問題 WebRTC statistics API 全部的度量指標 度量驅動改進 參考資料

由於新冠疫情,我們待在家中,在網上工作,開會,看電影的時間越來越多了。網絡嘛,大家都知道,時常不穩定,網上開會時聲音聽不清楚,圖像模糊,視頻有馬賽克(不是人爲打的)的情況時有發生,這時候,問題出在哪裏呢? 也許是網絡的問題,也許不是,即使網

原创 WebRTC 服務器要幹些什麼 概述 服務器的主要功能 服務器中需要維護領域對象

概述 WebRTC 的服務器大體分爲信令服務器和媒體服務器 WebRTC 信令服務器是主要功能是爲 WebRTC 通訊搭建一個瞭解彼此能力的通道, 交換信息, 同步改動. 而媒體服務器就是用來交換媒體,包括對媒體數據的加解密,編解碼,帶寬和

原创 WebRTC 之度量與統計: 到底出了什麼問題 WebRTC statistics API 參考資料

由於新冠疫情,我們待在家中,在網上工作,開會,看電影的時間越來越多了。網絡嘛,大家都知道,時常不穩定,網上開會時聲音聽不清楚,圖像模糊,視頻有馬賽克(不是人爲打的)的情況時有發生,這時候,問題出在哪裏呢? 也許是網絡的問題,也許不是,即使網

原创 微服務器開發檢查清單 基本問題 操作系統 編程語言 線程模型: 度量框架 高可用機制 高擴展性 安全性 API 網絡工具包 參考資料

基本問題 這個服務的職責和邊界是什麼? 如何自動從代碼到產品來構建這個服務? 如何自動部署,運行,停止,升級和擴展這個服務? 這個服務使用什麼數據存儲系統? SQL or NoSQL 這個服務與其他服務之間通信的方式是什麼? 這個服務依賴

原创 高性能服務器開發檢查清單 操作系統 編程語言 線程模型: 度量框架 高可用機制 API 網絡工具包 參考資料

操作系統 Linux: CentOS 是首選, Ubuntu 或 Redhat 其他系統亦可 編程語言 C或C++ 是首選,適合於計算量大和對性能要求比較高 Java 對於複雜的業務邏輯比較有優勢,只要你對由於 GC 導致的延遲不敏感.

原创 微服務治理的思考 擴展閱讀

在分佈式系統, 特別是採用微服務架構中存在諸多服務, 它們之間存在着複雜的調用和依賴關係, 我們需要一個框架對如下方面來進行統一管理 服務註冊 服務提供方將服務註冊到集中的服務註冊中心 服務發現 管理和更新服務的狀態和信息, 以供服務消費

原创 通過 WebRTC 共享屏幕很容易 簡介 示例1 示例2 Wireshark 抓包

簡介 網絡會議中常用的屏幕共享功能使用 WebRTC 提供的 getDisplayMedia API 就能輕鬆實現,接口如下 var promise = navigator.mediaDevices.getDisplayMedia(cons

原创 WebRTC 之 REMB - 接收方帶寬估計 1) What 2) Why 3) How 4) Example 5) Conclusion

1) What Receiver Estimated Max Bitrate (REMB) 提出了提出了一種RTCP消息,供在實驗中使用, 它爲基於RTP的媒體流部署了擁塞控制算法。 它還描述了一個絕對值時間戳選項,用於帶寬估計。該反饋消息

原创 C++程序度量驅動調優實例:看狄更斯的雙城記,尋找性能瓶頸 程序示例 測試 度量性能 剖析性能

作爲一個專業的程序員,你寫了一段程序,完成了一個功能,似乎達到了用戶的要求,其實你心裏也沒底。 做一個簡單的測試, 跑了一個主要流程,基本的功能應該是滿足需求的,但是性能呢? 我們需要對程序的性能進行度量,確保性能是滿足用戶需求的。如果性能

原创 如何創建 WebRTC 會話一 1. 本地對等連接 參考資料

WebRTC 是一套基於 Web 的實時通信解決方案,通過瀏覽器內置的 API 來支持音視頻通道的搭建。 簡而言之,先在信令通道協商出彼此的媒體和通信參數, 再通過媒體通道來傳輸音視頻媒體數據。 JavaScrpt 中用到的三個主要的對象有

原创 WebRTC 之 SDP SDP 內容簡介 SDP 的 Offer/Answer 交換過程 WebRTC 擴展中SDP的支持 WebRTC SDP 實例 參考資料

SDP 即 Session Description Protocol 會話描述協議, 它描述了所傳輸的媒體信息。 之所以需要在多媒體通信之前交換 SDP, 就在於 接收方需要知道傳輸的是什麼媒體類型,什麼編碼格式,以便正確的回放, 發送方

原创 WebRTC 之 MediaRecorder: 用你的瀏覽器錄音和錄像 第一步:創建一個供演示的 HTML 文件 第二步:處理這四個按鍵的的 click 事件 參考資料

既然現在的筆記本電腦,平板,手機都有攝像頭和麥克風,那麼錄音和錄像就是一件非常容易的事情了,但是如果不用別人寫好的錄音錄像程序,讓你自己來實現一個錄音和錄像應用,其實也沒那麼簡單。 但是有了 WebRTC 和支持它的瀏覽器, 事情就變得簡單