win10 x64 VS2017 PJSIP 视频通话编译流程

1. 下载PJSIP源码

PJSIP源码下载地址:https://www.pjsip.org/

2. 阅读一遍官方的文档

文档地址:https://trac.pjsip.org/repos/wiki/Getting-Started

本文以Win10 + VS2017 为例

官方文档最好还是先读一遍。

3. 下载SDL

SDL 官方地址:https://www.libsdl.org/download-2.0.php

下载如下图版本

我们需要的是下载后得到的 SDL2-devel-2.0.10-VC\SDL2-2.0.10\lib\x64 目录下的文件
如下图:

4. 下载ffmpeg

下载地址:https://ffmpeg.zeranoe.com/builds/

这里需要下载两个版本

注意: Dev 是编译需要用到里面的 lib 文件
Shared 目前理解为运行时需要用到的dll

5. 安装Windows SDK

下载地址:https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk

6. VS2017 打开PJSIP

因为PJSIP官网提供的是VS2015的版本,如果用VS2017打开需要升级平台工具集 v140 到 v141

升级步骤参考此处:https://blog.csdn.net/qq_38265674/article/details/80539228

7. 配置PJSIP 编译环境

7.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
7.2 编译前配置ffmpeg 和 SDL

将下载的DEV 版本的ffmpeg 的所有lib文件放入 .\pjproject-2.9\lib 目录下,注意你是x86还是x64

将下载的SDL 所有lib 文件也放入此目录下,有文章说只放sdl2.lib 但是我试了一致编译不通过,放所有的lib就可以编译通过

在.\pjproject-2.9 新建 include 文件夹

并在include 新建文件夹 ffmpeg 和sdl

将下载的DEV 版本的ffmpeg 的 .\ffmpeg-4.2-win64-dev\include 下所有的文件拷贝到新建的\include\ffmpeg 目录

将下载的 SDL 的.\SDL2-devel-2.0.10-VC\SDL2-2.0.10\include 下所有的文件拷贝到新建的 \include\sdl 目录下

7.3 配置编译环境

对相应的项目右键属性进行如下配置

对项目 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;

注意: 确保 你安装的windows SDK 版本是你编译时选择的版本。编译时需要修改pjproject-2.9\pjmedia\src\pjmedia-codec\ffmpeg_vid_codecs.c 1713行 FF_INPUT_BUFFER_PADDING_SIZE 为 AV_INPUT_BUFFER_PADDING_SIZE

7.4 设置PJSUA 为启动项进行编译

注意你选则的编译平台,我选择的都是x64 的

编译成功后,生成的文件在 .\pjproject-2.9\pjsip-apps\bin\pjsua-x86_64-x64-vc14-Debug.exe

如果此时直接双击运行则会报错,缺少 *.dll

所以需要将之前下载的 ffmpeg shared 版本下的 .\ffmpeg-20190826-0821bc4-win64-shared\bin\下的所有 dll 拷贝的生成的 .\pjproject-2.9\pjsip-apps\bin\路径下

同样对于SDL 也需要将下载的 sdl2.dll 拷贝到 .\pjproject-2.9\pjsip-apps\bin\路径下 路径下

这样在运行时应该不会报错

运行截图

8. 使用编译后的pjsua进行视频通话

视频通话前需要开启视频设置

vid enable ; 打开视频
vid acc autotx on ; 即使打开了视频,默认视频也不会自动开始传输。要修改该设置
vid acc autorx on ; 即使接收到了视频,默认也不会播放,要修改该设置

这之前在进行呼叫前设置

在命令行输入 m 进行呼叫

在命令行继续输入 sip:192.168.19.73 呼叫另一台电脑

两个运行的pjsua 都需要进行上面的开启视频设置

接收方的电脑需要 先输入 a 进行接收通话,回车后输入 200 建立通话

此时双方通信只有音频,需要开启视频的传送

vid call tx on 1 ; 打开视频发送

双方都要设置,这样才能进行视频发送

显示预览窗框使用

vid dev prev on -1 ; 打开采集的设备的预览窗口

到此大功告成,可以愉快的与自己进行视频通话了,哈哈哈哈!!!

参考网址

pjsip win32启用视频通话

Win10环境下使用VS2015编译PJProject

解决Visual Studio(2017)软件无法重新生成问题

Getting Started: Building and Using PJSIP and PJMEDIA

转载于:https://www.cnblogs.com/GYY2046/p/11455747.html

