android實時視訊網路傳輸方法
阿新 • • 發佈:2018-12-10
以320×240大小的視訊傳輸為例
方案 | 壓縮率 | 壓縮/傳輸方式 | 實時性 | 平均流量消耗 | 傳輸距離 |
用camera的回撥函式傳送原始的yuv420資料 | 0 | 無壓縮,按幀傳輸 | 高(20~30fps) | 很高(6.5Mbps) | 近距離有線或無線 |
用MediaRecorder對yuv420進行H264硬編碼後傳送 | 高(95%) | 幀間壓縮,視訊流傳輸 | 高(20 fps) | 低(30~70Kbps) | 可以遠距離 |
呼叫本地H264編碼庫(JNI)對一幀yuv420資料編碼後傳送 | 高(97%) | 幀間壓縮,按幀傳輸 | 低(2 fps) | 低(20 Kbps) | 可以遠距離 |
對一幀資料用GZIP庫壓縮後傳送 | 較高(70%~80%) | 幀內壓縮,按幀傳輸 | 低(5 fps) | 較高(300 Kbps) | 可以遠距離 |
對一幀資料用JPEG方式壓縮後傳輸 | 一般(60%左右) | 幀內壓縮,按幀傳輸 | 高(25 fps) | 高(170 Kbps) | 可以遠距離(頻寬允許的話) |
注:MediaRecorder有很強的硬體依賴性,因此不同的手機表現是不一樣的,有的手機資料傳輸的時候會出現阻塞現象,實時性就降低了