AWS KVS(Kinesis Video Streams)之WebRTC集成过程报错问题整理(七)

本文档记录了在君正T31X平台上,针对WebRTC相关依赖库及kvsWebrtcClientMaster测试用例的编译过程。遇到的主要问题包括:OpenSSL接口调用引发的‘Floatingpointexception’错误,通过重新编译openssl解决;libwebsockets中缺少变量定义导致的错误,重新编译libwebsockets并替换openssl动态库;以及由于时区问题导致的运行异常,调整设备时间至美国时区后问题解决。这些步骤对于理解和调试WebRTC在嵌入式设备上的应用具有参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在前面我已经将君正T31X平台的WebRTC相关的依赖库编译完成,且现在将kvsWebrtcClientMaster测试用例也需要编译出来,在Camera中运行,验证依赖库的正确性。

根据自己编写的CMakeLists.txt,编译成功后,在camera上执行:

(1)将依赖的动态库和程序放在SD卡;

(2)设置编辑变量的值

export AWS_ACCESS_KEY_ID=XX
export AWS_SECRET_ACCESS_KEY=XX
export DEBUG_LOG_SDP=debug
export AWS_KVS_LOG_LEVEL=2
export AWS_KVS_CACERT_PATH=XX
export LD_LIBRARY_PATH=XX    

(3)执行  ./kvsWebrtcClientMaster   channelName

1、报错问题 "Floating point exception" 

报错位置:是initKvsWebRtc接口中调用的 KVS_CRYPTO_INIT();

#define KVS_CRYPTO_INIT()                                                                                                                            \

    do {                                                                                                                                                                \

        OpenSSL_add_ssl_algorithms();                                                                                                                \

        SSL_load_error_strings();                                                                                                                          \

        SSL_library_init();                                                                                                                                       \

} while (0)

主要是调用Openssl中的接口问题,需要重新编译openssl(目前使用openssl1.1.1g)

2、报错如下

解决办法:根据提示的错误信息,找到源码,查看源码后,发现一个变量需要定义(DLWS_HAVE_X509_VERIFY_PARAM_set1_host)重新编译libwebsockets,替换掉openssl的动态库等;

3、系统时间原因

因为嵌入式设备是北京时间,在该君正T31X平台产品上运行该sample后,发现了如下信息:

将日志信息输出后,发现因为时间问题导致,因此我们将设备的时间修改为美国时区的时间,再一次运行没有问题;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值