Window11编译linphone-sdk QT5.15 在QML中进行视频通话

因为根据官方的文档QT如果需要进行视频通话,所用的SDK需要开启MSQOGL这个过滤器,但官方所给的现成的SDK并没有开启这个,所以需要我们手动去编译开启这个过滤器

使用的linphone-sdk是官网最新版

指令输入还是得加个  --recursive要不然下不全

git clone BC / public / linphone-sdk · GitLab --recursive

具体进行编译前需要的软件在readMe里有,或者参考文章编译linphone-desktop git 最新版本 2024-05-12-CSDN博客

本质上desktop和sdk编译时需要的环境一样    (这大哥写的很完整)

编译

//先创建一个build文件夹   和linphone-sdk 同级目录下
mkdir build 

//进入build目录
cd build 

编译之前我们找到sdk里的 mediastreamer2,打开CMakeLists.txt

搜索option(ENABLE_QT_GL "Enable Qt OpenGL rendering support." OFF)

这里直接改成ON好像成功不了

所以在下面加一行set(ENABLE_QT_GL ON)   一定能开启

接下来就可以开始编译了,编译有这些模块选项(根据需求自行抉择)

ENABLE_OPENH264 
ENABLE_HW_SANITIZER
ENABLE_UNIT_TESTS 
ENABLE_WINDOWS_TOOLS_CHECK 
ENABLE_AMRNB not defined
ENABLE_AMRWB not defined
ENABLE_G729 not defined
ENABLE_G729B_CNG 
ENABLE_WASAPI 
ENABLE_AV1 
ENABLE_FFMPEG 
ENABLE_H263 
ENABLE_H263P 
ENABLE_MPEG4 
ENABLE_JPEG 
ENABLE_LIBYUV 
ENABLE_OPENH264
ENABLE_EMBEDDED_OPENH264 
ENABLE_QRCODE 
ENABLE_V4L 
ENABLE_VPX
ENABLE_MSWINRTVIDEO 
ENABLE_DNS_SERVICE 
ENABLE_MICROSOFT_STORE_APP
ENABLE_EKT_SERVER_PLUGIN 
ENABLE_LIME_X3DH
ENABLE_OPENSSL
ENABLE_PQCRYPTO 
ENABLE_ZRTP
ENABLE_GOCLEAR
ENABLE_SWIFT_WRAPPER_COMPILATION 
ENABLE_SWIFT_DOC 
ENABLE_AAUDIO 
ENABLE_OBOE 
ENABLE_CAMERA2 

要开启哪个模块就在cmake 命令最后加上  (如果开h264的话)   -DENABLE_OPENH264=ON 

比如你要开启h264模块,且路径sdk的路径为 ../linphone-sdk 

则编译输入以下命令   (打开控制台输入)

 格式如下:

cmake ../linphone-sdk -DENABLE_OPENH264=ON

如果一切顺利,会在build文件夹生成sln文件,

我使用的vs2019进行编译

我们打开对应的sln会出现以下选项

先进行build 完成后再进行 install 如果顺利的话就会在build目录下的Linphone-sdk/desktop生成

直接扔到qt对应的目录,再进行引用就能使用了。

对于MSQOGL的实现致使第一步,接下来要进行代码的实现

具体参考qml show video help · Issue #827 · BelledonneCommunications/linphone-desktop (github.com)

编译过程的问题

R:\linphoneNew\5.3\linphone-sdk\liblinphone\tester\message_tester.c(2854,1): error C2220: 以下警告被视为错误 [R:\linphoneNew\5.3 \linphoneAgainCmake\liblinphone\tester\liblinphone-tester.vcxproj] R:\linphoneNew\5.3\linphone-sdk\liblinphone\tester\message_tester.c(2854,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将 该文件保存为 Unicode 格式以防止数据丢失

我每次调整为unicode 再关进去还是不行,最后是更改windows上的语言格式才能完成

步骤如下

设置打开 时间和语言   管理语言设备

勾起了进行编译就能完成了

在vs2019构建的过程中会出现copy失败的情况

在build路径下的linphone-sdk/desktop会出现 编译过程文件丢失的情况,我们需要根据编译过程中的错误日志去手动创建丢失的文件夹 。 或者像我一样直接创个空的desktop每次编译前先放到要编译的文件夹里, bin是空文件夹

iOS引入linphone-sdk可以通过以下步骤: 1. 下载linphone-sdk:可以从linphone官方网站下载最新的linphone-sdk的压缩包。 2. 解压压缩包:将下载的linphone-sdk压缩包解压到目标文件夹。 3. 创建新的Xcode工程:使用Xcode创建一个新的iOS工程。 4. 导入linphone-sdk到工程:在Xcode的工程导航栏右键点击“Frameworks”文件夹,选择“Add Files to 'Your project name'”选项,然后导航到刚才解压的linphone-sdk文件夹,选择liblinphone.xcodeproj文件,点击“Add”按钮。 5. 添加依赖库:点击Xcode的工程导航栏,选择你的项目的target,在General选项卡,找到“Linked Frameworks and Libraries”部分,点击“+”按钮,选择添加以下依赖库: - libiconv.tbd - libz.tbd - libsqlite3.0.tbd - AudioToolbox.framework - AVFoundation.framework - CoreAudio.framework - CoreVideo.framework - CoreGraphics.framework - CoreMedia.framework - VideoToolbox.framework - UIKit.framework - Foundation.framework - CFNetwork.framework - Security.framework - SystemConfiguration.framework 6. 配置Build Settings:点击Xcode的工程导航栏,选择你的项目的target,在Build Settings选项卡,找到“Header Search Paths”部分,添加linphone-sdk的头文件路径。 7. 配置Build Phases:点击Xcode的工程导航栏,选择你的项目的target,在Build Phases选项卡,展开“Target Dependencies”部分,点击“+”按钮,选择添加liblinphone iOS库。 8. 添加代码:在需要使用linphone-sdk的地方,引入头文件并编写相应的代码,如初始化linphone对象,注册账号等。 以上就是在iOS引入linphone-sdk的一般步骤。根据具体情况可能会有一些特殊步骤或配置。了解linphone-sdk的文档和示例代码将有助于更深入地了解如何使用该SDK
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值