宁波那家公司做网站好,中企动力科技股份有限公司招聘,中国做的电脑系统下载网站,如何经营自己的网站若该文为原创文章#xff0c;转载请注明原文出处。
编译Zlmediakit的主要目的是想实现在RK3568拉取多路RTPS流#xff0c;并通过MPP硬解码#xff0c;DRM显示出来。为了实现拉取多路流选择了Zlmediakit,使用FFMEPG也可以#xff0c;在RV1126上已经验证了可行性。
一、环境…若该文为原创文章转载请注明原文出处。
编译Zlmediakit的主要目的是想实现在RK3568拉取多路RTPS流并通过MPP硬解码DRM显示出来。为了实现拉取多路流选择了Zlmediakit,使用FFMEPG也可以在RV1126上已经验证了可行性。
一、环境
1、移植平台rk3568
2、开发板:ATK-RK3568正点原子板子
3、环境buildroot
使用的是正点原子团队提供的虚拟机通过了解没有提供ubuntu固件所以增加了难度。
二、介绍
ZLMediaKit是一套高性能的流媒体服务框架目前支持rtmp、rtsp、hls、http-flv等流媒体协议支持linux、macos、windows三大PC平台和ios、android两大移动端平台。
类似于live555的工具可以用来实现rtsp服务器的功能且提供c 版本的api使用起来十分简单很容易上手。
进行交叉编译需要修改两个地方一个是指定编译工具链还有一个是指定已经交叉编译过的openssl库。
三、编译libssl
tar zfvx openssl-1.1-fit.tar.gz
cd openssl-1.1-fit
export CC/opt/atk-dlrk356x-toolchain/usr/bin/aarch64-buildroot-linux-gnu-gcc./Configure linux-generic32 --prefix/home/alientek/Download/openssl-1.1-fit/arm_libsslmake -j2
make install
进入arm_libssl目录拷贝编译后的库的到工具链下
cd /home/alientek/Download/openssl-1.1-fit/arm_libsslcp lib* /opt/atk-dlrk356x-toolchain/lib
四、Zlmediakit编译
1、下载
#国内用户推荐从同步镜像网站gitee下载 git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit cd ZLMediaKit#千万不要忘记执行这句命令 git submodule update --init
2、创建cmake编译文件
在命令行执行以下命令CMAKE_SYSTEM_NAME设置系统平台CMAKE_SYSTEM_PROCESSOR设置处理器架构为aarch64CMAKE_STAGING_PREFIX为安装路径CMAKE_C_COMPILER设置gcc工具链位置CMAKE_CXX_COMPILER设置g工具链的位置。cat /tmp/toolchain.cmake查看是否写入。
cat /tmp/toolchain.cmake EOT
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_PROCESSOR aarch64)
set(CMAKE_STAGING_PREFIX /home/alientek/Download/ZLMediaKit/ZLinstall)
set(CMAKE_C_COMPILER /opt/atk-dlrk356x-toolchain/usr/bin/aarch64-buildroot-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER /opt/atk-dlrk356x-toolchain/usr/bin/aarch64-buildroot-linux-gnu-g)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
EOT
3、cmake配置
mkdir build_arm
cd build_armcmake -DCMAKE_TOOLCHAIN_FILE/tmp/toolchain.cmake -DCMAKE_INSTALL_PREFIX/opt/atk-dlrk356x-toolchain/lib -DOPENSSL_ROOT_DIR/opt/atk-dlrk356x-toolchain -DCMAKE_INSTALL_PREFIX/home/alientek/Download/ZLMediaKit/ZLinstall ..
4、编译安装
编译
make 安装
make install 生成完后的ZLinstall目录文件如下: 五、测试
在板子上运行
因为是静态库编译的只需把MediaServer这个bin文件拷贝到板子上即可。
在板子上运行MediaServer运行出错原因是已经被绑定了但説明交叉编译正常。 至此Zlmediakit编译完成为实现类似NVR功能做铺垫。
在RK3568的SDK里在rknpu2里也有编译好的libmk_api.so文件可以直接使用 参考资料感谢大佬
参考ARM平台移植ZLMediaKit_zlmediakit arm64-CSDN博客
移植ZLMediaKit 工具到 Hi3516DV500 平台专栏易百纳技术社区 (ebaina.com) 如有侵权或需要完整代码请及时联系博主。