一:编译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相关推荐

  1. Android移植librtmp

    一.前言 为了让android能够使用librtmp,我们需要下载它的源码并使用交叉编译工具编译成可以供android使用的库文件.我在网上参考了一些别人移植的文章,但到自己移植的时候缺踩了许多坑.还 ...

  2. Android 音视频开发实践系列-01-ndk-build编译rtmpdump

    在上一篇Android开发实践之<NDK和JNI极速初体验>,留了一个坑: 独立工具链因官方已弃用不再介绍, ndk-build下一篇文章单独介绍,本文使用AndroidStudio新建的 ...

  3. u盘模式 linux hi3518,嵌入式 RT3070_STA驱动移植到hi3518c平台小结

    首先在官方的驱动中不一定支持我们需要的平台,这样就需要我们对需要的平台进行相关的添加,主要修改下面两个文件: 1.根目录下的Makefile: PLATFORM = HI_3518C #add by ...

  4. 基于Hi3516DV300rtmp交叉编译移植

    基于Hi3516DV300rtmp交叉编译移植 其实自己不太会写甚么博客,或者方法的,所以导致自己开发完一些功能后,后续再去看自己写的代码,去配置相关的功能也好,总是需要花费挺长时间重新回忆起来. 废 ...

  5. mysql移植海思_live555 交叉编译移植到海思开发板

    1.首先到它的主页下载一个源码包: http://www.live555.com/liveMedia/public/ 我下载的是latest的,具体什么版本还真不清楚 2.放到linux目录下解压: ...

  6. 编译librtmp for Android

    librtmp是一个强大的rtmp开源库,近期的一个Android项目涉及rtmp之类的技术,之前用ffmepg的时候也用到过它,那时候只是作为一个模块将librtmp作为第三方库编到ffmpeg里( ...

  7. ORTP移植到Hi3518e,h.264封包rtp发送

    看到ORTP是纯C实现的rtp库,于是移植到3518e试用一下. 1.下载源码 http://www.linphone.org/technical-corner/ortp/downloads 里面有个 ...

  8. RV1109+hi3861L hichannel SD卡槽wifi驱动移植

    移植平台:瑞芯微RV1109(kernel版本:4.19    SDK:RV1126_RV1109_LINUX_SDK_V1.8.0_20210224)   海思3861L(SDK:Hi3861V10 ...

  9. ffmpeg编译裁剪移植到arm-linux

    源码裁剪参考: ffmpeg源码裁剪移植到arm-linux ffmpeg可以通过配置不同的编译选项来裁剪ffmpeg本身的大小,下面我基于2.1.3版本来说明. 至于支持哪些编译选项,可输入 ./c ...

最新文章

  1. mybatis使用注解开发
  2. Codeforces ECR50 div2题解
  3. 深入浅出深拷贝与浅拷贝
  4. 计算机视觉与深度学习 | TensorMask: A Foundation for Dense Object Segmentation(何凯明团队新作)近5年目标检测综述
  5. Junit 多线测试 问题
  6. ruby之添加当前文件路径到$LOAD_PATH
  7. python asyncio future_Python中的asyncio模块中的Future和Task的区别?
  8. mac配置supervisor笔记
  9. 【Oracle】恢复临时表空间数据文件
  10. WPF 最简方法使用自己定制的 WPF 框架
  11. java运行环境简称_java程序的运行环境简称为什么?
  12. vue手机号校验,邮箱校验
  13. 条码扫描模块通过什么编程才能使用呢?
  14. 用js写出水仙花数_JavaScript求取水仙花数
  15. 【Java】01 初识 Java
  16. 1-15 Burpsuite Sequencer介绍
  17. kafka集群kafka-eagle安装
  18. android自定义秒表,Android实现的秒表计时器示例
  19. wechatpy开发微信公众号(实现自定义菜单,翻译)
  20. FFmpeg源码分析:视频滤镜介绍(上)

热门文章

  1. arcview 单条文档调用标签
  2. mysql中如何获取年、月、日及本周是一年中的第几周??
  3. 【树】二叉树遍历算法(深度优先、广度优先遍历,前序、中序、后序、层次)及Java实现...
  4. 人类历史上最经典的13句话,那句你亲身感触过,也算是测试一下你的人生阅历吧
  5. JavaScript 阿贾克斯
  6. python linux下运行selenium
  7. Shell脚本学习指南-查找与替换篇
  8. HFSS平面倒F(PIFA)天线
  9. 日报周报自动生成工具,一句简要描述,自动写出一篇工作日志总结
  10. 高校财务会计仿真模拟实训软件