我正在尝试使用pjsip进行视频通话。我为此使用vialerSipLib演示应用程序。
这是我正在尝试的方案。
从电话A呼叫到电话B。音频可用于呼入和呼出电话。但是问题是,视频正在phoneB(ReceiverSide)上运行,但是我无法在phoneA(CallerSide)上获取视频。这是我的视频通话帐户配置。
我正在使用编解码器H264进行视频通话。
acc_cfg.vid_in_auto_show = PJ_TRUE;
acc_cfg.vid_out_auto_transmit = PJ_TRUE;
acc_cfg.vid_wnd_flags = PJMEDIA_VID_DEV_WND_BORDER | PJMEDIA_VID_DEV_WND_RESIZABLE;
acc_cfg.vid_cap_dev = PJMEDIA_VID_DEFAULT_CAPTURE_DEV;
acc_cfg.vid_rend_dev = PJMEDIA_VID_DEFAULT_RENDER_DEV;
acc_cfg.reg_retry_interval = 300;
acc_cfg.reg_first_retry_interval = 30;
这是我如何使用Callid获取视频窗口的方法。出现一个黑色的窗口。还是有什么方法可以检查ci.media数组是否有有效的视频?
- (void) displayWindowWithVoid: (UIView *) parent call:(VSLCall *)call {
int vid_idx;
pjsua_vid_win_id wid;
vid_idx = pjsua_call_get_vid_stream_idx((int)call.callId);
if (vid_idx >= 0) {
pjsua_call_info ci;
pjsua_call_get_info((int)call.callId, &ci);
wid = ci.media[vid_idx].stream.vid.win_in;
ci.setting.vid_cnt = 1;
pjsua_vid_win_info wi;
if (pjsua_vid_win_get_info(wid, &wi) == PJ_SUCCESS) {
pjsua_vid_win_set_show(wid, true);
UIView *view = (__bridge UIView *)wi.hwnd.info.ios.window;
[parent addSubview:view];
}
} }
如果有人可以告诉我一位客户进行视频通话,那么我可以测试其行为。它是应用程序端还是服务器端的问题。任何帮助或建议将不胜感激。
答案 0 :(得分:0)
我知道了。发布此答案,因为这可能对其他任何人都有帮助,并且可以节省很多时间。
您必须更改视频格式
Dataset[Metric]
服务器支持可能会帮助您的确切格式。 如果您需要更多帮助。请让我知道