有些研發能力比較強的客戶,會有自定義影象處理的需求(比如自定義影象濾鏡),同時又希望復用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的延遲一般會高於普通的流 直播協議...