原创 Janus源碼分析(1)——源碼結構

1. 模塊結構 分5個模塊: 核心 Core 插件 Plugins 傳輸 Transports 事件處理 Event Handlers 實用工具 Tools and utilities 2. 源碼分析 2.1 核心模塊(Co

原创 Janus源碼分析(7)——videoroom分析

1. 運行效果 https://janus.conf.meetecho.com/videoroomtest.html?simulcast=true 包含:Simulcast功能 視頻高等質量(分辨率:1280*720,帶寬1.

原创 Mediasoup源碼分析(1)——架構分析

1. 設計架構圖 Worker 一個Worker代表着一個運行在單核CPU上並處理Router實例的mediasoup C++子進程; Router Router用於注入、選擇和轉發通過Transport實例創建的媒體流

原创 禁用瀏覽器同源策略的方法

1、引言 前端和後臺聯調的時候總會涉及到跨域,平時我們跨域主要的方法是通過CORS進行跨域,但是通過CORS進行跨域有的時候會涉及到數據安全的問題,這時候我們可以通過禁用本地瀏覽器的同源策略來進行跨域的聯調。 2、禁用方法 2.1

原创 VMware中設置CentOS靜態IP並可上網

1、引言 在VMware種搭建了CentOS的虛擬機,想在局域網內共享該虛擬機,使得局域網內的機器能夠訪問到該虛擬機,另外,希望該虛擬機也能夠訪問外網,那麼該如何設置呢? 2、設置靜態IP地址 2.1 設置VMware 打開VMw

原创 TCP連接CLOSE_WAIT和TIME_WAIT狀態學習總結

0、引言 生產環境中,運行一段時間後,發現經常出現殘留着大量的TCP鏈接,如下圖所示,這些殘留的TCP鏈接佔用着系統的資源,一旦數量過大的話,會導致系統資源耗盡,甚至崩潰,急需排查解決。 2、TCP/IP的連接和斷開過程 2

原创 動態修改Log4J和Logback的日誌級別

0、引言 Java項目開發調試或維護過程中,爲方便問題快速定位,很多時候都會在代碼中增加相關日誌,但爲了減少日誌輸出量,在生產環境通常都提高了日誌的級別,導致生產環境出現問題時調試信息沒有打印出來,排查定位問題比較困難。 那麼,能

原创 Janus源碼分析(6)——Streaming分析

1. 運行效果圖 Streaming演示的是播放視頻或音頻流,可用於網絡直播或轉播,效果如下圖所示: 2. Streaming插件API分析 2.1 會議配置信息及API分類 1、插件配置文件位置 conf/janus.plug

原创 Janus源碼分析(5)——echotest分析

1、運行效果圖 Echo測試演示的是發送給服務器網關的音頻和視頻,服務器會回傳給你,效果如下圖所示: 2、代碼分析 2.1 代碼結構 2.2 源碼分析 2.2.1 創建線程 在janus = new Janus()時,調用Ja

原创 Janus源碼分析(3)——請求處理過程

1. Janus啓動及線程 Created with Raphaël 2.2.0開始......啓動Session處理線程啓動請求處理線程創建異步請求處理線程池......結束 1.1 線程處理代碼 主入口main函數位於 jan

原创 Janus源碼分析(4)——信令交互過程

1. Janus插件交互流程 Janus中所有插件都遵循以下基本數據流程: 客戶端發送create創建一個Janus會話; Janus回覆success返回Janus會話句柄; 客戶端發送attach命令在Janus會話上att

原创 Janus源碼分析(2)——主入口main

1. 主入口main位置 主入口main函數位於 janus.c 文件中 特別說明: 通過 Makefile.am 創建依賴文件:cmdline.h、cmdline.c、version.c 版本號、編譯時間及Git源碼版本:j

原创 Janus源碼分析

1. 模塊結構 分5個模塊: 核心 Core 插件 Plugins 傳輸 Transports 事件處理 Event Handlers 實用工具 Tools and utilities 2. 源碼分析 2.1 核心模塊(Co

原创 VMware中設置Ubuntu靜態IP並可上網

1、引言 在VMware使用虛擬機過程中遇到的三個問題: 如何修改虛擬機爲靜態IP並且生效; 設置完靜態IP後,無法上網; 設置完靜態IP且能上網後,宿主機無法ping通虛擬機; 那麼,能夠實現虛擬機使用靜態IP,且虛擬機能夠

原创 Ubuntu中使用vi編輯時方向鍵亂碼或退格鍵不能使用解決方法

1、引言 Ubuntu中使用vi編輯文本文件時,會出現按上下左右方向鍵時,出現ABCD等字符,而且退格鍵也不起作用,如何解決這個問題? 2、解決方法 2.1 原因 由於Ubuntu 預安裝的是vim tiny版本,所以會導致我們在