最近在做一个网络摄像头RTMP推流项目,由于只需要rtmp一些基础的连接,推流接口,所以只需要编译Rtmpdump里面的librtmp库。想要交叉编译librtmp这个库需要准备三样东西:openssl,zlib,你自己的交叉编译链。openssl,zlib是librtmp编译所依赖的库,openssl是有关数据加密的库,zlib是有关数据压缩的库。如果你不需要这些或者不想这么麻烦可以参考https://blog.csdn.net/fteworld/article/details/51171731,根据他的方法可以免openssl,zlib编译,如果编译时仍出现zlib.h无法找到的报错时,你可以把报错的那个文件的#include <zlib.h>去掉,我试过报错的文件是hashswf.c,直接把这个文件的#include <zlib.h>去掉就可以make过了。

话题拉回来正常交叉编译librtmp库需要四步:

  1. 构建自己的交叉编译环境
    根据你硬件芯片的不同,各个公司的SDK包里面都有提供相应的交叉编译链,有些公司的交叉编译链的安装过程可能更加方便,你按照他的说明就可以了(用过海思的交叉编译链安装,只需要运行他的脚本就可以了很方便),我这里说的是一般的安装方法。

①拿到你的交叉编译链,命令tar -vxf 交叉编译链.tar解压。

gedit /etc/profile修改环境变量,在最后增加export PATH=$PATH:/home/tang/Desktop/sample/rsdk-4.8.5-5281-EL-3.10-u0.9.33-m32fut-161202/bin注意$PATH:后面跟的是你自己交叉编译链文件下的bin文件的路径。

③source /etc/profile立即生效环境变量。
④确定交叉编译环境构建成功与否

至此交叉编译环境搭建完成了。

  1. 交叉编译zlib库
    ①可以通过http://zlib.net/官网下载或者命令wget http://zlib.net/zlib-1.2.11获取zlib库
    tar -vxf zlib-1.2.11解压
    ③cd进zlib库目录输入命令CC=mips-linux-gcc ./configure --prefix=/usr/local,注意给CC赋的是你自己的交叉编译链名,给prefix赋的值是你想安装的目录,这个按自己的情况进行修改。
    ④make
    ⑤make install

  2. 交叉编译openssl库
    ①可以通过http://www.openssl.org官网下载或者命令wget http://www.openssl.org/source/openssl-1.0.1u获取openssl库
    tar -vxf openssl-1.0.1u解压
    ③cd进openssl目录输入命令CC=mips-linux-gcc ./config no-asm shared --prefix=/usr/local,shared是生成动态链接库的参数。
    ④make
    ⑤make install
    apt-get install libssl-dev
    gedit /etc/profile,在最后添加export C_INCLUDE_PATH=/usr/local/include/export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/include/,这两个路径是openssl的头文件寻找路径,因为我的安装目录在/usr/local下,所以在添加路径之前确定你自己的openssl头文件路径。之后source /etc/profile立即生效变量环境。

  3. 交叉编译librtmp库
    ①librtmp库可以通过git clone git://git.ffmpeg.org/rtmpdump从官网上下下来,不过我们只需要其中的librtmp,也可以到https://download.csdn.net/download/weixin_36983723/10743776直接下下来用。
    ②修改Makefile文件,将其中的CC=$(CROSS_COMPILE)gcc LD=$(CROSS_COMPILE)ld AR=$(CROSS_COMPILE)ar修改成你自己的交叉编译链,例如我的就改成CC=mips-linux-gcc LD=mips-linux-ld AR=mips-linux-ar,当然如果嫌麻烦也可以在make的时候加参数make CROSS_COMPILE=mips-linux-
    修改CRYPTO=OPENSSLCRYPTO=/usr/local/bin,同样这里的路径也是你openssl的安装路径下的bin文件。
    ③make && make install

