概述
3D和游戏行业新阶段主要向专用外设发展,3D和游戏上云到打造体验是发展趋势。yangwebrtc可助力3D和游戏向云平台发展提供助力,助力云3d云游戏达到50毫秒以下延迟,助力云3D云游戏转向嵌入式和穿戴设备的轻量化终端,使之可以展示大屏视觉,增加用户的体验感。
下载源码和运行类库
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为应用程序依赖的dll文件
编译部署参考用yangwebrtc搭建兼容webrtc协议和支持嵌入式智能终端的多人视频会议_m0_56595685的博客-CSDN博客
视频可参考metartc(yangwebrtc)windows版本编译教程_哔哩哔哩_bilibili
方案一:云桌面实现
用yangwebrtc搭建兼容webrtc的跨平台的云桌面(远程桌面控制系统)_m0_56595685的博客-CSDN博客
https://blog.csdn.net/m0_56595685/article/details/121410868
使用GPU编码器
设置gpu编码器参见文章
用yangwebrtc使用gpu编码器搭建游戏教育等在线低延迟直播_m0_56595685的博客-CSDN博客
https://blog.csdn.net/m0_56595685/article/details/121575105
设置ARGB格式
设置ARGB格式可以省去两个占用CPU资源较大的格式转换运算。
m_context->video.videoEncoderFormat=YangArgb;//YangI420
方案二:接口调用实现
修改配置参数
将#define Yang_SendVideo_ 0改为#define Yang_SendVideo_ 1
recordmainwindow.cpp里的外部输入视频相关代码就可以使用了
推流代码是成熟代码,现在只需要自己写入视频帧数据即可。
写入视频帧数据
获取写入接口对象
recordmainwindow.cpp里有注释的例子
YangPushFactory pf;
YangSendVideoI* send=pf.getSendVideo(this->m_message);
推送视频帧
send->putVideoRgba( data,len,timestamp);//推送rgba格式数据
send->putVideoI420( data,len,timestamp);//推送i420格式数据
timestamp为时间戳,单位为微秒。
头文件
int64_t base_timestamp=yang_get_system_time();
int64_t timestamp=yang_get_system_time()-base_timestamp;//时间戳
webrtc服务器
推荐Srs4.0,下载编译参考http://github.com/ossrs/srs#usage
objs/srs -c conf/https.rtc.conf
本文使用 文章同步助手 同步