win10 x64 VS2017 PJSIP 视频通话编译流程相关推荐

  1. 科大讯飞 语音识别 VB WIN10 X64 VS2017

    若使用C# ,请用CS转VBConverter 工具转换 Imports System.Runtime.InteropServices Imports System.IO #Const _Debug ...

  2. Win10使用VS2017安装Caffe详细总结

    本文链接 https://blog.csdn.net/fengtaoO08/article/details/83023428 1 前言   本文将在Win10系统上安装和配置caffe.与网络上大多数 ...

  3. 跑yolo3模型出的效果图_【目标检测实战】Darknet入门—yolov3模型训练(Win10下的安装、编译、实现)...

    效果图 简介 Yolo,是实时物体检测的算法系统,基于Darknet-一个用C和CUDA编写的开源神经网络框架.它快速,易于安装,并支持CPU和GPU计算,也是yolo的底层.本文主要介绍在win10 ...

  4. mqtt linux 编译,MQTT客户端代码X64位Ubuntu环境编译+测试实践小结

    https://cloud.baidu.com/doc/IOT/IoTdownload.html#.E4.B8.8B.E8.BD.BDMQTT.E7.9B.B8.E5.85.B3 下载MQTT相关: ...

  5. 理解 C# 项目 csproj 文件格式的本质和编译流程

    写了这么多个 C# 项目,是否对项目文件 csproj 有一些了解呢?Visual Studio 是怎么让 csproj 中的内容正确显示出来的呢?更深入的,我能够自己扩展 csproj 的功能吗? ...

  6. OpenCV学习笔记(一):Win10(x64)+Qt5.8(MSVC2013)+OpenCV3.1.0配置过程

    OpenCV学习笔记(一):Win10(x64)+Qt5.8(MSVC2013)+OpenCV3.1.0配置过程 Win10(x64)+Qt5.8(MSVC2013)+OpenCV3.1.0配置过程 ...

  7. win10及VS2017安装配置mpich2

    本文主要内容: 下载/安装 MPICH2 win10及VS2017下MPICH2环境配置 一.下载/安装 MPIVH2 1.下载MPI,网址为:http://www.mpich.org/ ,选择win ...

  8. PCL1.8.0+VS2013+Win10 x64的配置教程

    文章目录 前言 一配置环境 二 准备工作 三 安装 四 环境变量 五 项目配置 六 工程测试 七 结语 前言    本文首发于微信公众号「3D视觉工坊」.    本篇文章主要介绍一下PCL库的配置过程 ...

  9. C 语言编程 — 程序的编译流程

    目录 文章目录 目录 文章目录 C 程序的编译流程 预处理 编译 汇编 链接 编译多个源文件 文章目录 <C 语言编程 - GCC 工具链> <C 语言编程 - 程序的编译流程> ...

最新文章

  1. 开关电源输出整流二极管
  2. 跨专业选修C语言看什么书,跨专业考研如何选择?!!!!!
  3. hdu 2046 骨牌铺方格 递推求解
  4. EDAS微服务应用同城容灾最佳实践
  5. I00029 C语言程序-打印九九乘法表
  6. html 圆球的百分比,HTML5 很酷的球形器皿中水波状的进度条
  7. flask中的session对象方法
  8. webstormjs文件全部报错_springboot启动报错org.yaml.snakeyaml.error.YAMLException...
  9. 常用脚本语言Perl,Python,Ruby,Javascript一 Perl,Python,Ruby,Javascript
  10. iOS端Mock GPS定位 —— 测试、开发、玩游戏、发朋友圈等等,你都用得上(转)
  11. ssdp协议 upnp_SSDP协议编程 upnp设备查找方法
  12. word文档,中文输入模式下打出英文标点原因(微软拼音输入法为例)
  13. php中的,理解php中的print EOT
  14. No1.初来乍到,请多指教
  15. 风决定要走,云如何挽留!程序员朋友离职有感
  16. 【回忆杀】2012年拥有第一台电脑【致逝去的青春】
  17. 4种 LBS “附近的人” 实现方案,人人都能看的懂
  18. html跑马灯编程,求一个HTML无缝的跑马灯代码。
  19. 做人,该善良时就善良,该勇敢时就要有勇气去对应
  20. 输入两个整数n和m,从1-n中随意取几个数,使其和等于m

热门文章

  1. nmf算法 python_Python-Sciki中的NMF聚类方法
  2. 如何从ST官网获得标准库文件?
  3. 【前端面试知识题】- 2. 浏览器
  4. 迁移学习:数据不足时如何深度学习
  5. 尚硅谷2020最新版宋红康JVM教程更新至中篇(java虚拟机详解,jvm从入门到精通)
  6. 打印出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。
  7. 把K线的时间增加15分钟
  8. “老公,我穿这衣服好看吗”终于破解了
  9. 判别分析原理及R语言实现
  10. 连续型随机变量的概率分布