系列文章目录
海思3518ev200学习记录(1)- 根据用户手册烧录系统镜像
海思3518ev200学习记录(2) - 交叉编译官方webRTC
海思3518ev200学习记录(3) - 编译 amazon-kinesis webrtc嵌入式实现
海思3518ev200学习记录(4) - 基于海思源码分段录制音频文件
前言
相信上一篇给不了你想要的答案,本期内容应该能给你想要的。因为上一期的东西我也没有弄明白,最起码本期东西我能跑通了准备
废话就不说了,本期采用的不是老谷官方的 而是Amazon Kinesis Video Streams C WebRTC SDK ,反正有前辈踩过坑,总比我们自己再踩一遍强,虽然还是会遇到很多坑。
先拉代码吧
git clone --recursive https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c.git
更改srtp的CMakeLists,不生成测试文件(虽然前辈说编译器可能会不认,所以也就别再踩坑了)
开始
代码也拉取了,坑也避开了,那么准备检查一下环境吧,这里指明一点,我的开发版是ev200,但是我拿到的环境是v300的经过测试,貌似没啥问题。arm-hisiv300-linux-gcc -v
arm-hisiv300-linux-g++ -v
开始编译
export CC=arm-hisiv300-linux-gcc CXX=arm-hisiv300-linux-g++
mkdir build && cd build
cmake .. -DBUILD_SAMPLE=FALSE -DBUILD_STATIC_LIBS=TRUE -DBUILD_OPENSSL=TRUE -DBUILD_OPENSSL_PLATFORM=linux-generic32 -DBUILD_LIBSRTP_HOST_PLATFORM=x86_64-unknown-linux-gnu -DBUILD_LIBSRTP_DESTINATION_PLATFORM=arm-unknown-linux-uclibcgnueabi
恩,此处编译需要科学上网,不然会出现各种问题,文件有点大,可能需要一点时间。
…
如果你网速快的话大概十几分钟即可,要是网速不行,那就不晓得要等到什么时候了
make
编译
make DESTDIR=/hmoe/swann/code/install install
下载vscode
自行下载安装
在你需要存储的目录下新建文件夹并用vscode 打开该文件夹,并安装C++插件
然后把上面生成的文件拷贝带项目目录
好了现在我们再看一下文件夹
根据前辈的方法还有文件需要下载,请微❤搜一搜 dasha500
回复 webrtc
获取源码;最终源码结构
对源码进行编译make
,可以看到编译报错了,我们需要对Makefile进行修改,方框圈起来的地方加到Makefile 看清楚说的是or 就是两种方案都行。
有声明变量的地方,直接赋值即可
再次编译,再次报错,搜索jsoncpp.cc 文件中#define snprintf std::snprintf
注释掉 //#define snprintf std::snprintf
分别注释掉 210,3644,
再次编译成功,放到开发板上运行吧
结束
参考:需要请移步,感谢大神,虽然中间踩了很多坑,但是最起码实现了我想要的效果。