参考地址:
1、https://www.cnblogs.com/cner/p/8126453.html
2、https://www.cnblogs.com/chaoyazhisi/p/6143734.html
先去官网下载最新的源码包,我用的版本是pjproject-2.8 ( https://www.pjsip.org/download.htm)。
将源代码解压后,在路径:pjproject-2.8\pjlib\include\pj 中创建新文件config_site.h,内容如下:
#ifndef __CONFIG_SITE_H__
#define __CONFIG_SITE_H__
#define PJMEDIA_HAS_VIDEO 1
#define PJMEDIA_HAS_OPENH264_CODEC 1
#define PJMEDIA_HAS_LIBYUV 1
#define PJMEDIA_VIDEO_DEV_HAS_SDL 1
#define PJMEDIA_VIDEO_DEV_HAS_DSHOW 1
#define PJMEDIA_HAS_FFMPEG 1
#endif
去ffmpeg的一个编译站点https://ffmpeg.zeranoe.com/builds/ 下载最新的开发版本,我下载的是3.4.2( ffmpeg-3.4.2-win32-dev ) 。
将它解压到pjproject-2.8下,ffmpeg的include拷贝到pjproject-2.8/include/ffmpeg下。lib目录应该是在
去SDL官网https://www.libsdl.org/download-2.0.php下载SDL的编译版本,我下载的是2.0.9(SDL2-devel-2.0.9-VC ) 。
将它解压到pjproject-2.8下,SDL的include和lib目录应该是在pjproject-2.8/SDL2-devel-2.0.9-VC下。
去OpenH264官网下载源码,具体编译方法请参考另一帖《Windows下用VS2015+MSYS编译OpenH264》。
将源码解压,按照帖子里的方法去编译即可。编译完成后,openh264.lib的路径是在pjproject-2.8/openh264-master下。
MSYS2补充
MSYS2下载地址:http://www.msys2.org/ (msys2-i686-xxx.exe)
环境变量(系统变量 选择path):追加 C:\msys32\usr\bin\;
执行安装make: pacman -S make
头文件
pjproject-2.8\pjmedia\include 下新增 wels文件夹,拷贝 OpenH264”openh264-master\codec\api\svc“头文件
编译之前
打开pjproject-vs14.sln的解决方案。
对项目 pjmedia_videodev 的 VC++目录 -> 包含目录 添加 ;$(MSBuildStartupDirectory)\include\sdl;
对项目 pjmedia_videodev 的 VC++目录 -> 库目录 添加 ;$(MSBuildStartupDirectory)\lib;
对项目 pjmedia 的 VC++目录 -> 包含目录 添加 ;$(MSBuildStartupDirectory)\include\ffmpeg;
对项目 pjmedia 的 VC++目录 -> 库目录 添加 ;$(MSBuildStartupDirectory)\lib;
对项目 pjmedia_codec 的 VC++目录 -> 包含目录 添加 ;$(MSBuildStartupDirectory)\include\ffmpeg;
对项目 pjmedia_codec 的 VC++目录 -> 库目录 添加 ;$(MSBuildStartupDirectory)\lib;
编译
编译libpjproject即可,可修改生成为动态库dll文件。