原创 STUN協議解析

文章目錄引用Message HeaderMessage AttributesMAPPED-ADDRESSRESPONSE_ADDRESSCHANGE-REQUESTERROR-CODERESPONSE-ORIGINOTHER-AD

原创 H.264和HEVC如何正確的丟幀

文章目錄H.264HEVC 播放器內部邏輯肯定是存在丟幀的邏輯的,只有丟掉不被依賴的幀纔不會導致花屏,RFC中有說明。 H.264 具體可以參考rfc3984#section-1.3,也就是nal_ref_idc的值爲0時,此幀可

原创 zbar使用

文章目錄編譯使用其他功能 zbar一個開源的C語言實現的條形碼和二維碼識別庫,可以用在任何平臺。 編譯 下面給出gn的寫法,其他的構建工具,例如ndk和cmake,拿去參考改改就好了。這裏還包括了libiconv的編譯。 # zb

原创 ffmpeg精準seek

文章目錄hls_read_seekhls_read_packet精準seek hls_read_seek 它支持的flag只有AVSEEK_FLAG_BACKWARD和AVSEEK_FLAG_ANY 如果同時存在音頻和視頻,st

原创 JNI實用封裝

文章目錄簽名(signature)引用JNIEnv檢查異常獲取枚舉字段獲取枚舉值名(字符串)調用構造函數調用靜態方法調用對象方法Java String轉換爲std::stringstd::map轉換爲Java HashMapJav

原创 Android NDK下載(r10~r21)

文章目錄r21r19cr18br17cr16br15cr14br13br12br12r11cr11br11r10er10dr10c r21 平臺 下載路徑 Windows 64-bit android-ndk-r21

原创 obs mac平臺編譯

文章目錄編譯編譯錯誤FFMPEG編譯錯誤syphon錯誤 編譯 Install-Instructions#macos $ git clone --recursive https://github.com/obsproject/ob

原创 rtmpdump for WebRTC

文章目錄BUILD.gnrtmpdump使用BoringSSLBoringSSL修改 BUILD.gn 下載 我把修改過後的上傳到github上了,可以直接下載修改後的源碼。 $ git clone [email protected]

原创 網絡基礎知識

文章目錄私有網絡分類網絡路由形式單播廣播多播TCP/IP模型UDPTCP其他概念 以下內容概念全部來自wiki,代碼來自WebRTC 私有網絡 IPV4的私有IP定義在RFC 1918 RFC1918 規定區塊名 IP地址區

原创 定位死鎖位置(跨平臺)

文章目錄死鎖產生如何定位 死鎖產生 死鎖是如此產生的,以下內容引用一個 Linux 上分析死鎖的簡單方法 死鎖 (deallocks): 是指兩個或兩個以上的進程(線程)在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外

原创 JNI使用

文章目錄簽名(signature)引用JNIEnv檢查異常獲取枚舉字段獲取枚舉值名(字符串)調用構造函數調用靜態方法調用對象方法Java String轉換爲std::stringstd::map轉換爲Java HashMapJav

原创 JNI奔潰

文章目錄accessed stale WeakGlobal 0xffffffffJNI DETECTED ERROR IN APPLICATION: mid == null accessed stale WeakGlobal 0x

原创 H.264和HEVC丟幀

文章目錄H.264HEVC 播放器內部邏輯肯定是存在丟幀的邏輯的,只有丟掉不被依賴的幀纔不會導致花屏,RFC中有說明。 H.264 具體可以參考rfc3984#section-1.3,也就是nal_ref_idc的值爲0時,此幀可

原创 VTCompressionSessionEncodeFrame error code -12902

這個錯誤原因是Level不匹配導致的,選擇一個匹配的Level或者使用AutoLevel即可(例如kVTProfileLevel_H264_Baseline_AutoLevel、kVTProfileLevel_H264_Main

原创 播放器切換後臺VideoToolbox的問題

問題 切換到後臺以後VTDecompressionSessionRef都會變得不可用,從後臺切換到前臺需要重建Session 重建Session是需要時間的,這個時間大概是0.5~2s左右,並不是一個固定的值 重建後的VTDec