概述
? 3D和游戲行業(yè)新階段主要向?qū)S猛庠O(shè)發(fā)展,3D和游戲上云到打造體驗(yàn)是發(fā)展趨勢(shì)。yangwebrtc可助力3D和游戲向云平臺(tái)發(fā)展提供助力,助力云3d云游戲達(dá)到50毫秒以下延遲,助力云3D云游戲轉(zhuǎn)向嵌入式和穿戴設(shè)備的輕量化終端,使之可以展示大屏視覺,增加用戶的體驗(yàn)感。
下載源碼和運(yùn)行類庫(kù)
https://github.com/metartc/yangwebrtc/releases/tag/2.0.058
https://github.com/metartc/yangwebrtc/releases/tag/2.0.058
https://gitee.com/metartc/yangwebrtc/releases/2.0.058
https://gitee.com/metartc/yangwebrtc/releases/2.0.058

?metartc2_with_3rdparty.058.7z為源碼壓縮文件,metartc2.win_runtime.7z為應(yīng)用程序依賴的dll文件
編譯部署參考用yangwebrtc搭建兼容webrtc協(xié)議和支持嵌入式智能終端的多人視頻會(huì)議_m0_56595685的博客-CSDN博客
視頻可參考metartc(yangwebrtc)windows版本編譯教程_嗶哩嗶哩_bilibili
方案一:云桌面實(shí)現(xiàn)
用yangwebrtc搭建兼容webrtc的跨平臺(tái)的云桌面(遠(yuǎn)程桌面控制系統(tǒng))_m0_56595685的博客-CSDN博客
https://blog.csdn.net/m0_56595685/article/details/121410868
使用GPU編碼器
設(shè)置gpu編碼器參見文章
用yangwebrtc使用gpu編碼器搭建游戲教育等在線低延遲直播_m0_56595685的博客-CSDN博客
https://blog.csdn.net/m0_56595685/article/details/121575105
設(shè)置ARGB格式
設(shè)置ARGB格式可以省去兩個(gè)占用CPU資源較大的格式轉(zhuǎn)換運(yùn)算。
m_context->video.videoEncoderFormat=YangArgb;//YangI420

方案二:接口調(diào)用實(shí)現(xiàn)
修改配置參數(shù)

?將#define Yang_SendVideo_ 0改為#define Yang_SendVideo_ 1

recordmainwindow.cpp里的外部輸入視頻相關(guān)代碼就可以使用了
推流代碼是成熟代碼,現(xiàn)在只需要自己寫入視頻幀數(shù)據(jù)即可。
寫入視頻幀數(shù)據(jù)
獲取寫入接口對(duì)象
recordmainwindow.cpp里有注釋的例子
?YangPushFactory pf;
?YangSendVideoI* send=pf.getSendVideo(this->m_message);
推送視頻幀
?send->putVideoRgba( data,len,timestamp);//推送rgba格式數(shù)據(jù)
?send->putVideoI420( data,len,timestamp);//推送i420格式數(shù)據(jù)
timestamp為時(shí)間戳,單位為微秒。
頭文件<yangutil/sys/YangTime.h>里有獲取微妙函數(shù)yang_get_system_time()

?int64_t base_timestamp=yang_get_system_time();
int64_t timestamp=yang_get_system_time()-base_timestamp;//時(shí)間戳
webrtc服務(wù)器
推薦Srs4.0,下載編譯參考http://github.com/ossrs/srs#usage
? ? ? objs/srs -c conf/https.rtc.conf
本文使用 文章同步助手 同步