如何在不打开任何摄像头和显示设备的情况下以空视频运行pjsua并将传入的视频记录到文件中?

问题描述 投票:0回答:1

我需要运行 pjsua 应用程序进行视频通话,并且需要执行以下操作

  1. 播放文件中的视频以进行传输。
  2. 将接收到的视频录制到文件中。
  3. 不应尝试打开任何摄像头或显示设备。

出现上述限制的原因是因为pjsua应用程序将在自动化测试环境中使用。

我可以找到如何播放文件中的视频。也就是说,向 pjsua 提供命令行选项 --play-avi=

任何人都可以提供有关第 2 点和第 3 点的帮助吗?我是否需要创建空视频功能,因为有 --null-audio 选项?在这种情况下,是否有创建此类设备的指南?

pjsip
1个回答
0
投票

您必须创建自己的“设备”并在 pjmedia 中注册它,如下所示:

pjmedia_vid_subsys *vid_subsys = pjmedia_get_vid_subsys();
vid_subsys->drv[vid_subsys->drv_cnt++].create = &pjmedia_cbar_factory;
pj_status_t status = pjmedia_vid_driver_init(vid_subsys->drv_cnt-1, PJ_FALSE);
if (status != PJ_SUCCESS) {
    ...
}

作为此类“设备”的示例,您可以使用 PJSIP 来源的颜色条生成器(链接)。使用

pjmedia_vid_dev_stream_op
结构为您想要在“设备”中支持的操作提供回调。

祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.