- live555下载
- 1:下载live555源码
- 出现错误include/TLSState.hh:34:25 fatal error: openssl/ssl.h: No such file or directory
- 解决:加入-DNO_OPENSSL=1(方法不可行)
- 下载OpenSSL源码:海思平台交叉编译openssl - 简书
- wget http://distfiles.macports.org/openssl/openssl-1.0.2q.tar.gz
- tar -zxvf openssl-1.0.2q.tar.gz
- 进行配置
- ./config no-asm no-async shared --prefix=/home/alientek/tool/openssl-1.0.2q/output --cross-compile-prefix=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-
- no-asm,在交叉编译过程中不使用汇编代码代码加速编译过程
- shared,生成动态库
- no-async: 交叉编译工具链没有提供GNU C的ucontext库
- –prefix,指定生成文件安装路径
- –cross-compile-prefix,指定交叉编译工具
- 修改makefile,去除掉 -m64和-m32选项
- # make && make install
- 成功
- ./config no-asm no-async shared --prefix=/home/alientek/tool/openssl-1.0.2q/output --cross-compile-prefix=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-
- 2:解压live555-2020-02.tar.gz与libssl-himix200.tar.gz
- 3:进入live目录,执行:cp config.armlinux config.hi3516d拷贝一份,cat config.hi3516d查看内容
- 4:修改交叉编译。为arm-himix200-linux-
- 对config.hi3516d修改:添加OpenSSL的include
- 对config.hi3516d修改:添加OpenSSL的include
- 5:在live555/live2021目录下编译:./genMakefiles hi3516d
- 再make
- live555移植ARM过程_live555 移植_知止而后安的博客-CSDN博客
- 软链接:sudo ln -s /home/alientek/tool/openssl-1.0.2q/output/lib/libssl.so.1.0.0 /usr/lib/x86_64-linux-gnu/libssl.so
- sudo find / -name libssl.so:/usr/lib/x86_64-linux-gnu/libssl.so
- sudo find / -name libssl.so:/usr/lib/x86_64-linux-gnu/libssl.so
- 软链接:sudo ln -s /home/alientek/tool/openssl-1.0.2q/output/lib/libcrypto.so.1.0.0 /usr/lib/x86_64-linux-gnu/libcrypto.so
- sudo find / -name libcrypto.so:/usr/lib/x86_64-linux-gnu/libcrypto.so
- sudo find / -name libcrypto.so:/usr/lib/x86_64-linux-gnu/libcrypto.so
- 软链接:sudo ln -s /home/alientek/tool/openssl-1.0.2q/output/lib/libssl.so.1.0.0 /usr/lib/x86_64-linux-gnu/libssl.so
- 错误信息
- 报错
- 报错找不到ssl和lcrypto
- 解决:尝试了两种方法,1是在配置文件中-L指定缺少的动态库的目录;2是创建软连接放到了交叉编译器的库路径下:COMPILE_OPTS = -L/home/wang/mylinux/live555/armlive/openssl-1.0.2q/output/lib
- 解决二,添加以下两个内容: -DLOCALE_NOT_USED和-DNO_OPENSSL=1。屏蔽
- 解决:尝试了两种方法,1是在配置文件中-L指定缺少的动态库的目录;2是创建软连接放到了交叉编译器的库路径下:COMPILE_OPTS = -L/home/wang/mylinux/live555/armlive/openssl-1.0.2q/output/lib
- 报错
- 6:编译完成生成:在 mediaServer目录下找到live555MediaServer可执行程序,
- 拷贝至板端,将测试文件stream_chn1.264和audio_chn0.aac拷贝至板端,与live555MediaServer同一目录
- 执行live555MediaServer
- 拷贝网络串流连接到VLC查看,如:
- rtsp://192.168.100.75/stream_chn1.264
- 通过VLC可以点播rtsp://192.168.1.41:8554/test.264视频,
- (注意:test.264所在的目录要和live555MediaServer执行目录相一致,若test.264放在live目录下,则需要在live目录下执行./mediaServer/live555MediaServer)
- 1:下载live555源码
- 安装openssl
- 进入:/source/index.html
- 下载:
- 解压:tar -zvxf openssl-1.1.1u.tar.gz
- 进入:cd openssl-1.1.1u/
- 执行:./config no-asm no-async shared --prefix=/home/alientek/openssl/ --cross-compile-prefix=arm-himix200-linux-
- no-asm 在交叉编译过程中不使用汇编代码代码加速编译过程
- no-async 没有提供GNU C的ucontext库,避免如下报错:
- no-shared 生成静态链接库
- --prefix 指定生成lib include bin目录的路径,不修改此项则默认为OPENSSLDIR目录
- 下载:
- 执行make
- 报错
- 修改Makefile ,若有-m32或-m64 字段,直接删除即可
- 修改Makefile ,若有-m32或-m64 字段,直接删除即可
- 报错
- 安装:make install
- 完成安装后,你可以在/home/alientek/openssl/发现include和lib。其中include包含头文件集合,lib是生成的静态库(.a.1.1)和动态库文件(.so.1.1)。
- 进入:/source/index.html
- 移植使用官方的live555文件
- 解压
- 将libssl-himix200.tar.gz解压出的_install/lib/目录下的 .a与.so文件全部拷贝至交叉编译器target/usr/lib/目录下,
- 如:/opt/hisi-linux/x86-arm/arm-himix200-linux/target/usr/lib
- ./genMakefile hi3516
- make
- 报错
- 解决:系统问题
- 添加以下两个内容: -DLOCALE_NOT_USED和-DNO_OPENSSL=1(可以不用添加)。屏蔽
- 解决
- 添加以下两个内容: -DLOCALE_NOT_USED和-DNO_OPENSSL=1(可以不用添加)。屏蔽
- 报错
- 在 mediaServer目录下找到live555MediaServer可执行程序,拷贝至板端
- 将测试文件stream_chn1.264和audio_chn0.aac拷贝至板端,与live555MediaServer同一目录
- 执行live555MediaServer:./live555MediaServer
- 报错:libssl.so.1.1: cannot open shared object file:
- 解决报错libssl.so.1.1: cannot open shared object file: No such file or directory_沙漏无语的博客-CSDN博客
- 下载 openssl
- #从官网下载
- # wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
- #腾讯云提供的镜像
- wget https://mirrors.cloud.tencent.com/openssl/source/openssl-1.1.1g.tar.gz
- 编译 openssl
- tar -xvf openssl-1.1.1g.tar.gz
- cd openssl-1.1.1g
- ./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
- sudo make && make install
- 编译完成后,使用 openssl version 来查看一下当前 openssl 版本号时,你会发现还是 1.0.2,所以这里需要做一些额外的配置工作
- 配置
- echo "/usr/local/lib64/" >> /etc/ld.so.conf
- ldconfig
- 再次使用 openssl version 验证版本就可以了,如果不行,可以尝试下面的方式,依次执行(先备份老版本,再从新版本安装位置创建软连接)
- mv /usr/bin/openssl /usr/bin/openssl.old
- mv /usr/lib/openssl /usr/lib/openssl.old
- ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
- ln -s /usr/local/openssl/include/openssl /usr/include/openssl
- echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
- ldconfig -v
- 下载 openssl
- 报错:libssl.so.1.1: cannot open shared object file:
- 拷贝动态库.a文件和.so文件到开发板的跟文件目录下:/usr/lib
- 成功
- 成功
- 执行live555MediaServer:./live555MediaServer
- 拷贝网络串流连接到VLC查看,如:
- rtsp://192.168.100.75/stream_chn1.264
- 解压
live555移植到hi3516开发板推流
最新推荐文章于 2024-07-23 10:27:38 发布