原创 視頻編碼:H.264編碼

本文參考畢厚傑老師《新一代視頻壓縮編碼標準-----H.264/AVC》一書以及雷霄驊博客《視音頻編解碼技術零基礎學習方法》整理。 1.概念部分: H.264編碼: 視頻編解碼技術有兩套標準,國際電聯(ITU-T)的標準H.26

原创 直播都使用什麼流媒體協議?

下面就大體談下這種直播的過程大概是個什麼樣的邏輯吧。 視頻 要說直播的話,肯定首要了解的是視頻的相關知識。大家都知道視頻的很多後綴,例如AVI、MPEG、RMVB、MP4、MOV、FLV、WebM、H.261等等的吧,其實簡單的

原创 視頻壓縮相關知識

一.什麼是編碼? 因爲未經壓縮的數字視頻的數據量巨大,在相對有限的存儲空間和傳輸帶寬條件下,其在互聯網上的傳輸會有極大的不便,所以在視頻的傳輸之前,會對視頻數據和音頻數據進行一定算法的壓縮,這個過程又稱爲編碼(壓縮)。 壓

原创 1.音視頻播放原理介紹

音視頻技術主要包含以下幾種:封裝技術,視頻壓縮技術,音頻壓縮技術,流媒體協議技術以及防盜鏈技術。接下來的幾篇文章將對這幾種技術做深入的研究和實踐。下面簡單說明一下視頻播放的原理(以播放互聯網上的視頻爲例): 服務器端的視頻數

原创 音頻編碼相關

1.音頻信號的冗餘信息 音頻編碼的主要作用是將音頻採樣數據(PCM等)壓縮成爲音頻碼流,從而降低音頻的數據量。 數字音頻壓縮編碼在保證信號在聽覺方面不產生失真的前提下,對音頻數據信號進行儘可能大的壓縮。數字音頻壓縮編碼採取去除

原创 音視頻壓縮編碼介紹

1.概念: 壓縮(編碼):因爲未經壓縮的數字視頻的數據量巨大,在相對有限的存儲空間和傳輸帶寬條件下,其在互聯網上的傳輸會有極大的不便,所以在視頻的傳輸之前,會對視頻數據和音頻數據進行一定算法的壓縮,這個過程又稱爲編碼。 幀內(In

原创 入門視頻採集與處理(顯示YUV數據)

在《入門視頻採集與處理(學會分析YUV數據)》這篇文章中,我們已經學會了如何分析採集到的YUV原始碼流,那麼,下一步就是如何預覽顯示所採集的碼流了,只有經過顯示,才能非常直觀地看出自己採集的數據是否有問題。 關於如何顯示原始的YU

原创 爲什麼要使用RTP

一提到流媒體傳輸、一談到什麼視頻監控、視頻會議、語音電話(VOIP),都離不開RTP協議的應用,但當大家都根據經驗或者別人的應用而選擇RTP協議的時候,你可曾想過,爲什麼我們要使用RTP來進行流媒體的傳輸呢?爲什麼我們一定要用RT

原创 音視頻開發:碼率、延時、花屏、卡頓

1. 視頻碼率一般設多大? 對於1080P的視頻而言,藍光視頻的碼率是20Mb/s,一般下載的視頻碼率大都是10Mb/s,一些IPCamera/無人機的碼率是2~8Mb/s,而很多視頻網站的碼率甚至低於5M/s。 同等分辨率的情

原创 FFMPEG Tips (5) 如何利用 AVDictionary 配置參數

本文是我的 FFMPEG Tips 系列的第五篇文章,準備介紹下 ffmpeg 提供的一個非常好用的健值對工具:AVDictionary,特別是對於沒有 map 容器的 c 代碼,可以充分利用它來配置和定義播放器的參數,ffmpe

原创 入門視頻採集與處理(學會分析YUV數據)

做視頻採集與處理,自然少不了要學會分析YUV數據。因爲從採集的角度來說,一般的視頻採集芯片輸出的碼流一般都是YUV數據流的形式,而從視頻處理(例如H.264、MPEG視頻編解碼)的角度來說,也是在原始YUV碼流進行編碼和解析,所以

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

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

原创 直播疑難雜症排查(10)— 直播功耗高

本文爲 《直播疑難雜症排查系列的》第十篇文章,我們重點看看直播功耗高的問題。 1. 問題現象 直播過程中手機發熱嚴重,耗電快。 2. 問題排查 導致手機功耗高,發熱嚴重的根本因素,無外乎就是一點:CPU/GPU 佔用率高,所以,

原创 直播疑難雜症排查(2) — 播放卡頓

本文是 《直播疑難雜症排查》系列的第二篇文章,我們主要分析下如何排查播放卡頓問題。 1. 播放卡頓的表現 播放卡頓的表現總結下來包括但不限於以下這些: 頻繁出現緩衝 播放不夠流暢,畫面一卡一卡的 2. 常見播放卡頓問題排查 從

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

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