Librtmp的交叉编译详解相关推荐

  1. qt4.8.6交叉编译详解

    qt4.8.6交叉编译详解 一.准备工作 0.1 为什么要用交叉编译器? 0.2 交叉编译工具 0.3分类和说明 0.4命名规则 0.5 Codesourcery 0.6 ABI 和 EABI 0.7 ...

  2. 交叉编译详解 - 概念篇

    第 1 章 交叉编译简介 1.1 什么是交叉编译 对于没有做过嵌入式编程的人,可能不太理解交叉编译的概念,那么什么是交叉编译?它有什么作用? 在解释什么是交叉编译之前,先要明白什么是本地编译. 本地编 ...

  3. 家用路由器研究详解入门(内含仿真环境搭建)

    家用路由器研究介绍 soho路由器 常见路由器品牌 家用路由器漏洞主要四个方面 WI-FI常见加密认证方式3种 WPS一键加密技术(Wi-Fi Protected Setup) 路由器密码 后门|溢出 ...

  4. Linux下boost库的编译、安装详解

    1.下载源文件 去官网下载:http://www.boost.org/ 这里下载最新版本 wget https://dl.bintray.com/boostorg/release/1.64.0/sou ...

  5. CMake手册详解 (十二)

    2019独角兽企业重金招聘Python工程师标准>>> SirDigit CMake手册详解 (十二) CMD#30:find_library查找一个库文件 find_library ...

  6. linux 内核模块(驱动) 编译详解

    一.准备工作 准备工作如何做,这里就不详说了. a) 首先,你要有一台PC,装好了Linux. b) 安装好GCC(这个指的是host gcc,用于编译生成运行于pc机程序的).make.ncurse ...

  7. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  8. Gcc详解以及静态库、动态库生成

    [转] Gcc详解以及静态库.动态库生成 http://www.360doc.com/content/10/0619/14/1795182_33985297.shtml 1.gcc包含的c/c++编译 ...

  9. Linux平台Makefile文件的编写基础篇和GCC参数详解

    问:gcc中的-I.是什么意思....看到了有的是gcc -I. -I/usr/xxxxx..那个-I.是什么意思呢 最佳答案 答:-Ixxx 的意思是除了默认的头文件搜索路径(比如/usr/incl ...

  10. GCC 命令选项使用详解

    GCC 命令行详解[转帖] 1.gcc包含的c/c++编译器 gcc.cc.c++.g++ gcc和cc是一样的,c++和g++是一样的,一般c程序就用gcc编译,c++程序就用g++编译 2.gcc ...

最新文章

  1. python redis连接池获取后关闭_python通过连接池连接redis,操作redis队列
  2. CVPR 2021 Oral|只用静态图像,就能实时渲染出丝滑3D效果
  3. GDCM:Traverse Modules的测试程序
  4. 教你创建Google网站地图Sitemap.xml(转)
  5. 四管前级怎么去掉高低音音调_一些歌曲音调太高怎么才能唱上去??
  6. 信息学奥赛C++语言: 趣味整数5(勾股数)
  7. [C++] 哈希计数
  8. P2659 美丽的序列
  9. 细聊分布式ID生成方法-1
  10. Android基于ksoap2调用WCF服务(二):Android篇
  11. 亚马逊alexa智能家电_如何使用Amazon Alexa轻松设置智能家居设备
  12. inteli211网卡linux驱动,Intel英特尔I210/I340/I350/82575/82580系列网卡驱动5.5.2版For Linux(2021年2月1日发布)...
  13. 公众号怎么提升阅读量
  14. 网站克隆工具_全员惊艳!强推5款高质量的小众实用网站
  15. HTML做一个简单的页面(纯html代码)地球专题学习网站
  16. suspense源码分析
  17. python爬虫从企查查获取企业信息-手工绕开企查查的登录验证
  18. mysql数据库工程师简历_数据库工程师简历-自我评价怎么写(范文)
  19. 笔试java--链表
  20. http请求头中的host是什么意思

热门文章

  1. kuangbin线段树专题
  2. 史上最详细的Hadoop环境搭建
  3. EndnoteX9修改风格
  4. 免费sip虚拟服务器,VOIP服务器软件Sip服务器miniSIPServer
  5. 【基本算法】概率算法
  6. 【扫码登录的逻辑以及关于扫码登录的思考】
  7. 可以在电脑上在线录制视频GIF的软件,不需要下载安装
  8. 用计算机画图软件画画教程,电脑画图软件有什么使用技巧,电脑画图软件教程...
  9. 无法访问局域网的文件服务器,局域网共享文件夹不能访问
  10. html毕业答辩ppt,毕业答辩ppt