PJSIP进行视频通话时,视频插件有多个版本,这里只介绍两种
版本一:FFMPEG,只支持win10以上系统
版本二:libyuv and OpenH264 组合在一起,至此win7系统
上面两个版本在进行视频通话时都需要用到的插件是SDL 进行视频渲染
自己通过opensip部署一个sip服务器,以前我文章里写过,自己找一下怎么部署
版本一: 使用FFMPEG
1.下载pjgsip源码:
PJSIP - Open Source SIP, Media, and NAT Traversal Library
2.下载sdl插件:
Release 3.2.4 · libsdl-org/SDL · GitHub
找到SDL2.0版本
使用这一版解压之后如图
3.下载ffmpge:
下载之后解压如图:
4.开始构建项目:根据pjsip文档:
用vs打开项目
可以全部生成解决方案
或者需要单一用哪个项目的话也可以对某个项目单一生成:

5.配置Pjsip编译环境:
参考文档:win10 x64 VS2017 PJSIP 视频通话编译流程 - GYY_顽石 - 博客园
5.1:配置config_site.h
pj配置,新建空白的config_site.h
路径为:.\pjlib\include\pj\config_site.h
内容如下:
#define PJMEDIA_HAS_VIDEO 1
#define PJMEDIA_VIDEO_DEV_HAS_SDL 1
#define PJMEDIA_VIDEO_DEV_HAS_DSHOW 1
#define PJMEDIA_HAS_FFMPEG 1
直接复制到config_site.h文件里面即可,如图所示:
用的视频组件不一样,里面的内容配置不一样,请注意
5.2 编译前配置ffmpeg 和 SDL
将下载的ffmpeg 的所有lib文件放入 .\pjproject-2.9\lib\ 目录下,注意你是x86还是x64,只放后缀为.lib文件即可
将下载的SDL 所有lib 文件也放入此目录下,有文章说只放sdl2.lib 但是我试了一致编译不通过,放所有的lib就可以编译通过
在.\pjproject-2.9\ 新建 include 文件夹
并在include 新建文件夹 ffmpeg 和sdl
将下载的DEV 版本的ffmpeg 的 .\ffmpeg-4.2-win64-de