windows下支持h264的webrtc编译

in 应用教程
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

1.系统环境

2.部署开发环境

2.1 下载chromium部署工具depot_tools

git clone https://github.com/coreos/dep...
并将depot_tools路径设置为系统环境变量path的路径

2.2 安装VS2019

2.3 安装PYTHON

打开Python官网,下载windows 2.7版本的python并安装。

2.4 安装ninja

git clone git://github.com/ninja-build/ninja.git && cd ninja
git checkout release
"C:\\Program  Files (x86)\\Microsoft  Visual  Studio 14.0\\VC\\vcvarsall.bat" x64
python  configure.py  \--bootstrap

测试是否安装成功:

ninja --help  

3.下载WEBRTC源码

3.1 fetch --nohooks webrtc

经过漫长的等待,终于将webrtc源码下载下来

3.2 gclient sync

同步源码,如果3.1下载中断,与可以使用gclient sync同步继续下载代码。

3.3 生成vs工程

gn gen out/h264 --ide=vs2019 --args="proprietary_codecs=true rtc_use_h264=true ffmpeg_branding="Chrome" is_debug=true target_cpu="x86" rtc_include_tests=false"

3.4 编译源码

ninja -C ./out/h264
编译完成之后,打开./out/h264中的vs解决方案,便可以使用vs进行编译调试。

4 调整H264编码的优先级

打开./out/h264中webrtc的解决方案,找到src/media中的rtc_internal_video_codecs项目的internal_encoder_factory.cc文件26行:
std::vector<SdpVideoFormat> InternalEncoderFactory::GetSupportedFormats()

const {

std::vector<SdpVideoFormat> supported_codecs;
supported_codecs.push_back(SdpVideoFormat(cricket::kVp8CodecName));
for (const webrtc::SdpVideoFormat& format : webrtc::SupportedVP9Codecs())

supported_codecs.push_back(format);

for (const webrtc::SdpVideoFormat& format : webrtc::SupportedH264Codecs())

supported_codecs.push_back(format);

return supported_codecs;
}
改为:
std::vector<SdpVideoFormat> InternalEncoderFactory::GetSupportedFormats()

const {

std::vector<SdpVideoFormat> supported_codecs;
for (const webrtc::SdpVideoFormat& format : webrtc::SupportedH264Codecs()) supported_codecs.push_back(SdpVideoFormat(cricket::kVp8CodecName));
for (const webrtc::SdpVideoFormat& format : webrtc::SupportedVP9Codecs())

supported_codecs.push_back(format);
supported_codecs.push_back(format);

return supported_codecs;
}
至此,H264优先级调整完毕。运行peerconnection_server.exe和peerconnection_client.exe便可以开始视频通话。

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看