原创 WebRTC之H.264打包RtpPacketizerH264

文章目錄RFC6184協議協議中的縮寫打包模式和負載結構介紹NALU HDR(NAL單元頭部)STAPMTAPFURtpPacketizerH264代碼分析WebRTC中的打包模式和包結構代碼分析 要讀懂這部分代碼需要知道RTP打包協

原创 RemoteBitrateEstimatorAbsSendTime起始階段探測帶寬失敗

使用RemoteBitrateEstimatorAbsSendTime的時候發現剛剛開始會出現大量的Probe failed, sent at這樣的打印,然後打印等級是Info(這個等級的打印說明問題不大),但是還是看了一下代碼瞭解一

原创 xcode could not launch

xcode突然遇到了xcode could not launch的問題,編譯和部署都成功了,但是啓動失敗,Google搜索到結果普遍都是說簽名問題(確實是簽名問題),然後照着做修改工程簽名,自動簽名,都沒有解決問題。我做了如下驗證沒有

原创 Mac lldb簽名

MacOS升級以後使用gdb會出現這樣的錯誤Unable to find Mach task port for process-id, please check gdb is codesigned,Google了一把,找到了答案詳情看

原创 爲WebRTC引入libuv-編譯

我目前僅僅在Mac上測試過而已(編譯了它所有的測試Demo),需要編譯的文件是參考它裏面其他的編譯腳本寫的,所以就是以gn格式抄一遍而已。 編譯靜態庫libuv,並public了它的頭文件目錄 寫了一個可執行程序的模板,可以編譯所有

原创 WebRTC之RTCP

文章目錄RTCPSR(Sender Report RTCP Packet)RR(Receiver Report RTCP Packet)SDES(Source Description RTCP Packet)BYE(Goodbye R

原创 WebRTC之RTT計算

關於Report Block詳情可以閱讀6.4.1 SR: Sender Report RTCP Packet 0 1 2

原创 WebRTC之RateStatistics

RateStatistics就是一個用於計算最近一段時間內(max_window_size_ms)的帶寬,scale是對帶寬進行縮放,目的是爲了得到bits/s爲單位的帶寬。例如max_window_size_ms是1000,那麼sc

原创 WebRTC之RTP包

RTP固定頭部 RTP的固定頭部,詳情可以閱讀rfc文檔5.1 RTP Fixed Header Fields 0 1 2

原创 WebRTC之視頻NackModule

NackModule 一個包的最大請求次數是10次,最大請求時間是10*rtt,在這個時間內還沒有獲取到丟失的包則不再請求 對外提供的接口如下,源碼 int OnReceivedPacket(const VCMPacket& pack

原创 WebRTC之Module

WebRTC中存在一些需要定時且重複的任務,所以就抽象出了Module這個任務類和ProcessThread這個定時執行任務的線程封裝類。 用到定時任務的模塊有(不完全列舉) NackModule 視頻nack處理模塊 Pacer 平

原创 findclass

findclass在Android平臺中只允許在主線程(UI)中使用,所以我們要在其他線程中使用只能一次性findclass所有的class,並生成一個Global的引用。這樣我們就可以在其他線程(如果是非Java線程,需要Attac

原创 go訪問c數組.md

Go沒有指針算術,所以它不能訪問這樣的指針pointer[index],因爲這意味着*(pointer + index)。另一個原因是指針不包含索引的限制,如果這樣的訪問是允許的意味着無約束的內存訪問成爲可能。 參考來源 例子 /*

原创 webrtc服務器搭建

兩年前寫的筆記,可能有些鏈接和方式已經不對了,自己評估! 文章目錄名詞解釋概要房間服務、信令服務、ICE(STUN、TURN)服務、Web服務的安裝與配置房間服務 安裝與配置安裝信令服務turn服務參考擴展閱讀other 名詞解釋

原创 圖片Scale(YUV/RGB)

文章目錄Why ScaleScale方案libyuv的實現GL實現方案 前幾天被問到一個問題,相機直接採集480p的圖片和採集720p的圖片Scale爲480p的圖片誰更清晰一些。我當時的回答是直接採集出來的480p圖片清晰一些,因爲