直播Android推流外部資料採集

2021-07-24 16:15:46 字數 1025 閱讀 6229

有些研發能力比較強的客戶,會有自定義影象處理的需求(比如自定義影象濾鏡),同時又希望復用rtmp sdk的整體流程,如果是這樣,您可以按照如下攻略進行定製。

custommode |= txliveconstants.custom_mode_audio_preprocess; //可以和video_preprocess一起設定

mlivepushconfig.setcustommodetype(custommode);

mlivepushconfig.setcustomaudiopreprocesslibrary(path +"/libtest.so", "myaudioprocessfunc");

其中myaudioprocessfunc應當遵循如下的函式宣告:

/* @brief 客戶自定義的音訊預處理函式原型

* @param pcm_buffer: 音訊pcm資料

* @param len_buffer: 資料長度

* @param sample_rate: 取樣頻率

* @param channels: 聲道數

* @param bit_size: 取樣位寬

* @return

* @remark (1)該函式會被sdk同步呼叫,故您需要同步返回預處理後的資料

* (2)處理後的資料長度必須和處理前保持一致

* (3)您或者直接處理pcm_buffer,或者將處理後的資料memcpy到pcm_buffer所指的記憶體區域,

* 這塊記憶體的生命期由sdk負責管理(也就是釋放)

*/typedef

void

(*paudioprocesshookfunc)

(unsigned

char * pcm_buffer, int len_buffer,

int sample_rate, int channels, int bit_size)

;

直播 android端推流實現一

h264編碼是得到連續的流,流中有很多幀 i幀稱為關鍵幀,p幀,b幀 要想傳遞給伺服器的資料是不丟幀的,需要對流進行重新打亂,比如第一段先傳i幀資料報,再傳b幀資料報等。這個傳遞給伺服器的工具就是rtmpdump,它是真正實現擺放資料的,會將h264資料轉成packet,推到伺服器。它是遵循rtmp...

Linux直播推流

linux系統實現youtube推流直播 軟體 ffmpeg,youtube dl 1.安裝ffmpeg 官網安裝包 john van sickle ffmpeg static builds cd home john wget wget md5 md5sum c ffmpeg git amd64 s...

直播推流拉流概念介紹

先上圖 推流,指的是把採集階段封包好的內容傳輸到伺服器的過程。介紹一下目前有主流的推送協議,以及各自的優缺點。不過rtmp有著乙個最大的不足 不支援瀏覽器,且adobe已不再更新。因此直播服務要支援瀏覽器的話,需要另外的推送協議支援。分段推送的技術特點,決定了hls的延遲一般會高於普通的流 直播協議...