原创 rtc中需要哪種擁塞算法

擁塞控制是網絡傳輸的核心,基本定義就是確定帶寬大小。關於帶寬的計算,我覺得下面一張圖描述的比較準確 這幅圖的意思是這樣的 1)帶寬(BDP)=rtt*btlbw  btlbw 表示在網絡中的瓶頸帶寬,就是最小帶寬 2)inflight

原创 我眼中的webrtc

 寫這篇文章的初衷,是因爲這段時間面試,不少面試官一開頭就直接問:webrtc是幹嘛的?然後就是稀稀拉拉的問一堆問題,相關性都不太大。自己回答也就東一塊 西一塊,缺乏對webrtc完整的理解。剛好自己趁這個時間整理下,也算個總結   we

原创 如何把raknet的庫編譯到srs裏面

1)頭文件的包括 在需要的頭文件裏添加如下文件 #include "RakPeerInterface.h" #include "RakPeerInterface.h" #include "RakNetTypes.h" #include

原创 srs中對tcp底層的nodelay的優化

在srs代碼中,對於tcp優化有這麼一段代碼 void SrsRtmpConn::set_sock_options() { bool nvalue = _srs_config->get_tcp_nodelay(req->vhost

原创 MCU設計方案

今天讀到一篇關於音視頻邊緣計算的帖子 音視頻合成的雲邊緣計算實現 文章裏有兩個要點 1)邊緣計算 具體功能有:流合成 錄像 水印 送審等功能 這些多數設計到需要對媒體數據做處理 2)作者再部署的部署方案是自己搭建IDC 這樣會面臨多線的問

原创 這段時間打算寫的博客

疫情呆在家剛好總結下這一年的經驗教訓,打算寫完下面幾篇文章 列個提供先督促一下自己 1)MCU的設計方案 2) SFU的設計方案 3)網絡擁塞的幾種方案對比 4)SDP內容咋子WEBRTC裏的具體對應  

原创 某網校媒體後臺實現猜測

疫情期間陪兒子上網課 順道猜測了下後臺的大概架構 先上張網校截圖,我標註了界面上大概的功能分區   從界面分析,後臺大概的數據分爲以下幾種 1 主流 一般是代課老師的攝像頭流 2 輔助流 一般是帶課老師電腦上課區的截屏 , 3 聊天區 

原创 raknet的線程模型。

gdb運行一個最簡單的raknet程序,斷點以後,敲入 info threads,可以看到有三個線程在跑 除了線程1的主線程外,還有其他兩個線程,幹什麼的呢?由於只調用了一個startup函數,進入startup函數發現如下代碼 #i

原创 raknet在Linux下的編譯

原文地址點擊打開鏈接 親測有效 拷貝黏貼 1.編譯成靜態庫。    g++ -c *.cpp    ar rc libraknet.a *.o    g++ -shared -O3 -fPIC -o libraknet.so.0.

原创 從流程上對rtmp協議經行總結

分析的基本清晰。 原文地址 從流程上對rtmp協議經行總結 拷貝黏貼 一、握手: 1、C0:C—>S 2、S0: S—>C         名稱:C0 S0         長度:1字節         對於版本號的定義:當前rtm

原创 在網絡不好的情況下如何通過rtmp命令自適應

主要考慮以下兩種情況 1)上傳端網絡波動比較大。 2)收聽端網絡比較大。 當主播網絡波動到低點時,可以重新修改編解碼參數到一個比較低的碼率值,此時需要注意的是修改過對於的音視頻數據的metadata,基頭兩-三個字節。 但收聽端網絡不佳

原创 licode中大小流方案

總體方案圖如下 大小流解決的核心是需要改造oneTomany,改造點如下 publiser增加多個,並且要有角色之分,比如下 Publiser  m_BigPub; Publishe  m_SmallPub; 需要主要。在下面三個隊列中

原创 licode 的singlepc 模式是怎麼回事?

最近在摸索webrtc 單機多流的情況,webrtc給出了標準planb的解決方法,在licode的forum中查找,已經明確表示不支持 https://discourse.lynckia.com/t/typical-questions-

原创 一個licode比較好的博客

licode博客

原创 Centos7升級gcc學習筆記

轉載文章 Centos7升級gcc學習筆記