原创 h264起始碼格式轉換

《音視頻應用開發系列文章目錄》 h264起始碼 h264文件的NALU的起始碼可以是0x00 0x00 0x01或者0x00 0x00 0x00 0x01   代碼實現 以下通過代碼功能可以格式化h264文件爲任意一種起始碼類型。 i

原创 音頻編解碼之G711

《音視頻應用開發系列文章目錄》 G711規定了如何將128kbps的raw pcm信號轉爲64kbps的g711u/g711a音頻信號。本文在前人的基礎上封裝了G711的編解碼算法,有兩種實現(基於算法和基於查表),查表的速度更快(源碼下

原创 cv::Mat編碼H264

《音視頻應用開發系列文章目錄》 本文基於ffmpeg and opencv封裝H264編碼器類AvH264,編碼opencv的Mat數據類型圖像爲ffmpeg的AVPacket數據類型的H264數據。 編碼流程 打開編碼器 // 初始化一

原创 海思音頻開發

《音視頻應用開發系列文章目錄》 海思音頻文檔 原始音頻信號以模擬信號的形式給出後,通過 Audio Codec,按一定採樣率和採樣精度轉換爲數字信號。 Audio Codec 以 I2S 時序或 PCM 時序的方式,將數字信號傳輸給 AI

原创 Windows下RabbitMQ服務器部署及測試

《音視頻應用開發系列文章目錄》 系統環境 win7/win10 x64 下載安裝erlang erlang官網下載不是一般的慢,這邊提供快捷通道 安裝完添加環境變量:E:\install\rabbitmq\erlang\erl9.3\bi

原创 SeetafaceV6人臉定位/識別/年齡預測/性別預測/口罩有無/眼睛睜閉

功能 人臉定位,人臉識別,年齡預測,性別預測,口罩有無,眼睛睜閉識別集一體demo,活體檢測效果不佳(可能是我攝像頭太渣的原因),沒加上。 環境 Windows10,vs2015/2017,seetaface6,opencv411 代碼

原创 nginx源碼分析-ngx_get_options函數及如何添加自定義option

《音視頻應用開發系列文章目錄》 ngx_get_options函數分析 static ngx_int_t ngx_get_options(int argc, char *const *argv) { u_char *p;

原创 Windows下nginx-http-flv-module編譯

《音視頻應用開發系列文章目錄》 準備 nginx源碼 工具集 1.mingw 2.perl,安裝時添加到環境變量 3.nasm,安裝完將nasm.exe所在的目錄添加到環境變量 4.sed,安裝完將sed.exe所在的目錄添加到環境變量

原创 windows部署nginx+rtmp服務器並進行推拉流

《音視頻應用開發系列文章目錄》 準備資源 OBS:用於推流 VLC:用於拉流 NGINX4WIN:前人Windows編譯版http://nginx-win.ecsds.eu/download/nginx 1.7.11.3 Gryphon.

原创 RTP載荷G711A/G711U/PCM/G726音頻

《音視頻應用開發系列文章目錄》 編碼RTP over G711A/G711U/PCM音頻的大致過程 1.添加RTP12字節的頭 2.添加payload(G711A/G711U/PCM/G726的真實數據) RTP打包圖 僞代碼 voi

原创 RTP載荷H264視頻

《音視頻應用開發系列文章目錄》 編碼RTP over H264的大致過程 1.判斷H264的NALU數據大小和MTU(Maximum Transmission Unit[normal 1500bytes])的關係   小於MTU:發送整個

原创 RTP載荷AAC音頻

《音視頻應用開發系列文章目錄》 編碼RTP over AAC的大致過程 1.添加RTP12字節的頭 2.如果AAC有ADTS頭,則跳過7字節的data 3.添加4字節的AU_HEAD   字節1:0x00   字節2:0x10   字節3

原创 windows下編譯librtmp

《音視頻應用開發系列文章目錄》 librtmp依賴zlib和openssl,所以在編譯librtmp前需要編譯這兩個傢伙 編譯zlib 下載zlib並解壓 進入zlib根目錄下的E:contrib/vstudio/vc14目錄,VS101

原创 nginx源碼開發-添加三方庫

《音視頻應用開發系列文章目錄》 生成Makefile 按照此文章生成nginx源碼的Makefile nginx添加三方庫(以三方庫rabbitmq-c爲例) 1.使用和編譯nginx一樣的編譯器編譯三方庫rabbitmq-c 2.打開並

原创 windows下CMake fdk-aac

《音視頻應用開發系列文章目錄》 前言 在Linux下fdk-aac有編譯腳本,可以輕鬆的編譯之。但是在Windows下木有,這邊創建fdk-aac cmake工程使得fdk-aac能cmake跨平臺編譯。這裏使用Windows下的MSVC