hi3518移植librtmp
来源:互联网 发布:广告平面设计软件下载 编辑:程序博客网 时间:2024/06/06 06:42
一:编译openssl
下载:openssl:
https://www.openssl.org/source/
tar -zxvf openssl-1.0.2l
解压后进入目录,运行
./config no-asm shared –prefix=/home/chy/share/rtmp/openssl –cross-compile-prefix=arm-hisiv100nptl-linux-
参数说明:
no-asm : Do not use assembler code.
shared : In addition to the usual static libraries, create shared
libraries on platforms where it‘s supported. See “Note on
shared libraries” below。(编译连接成动态库)
–prefix : 指定之后make install后生成的执行文件跟库的存放位置。
–cross-compile-prefix :指定交叉编译工具。
最后,运行make,make install
在 /home/chy/share/rtmp/openssl目录下就可以生成 openssl相关的库文件了
二:编译zlib:
下载:zlib
http://www.zlib.net/
tar -zxvf zlib-1.2.11
解压后进入目录:
运行
export CC=arm-hisiv100nptl-linux-gcc
./configure –prefix=/home/chy/share/rtmp/zlib
make
make install
在/home/chy/share/rtmp/zlib下就可以得到zlib的相关文件。
三:编译librtmp
直接git下载:git clone git://git.ffmpeg.org/rtmpdump
两种方法可以设置相关库和头文件的路径:
1:把openssl和zlib的相关文件复制到安装海思的交叉编译工具的目录下,具体的要看你hi318的交叉工具链的安装路径;
2:直接用绝对路径来进行设置的;
我是直接使用第二种的。
librtmp有两个Makefile文件,根目录下和librtmp目录下,把两个文件都加上如下:
XLDFLAGS=-L/home/chy/share/rtmp/rtmpdump/openssl/lib
XLDFLAGS+=-L/home/chy/share/rtmp/rtmpdump/zlib/lib
INC=-I/home/chy/share/rtmp/rtmpdump/openssl/include
INC+=-I/home/chy/share/rtmp/rtmpdump/zlib/include
修改完成后,运行如下命令
make SYS=posix CROSS_COMPILE=arm-hisiv100nptl-linux-
编译成功,即可得到librtmp相关的文件;
接下来就可以进行简单的测试了
#include "rtmp.h"#include "rtmp_sys.h"#include "amf.h"int main(){ RTMP *rtmp; rtmp = RTMP_Alloc(); RTMP_Init(rtmp); RTMP_SetupURL(rtmp, "localhost"); RTMP_EnableWrite(rtmp); RTMP_Connect(rtmp, NULL); RTMP_ConnectStream(rtmp, 0); char *buf = (char *)malloc(1024*1024); RTMP_Read(rtmp,buf,1024*1024); return 0;}
把相关的文件都拷到该文件目录下,运行下面的命令,编译成功,库可用了。
arm-hisiv100nptl-linux-gcc rtmp.c -I./openssl/include -I./zlib/include -L./ -lrtmp -L./openssl/lib -lssl -lcrypto -L./zlib/lib -lz -o rtmp
最后,就是运行了,但是如何使用动态链接库又是一个问题了,这个可以多看看其他的说明,这里,我把库在 /lib下做软连接,可以使用arm-hisiv100nptl-linux-readelf -d rtmp对应用程序进行查看依赖哪些库文件,arm-linux下没有ldd这个命令,可以用readelf查看;
如下:
使用命令 ln -s dst_file s_file
如:ln -s /home/chy/librtmp.so.1 /lib/librtmp.so.1
完成软连接后,就可以运行了。
- hi3518移植librtmp
- 移植live555 到hi3518
- Android移植librtmp
- 移植rtmpdump(librtmp)到android
- qt-embedded-4.7.4往海思hi3518上的移植
- 嵌入式hi3516-hi3518海思平台移植nginx-1.12.2
- 移植rtmpdump(librtmp)到android
- 移植rtmpdump(librtmp)到android
- android librtmp 推送h264流 aac流 基本过程总结一 移植librtmp
- Android移植librtmp——NDK编译JNI调用
- 在华为海思HI3518上移植和运行QT4.8.6 undefined reference to accept4
- 在华为海思HI3518上移植和运行QT4.8.6 undefined reference to accept4
- android librtmp 推送h264流 aac流 基本过程总结二 x264移植
- android librtmp 推送h264流 aac流 基本过程总结三 移植faac
- Hi3518编译器安装
- Hi3518学习:编译osdrv
- hi3518 运用程序编译
- libRTMP使用说明
- linux配置tomcat
- Hadoop权威指南pdf
- mysql 状态说明
- 数据库的一些常见问题
- win10使用"诊断启动后无法进入桌面"
- hi3518移植librtmp
- [试验]关于特殊权限位的试验,未排版.
- HBase权威指南中文版pdf
- mybatis关联查询
- HTML5新标签一
- poj 2096 概率dp详解
- dlib在window的安装方法
- Hive编程指南pdf
- "=="和 和 equals 方法究竟有什么区别