经过几天折腾终于把视频通信搞定了,中间走了很多弯路,其实很简单,原本一天就可以搞定的。
这篇主要记录中间遇到的坑,全是精华。
我主要是使用C++接口,调用Native API,没有使用Peerconnection功能,我所调用的接口,都在src/webrtc/video_engine目录下。
首先在上一篇编译完成以后,把库和头文件都加进来,头文件需要什么就加什么
我主要用到了以下接口:
#import "vie_base.h"
#import "vie_capture.h"
#import "vie_codec.h"
#import "vie_errors.h"
#import "vie_network.h"
#import "vie_render.h"
#import "vie_rtp_rtcp.h"
#import "vie_channel.h"
主要的代码部分如下:
- (void)startVideoEngine
{
_vieEngine = webrtc::VideoEngine::Create();
_vieBase = webrtc::ViEBase::GetInterface(_vieEngine);
_vieCapture = webrtc::ViECapture::GetInterface(_vieEngine);
_vieRender = webrtc::ViERender::GetInterface(_vieEngine);
_vieCodec = webrtc::ViECodec::GetInterface(_vieEngine);
_vieNetwork = webrtc::ViENetwork::GetInterface(_vieEngine);
_vieRtpRtcp = webrtc::ViERTP_RTCP::GetInterface(_vieEngine);
_vieEngine->SetTraceFilter(webrtc::kTraceAll);