原创 這一年團隊的磨合與成長

我們是一個去年年初從 0 開始組建起來的新團隊,面臨的是一個極具技術挑戰的新產品,這一年,遇到過很多很多的問題,大家風雨同舟,共同應對和自我改進,逐步形成了很不錯的團隊氛圍和做事的風格,每個人也在這裏成長了很多很多。下面即將介紹的都是真實發

原创 談談網絡通信中的流量整形

前面的兩篇文章《談談網絡通信中的 ACK、NACK 和 REX》和《談談網絡通信中的 FEC 基礎》介紹了網絡通信中的丟包重傳和 FEC 的相關理論和方法,他們都是在網絡發生丟包的情況下的補救措施,本文則往前進一步,介紹下如何通過流量整形技

原创 談談網絡通信中的 FEC 基礎

上一篇文章《談談網絡通信中的 ACK、NACK 和 REX》簡單介紹了網絡通信中的丟包重傳的相關理論和方法,本文則準備介紹下對抗網絡丟包的另一種常見的手段 FEC 所涉及到的核心基礎知識。名詞解釋FEC:Forward Error Corr

原创 Mac 下使用命令行模擬弱網環境

做音視頻開發,我們經常需要模擬弱網環境,觀察 app 在弱網下的表現,比如,丟包、延遲、抖動、限制帶寬條件等,Mac 系統有一個弱網工具 APP,叫做 “Network Link Conditioner ” ,支持可視化地完成弱網的模擬和配

原创 談談網絡通信中的 ACK、NACK 和 REX

目錄名詞解釋問題 1: 接收方如何判斷數據包是否丟失?問題 2:發送方如何確認數據包已經丟失?問題 3:重傳超時的計算規則?問題 4:發送方的數據包要緩存多久?問題 5:接收端多久發送一次 nack 請求?問題 6:哪些丟失的數據包會放入

原创 我的 2019 年終總結

又到了該寫年終總結的日子了。 感覺這一年過得好快,想到明年就要參加本科畢業十週年的同學聚會了,突然覺得這十年也都過得好快。 想起了一年前在微博上發的一句感慨: “有追求的人生,永遠無法放慢腳步享受安逸,總要跟時間賽跑,因爲在人生的每一個階

原创 Android內核開發:源碼的版本與分支詳解

我想很多初學者或許跟我一樣,看完Android×××相關的文章以後,就開始興致勃勃地去下載Android源碼了,但是下載完了源碼後,有沒有像我一樣產生如下幾個困惑呢?(1) Android版本有哪些分支可用?每個分支的TAG是什麼?(2)

原创 Android內核開發:理解和掌握repo工具

由於Android源碼是用repo工具來管理的,因此,搞Android內核開發,首先要搞清楚repo是什麼東西,它該怎麼使用?作爲《Android內核開發》系列文章的第二篇,我們首先談談對repo工具的理解和使用。1. repo是什麼?re

原创 WebRTC 開發實踐:如何實現 SFU 服務器

上一篇文章《WebRTC 開發實踐:爲什麼你需要 SFU 服務器》我們瞭解了 WebRTC SFU 服務器的基本原理和必要性,解決了 What 和 Why,本文則更近一步,探究一下實現 SFU 服務器的關鍵技術點有哪些 ?重點解決一下 Ho

原创 從開發小白到音視頻專家

這是由一篇我的演講稿整理出來的文章,目標讀者是對音視頻開發感興趣但是又不知道如何下手的初學者們,希望把我的經驗分享出來,對大家有所幫助。 1. 成長的煩惱 經常收到一些網友的來信或者留言,反饋如下這樣的困惑: “我是一名應屆畢業生,該如何

原创 Android 音視頻開發入門指南

    最近收到很多網友通過郵件或者留言說想學習音視頻開發,該如何入門,我今天專門寫篇文章統一回復下吧。    音視頻這塊,目前的確沒有比較系統的教程或者書籍,網上的博客文章也都是比較零散的,希望我後面能擠出時間整一個專題詳細講一講~~目前

原创 WebRTC 開發實踐:爲什麼你需要 SFU 服務器

當你入門 WebRTC 之後,很快就會接觸到一個名詞,叫做:SFU,你可能很容易就在網上尋找到很多 SFU 的開源實現,並並興致勃勃地開始編譯、部署和測試這些服務器,但是可曾想過,爲啥我們的 WebRTC 應用需要 SFU 服務器 ?1 W

原创 WebRTC 開發實踐:編譯 Android 平臺源碼

前面兩篇文章分別介紹瞭如何利用 WebRTC API 實現一對一視頻通話和多人視頻會議,並給出了相應的 demo 程序,該 demo 是基於官方預編譯好的庫開發的。如果要想深入學習和研究 WebRTC,僅僅掌握偏上層的 API 接口是遠遠不

原创 WebRTC 開發實踐:從一對一通話到多人會議

爲了讓初學者快速起步把 WebRTC demo 跑起來,我寫了一個極其簡單的 startup demo 項目,展示瞭如何基於 WebRTC API 實現一對一的視頻通話。該項目地址:https://github.com/Jhuster/RT

原创 RTCStartupDemo:一款極其簡單的 WebRTC 入門項目

如今越來越多的公司投身到 WebRTC 的開發和應用之中,同時也有越來越多的開發者對 WebRTC 技術感興趣。相對於單向傳輸的直播和播放器,支持“實時+雙向” 音視頻通話的 WebRTC 項目顯然要龐大和複雜很多很多。由於 WebRTC