需要的环境及资源:
1.pjproject-2.6源码
2.VS2015
3.SDL
编译过程:
1.首先使用VS2015打开源码,开启视频支持,如下:
(1)修改pjmedia\include\pjmedia\config.h文件:
修改PJMEDIA_HAS_VIDEO的值为1, 修改PJMEDIA_HAS_FFMPEG的值为1
#ifndef PJMEDIA_HAS_VIDEO
# define PJMEDIA_HAS_VIDEO 1
#endif
#ifndef PJMEDIA_HAS_FFMPEG
# define PJMEDIA_HAS_FFMPEG 1
#endif
(2)修改pjmedia\include\pjmedia-videodev\config.h文件
如果在windows平台,打开PJMEDIA_VIDEO_DEV_HAS_DSHOW即可,也就是DirectShow的支持。
需要安装DirectX,并且更新windows platform sdk。
如果在linux平台,打开PJMEDIA_VIDEO_DEV_HAS_V4L2即可,也就是video for linux 2的支持
#ifndef PJMEDIA_VIDEO_DEV_HAS_SDL
# define PJMEDIA_VIDEO_DEV_HAS_SDL 1
# define PJMEDIA_VIDEO_DEV_SDL_HAS_OPENGL 0
#endif
#ifndef PJMEDIA_VIDEO_DEV_HAS_QT
# define PJMEDIA_VIDEO_DEV_HAS_QT 0
#endif
#ifndef PJMEDIA_VIDEO_DEV_HAS_IOS
# define PJMEDIA_VIDEO_DEV_HAS_IOS 0
#endif
#ifndef PJMEDIA_VIDEO_DEV_HAS_DSHOW
# define PJMEDIA_VIDEO_DEV_HAS_DSHOW 1
#endif
#ifndef PJMEDIA_VIDEO_DEV_HAS_CBAR_SRC
# define PJMEDIA_VIDEO_DEV_HAS_CBAR_SRC 0
#endif
#ifndef PJMEDIA_VIDEO_DEV_HAS_FFMPEG
# define PJMEDIA_VIDEO_DEV_HAS_FFMPEG 0
#endif
#ifndef PJMEDIA_VIDEO_DEV_HAS_V4L2
# define PJMEDIA_VIDEO_DEV_HAS_V4L2 0
#endif
2.下载SDL(至少需要1.3版本)
下载地址:https://download.csdn.net/download/qq_34572638/11643722
编译生成SDL.lib、SDL.dll, 将SDL.lib拷贝到pjsip工程的lib目录下,SDL.dll拷贝到pjsip工程中的pjmedia\bin目录下,SDL的include中的文件拷贝到pjsip工程中的third_party\SDL目录下(SDL文件夹自己创建的);将SDL配置到pjmedia_test、pjsua项目属性中。
3.其他文件的下载
工程中还需要用到如下的库文件:avcodec.lib、avformat.lib、avutil.lib、swscale.lib、avcodec-55.dll、avformat-55.dll、avutil-52.dll、swscale-2.dll,将静态库文件放到pjsip的lib目录下,将动态库文件放到pjsip的pjmedia\bin目录下
开始编译,编译完成后,运行pjmedia\bin目录下的pjmedia-test-i386-Win32-vc14-Debug.exe,就可以看到自己电脑摄像头的画面了。
运行pjsip-apps\bin目录下的pjsua-i386-Win32-vc14-Debug.exe,为了在通话中使用视频,需要在pjsua的命令行中做以下设置:
vid enable ; 打开视频
vid acc autotx on ; 即使打开了视频,默认视频也不会自动开始传输。要修改该设置
vid acc autorx on ; 即使接收到了视频,默认也不会播放,要修改该设置
然后使用m命令进行呼叫,对方应答后就建立通讯了,这时对方需要设置如下 vid call tx on 1 ; 打开视频发送,就可以看到对方的传输过来的视频了
其他视频参数设置
vid codec size H264 320 240 ; H.264的分辨率设置成320*240
vid codec fps H264 5 1 ; H.264的帧率设置成5
vid codec bw H264 100 100 ; H.264的平均和最大码率都设置成100
vid dev prev on -1 ; 打开采集的设备的预览窗口
vid call tx off 1 ; 关闭视频发送
pjsip工程下载地址:https://download.csdn.net/download/qq_34572638/11644412