需要编译libRTMP,首先需要安装配置编译环境。网上能够找到的资料多是在Windows环境编译。这里介绍一下在Linux系统中编译安装libRTMP,一来给后来者一个参考,二来也给自己做一个备忘录。

编译libRTMP之前,需要安装下面三个软件:openssl , zlib, libssl-dev

(一)openssl安装

这里需要特别的注意:openssl 版本不能太高,太高有些接口与libRTMP 的接口不一样,会导致libRTMP编译不能通过。我这里安装的是openssl-1.0.1f。

1、下载地址:http://www.openssl.org/source/ 下一个新版本的OpenSSL,我下的版本是:openssl-1.0.1f

2、在下载的GZ目录中,用命令执行:tar -xvf openssl-1.0.1f.tar.gz

3、进入解压的目录:openssl-1.0.1f  [.......]#cd openssl-1.0.1f

4、[.....openssl-1.0.1f]# ./config --prefix=/usr/local/openssl

5[...../openssl-1.0.1f]# ./config -t

6[...../openssl-1.0.1f]# make depend

7[...../openssl-1.0.1f]# cd /usr/local

8/usr/local]# ln -s openssl ssl

9 [...../openssl-1.0.1f]#sudo make install

10在/etc/ld.so.conf文件的最后面,添加如下内容:

/usr/local/openssl/lib

11...]# ldconfig

12添加OPESSL的环境变量:

在etc/的profile的最后一行,添加:

export OPENSSL=/usr/local/openssl/bin

export PATH=$OPENSSL:$PATH:$HOME/bin

13退出命令界面,再从新登录。

14、以上OPENSSL就安装完毕,下面进行一些检查。

15依次如下执行:

[root@localhost /]# cd /usr/local

[root@localhost local]# ldd /usr/local/openssl/bin/openssl

会出现类似如下信息:

linux-vdso.so.1 =>  (0x00007fff2116a000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f378e239000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f378de7c000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f378e44f000)
16查看路径

...]# which openssl

/usr/local/openssl/bin/openssl

17查看版本

...]# openssl version

OpenSSL 1.0.1f 6 Jan 2014

(二)zlib安装

安装的版本为zlib-1.2.11.tar.gz ,可直接安装

1 lcb@ubuntu:~/test/RTMP$ tar xvf zlib-1.2.11.tar.gz

2 lcb@ubuntu:~/test/RTMP$ cd zlib-1.2.11/

3 lcb@ubuntu:~/test/RTMP/zlib-1.2.11$ sudo ./configure

4 lcb@ubuntu:~/test/RTMP/zlib-1.2.11$ make

5 lcb@ubuntu:~/test/RTMP/zlib-1.2.11$ sudo make install

(三)libssl-dev 安装

libssl-dev 的安装,可直接使用命令安装:

sudo apt-get install libssl-dev

(四)编译libRTMP

1 添加openssl的头文件查找路径:在/etc/profile文件最后面添加上

C_INCLUDE_PATH=/usr/local/openssl/include/
export C_INCLUDE_PATH 
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/openssl/include/
export CPLUS_INCLUDE_PATH

2 下载rtmpdump-2.3 可直接编译安装, rtmpdump主页: http://rtmpdump.mplayerhq.hu/

tar -xvf  rtmpdump-2.3.tgz

cd rtmpdump-2.3

make

make install

完成

安装包:

openssl-1.0.1f.tar.gz

zlib-1.2.11.tar.gz

rtmpdump-2.3.tgz

注:上面安装方法在ubuntu-12.04 中安装成功,其他linux系统亦可参照

linux 编译安装TRMPdump(libRTMP)的更多相关文章

  1. 【转】linux 编译安装nginx,配置自启动脚本

    linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...

  2. linux 编译安装nginx,配置自启动脚本

    本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linu ...

  3. linux 编译安装PHP模块

    本文移到:http://www.phpgay.com/Article/detail/classid/6/id/54.html  linux 编译安装PHP模块 1.首先你要有你服务器上安装的PHP的版 ...

  4. [CentOS_7.4]Linux编译安装ffmpeg

    [CentOS_7.4]Linux编译安装ffmpeg   安装过程: 下载安装源,配置,编译,安装,设置环境变量. # wget http://www.ffmpeg.org/releases/ffm ...

  5. 转:Linux 编译安装 Mysql5.7

    http://broqiang.com/2017/04/18/Mysql-Install-5.7.18-Linux-Compile/ 原文 Linux 编译安装 Mysql5.7 Ubuntu 下快速 ...

  6. Linux编译安装Apache+PHP

    Linux编译安装Apache+PHP 来自:自学it网,http://www.zixue.it/. 1]编译安装Apache+PHP 1.安装程序依赖库和开发环境   为了省事把所需要的库文件全都安 ...

  7. Linux编译安装Qt 5.4.1(-qt-xcb是必须要指定的,卸载自带的gcc等)

    转载请注明文章:Linux编译安装Qt 5.4.1 出处:多客博图 很久不写文章了,过程很简单,但是操作很多,简单说吧. 前言: 操作系统CentOS 6.6,64位的. 1.安装gcc 4.8.4, ...

  8. Linux 编译安装、压缩打包、定时任务

    目录 Linux 编译安装 知识储备: wget命令 编译安装 Linux 压缩打包 gzip压缩 bzip2压缩 tar打包 Linux 定时任务 相关文件及操作 Linux 编译安装 编译安装就是 ...

  9. LINUX 编译安装 PHP 环境

    今天终于有时间 总结一下 linux 的编译安装 php 环境同学给我发了他写的文档 ,基本就可以实现编译安装了我同学文章地址: http://penghui.link/articles/2016/0 ...

随机推荐

  1. Appium 使用android_uiautomator定位元素时报错: The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource

    使用 android_uiautomator 定位元素时(现在用的还不太熟,对于这个方法还需要加深了解)报错: 报错信息:The requested resource could not be fou ...

  2. 取textaera里的值

    jQuery的.val()方法是专门用来获取表单元素值的,而textarea也属于表单元素所以可以直接用.val()方法获取. 不过要注意,由于textarea是个双标记因此.text()或.html ...

  3. 前端自动化构建工具gulp使用

    1. 全局安装 gulp: $ npm install --global gulp 2. 作为项目的开发依赖(devDependencies)安装: $ npm install --save-dev ...

  4. BZOJ 3489: A simple rmq problem KDtree

    Code: #include<bits/stdc++.h> #define maxn 200000 #define inf 100000000 #define mid ((l+r)> ...

  5. bootstrapValidator代码中开启验证和判断验证是否通过

    //开启验证 $('#saveadmin_form').data('bootstrapValidator').validate(); //是否通过校验 if(!$('#saveadmin_form') ...

  6. BZOJ 3572 [HNOI2014]世界树 (虚树+DP)

    题面:BZOJ传送门 洛谷传送门 题目大意:略 细节贼多的虚树$DP$ 先考虑只有一次询问的情况 一个节点$x$可能被它子树内的一个到x距离最小的特殊点管辖,还可能被管辖fa[x]的特殊点管辖 跑两次 ...

  7. 五、Scrapy中Item Pipeline的用法

    本文转载自以下链接: https://scrapy-chs.readthedocs.io/zh_CN/latest/topics/item-pipeline.html https://doc.scra ...

  8. linu学习第二天:文件系统相关操作

    1 ---第二天笔记--- 2 查看操作系统版本:cat /etc/redhat-release, /etc/os-release 3 命令:lsb_release 4 查看内存 和 swap分区:f ...

  9. models中字段参数blank和null的用法区别

    blank当blank=True时,说明此处的数据可以不填,默认情况下为False,也就意味着默认情况下,所输入的数据不得空,blank是和页面表单有关,在页面需要输入参数的时候,如果在models里 ...

  10. JAVA中对事物的理解

    1.事物是一组操作数据的集合动作 (场景:再开发的时候相信大家都遇到主表和子表的插入问题,当主表插入成功时,子表没有插入成功,这时候我们就要把主表的数据回滚,这个时候我们就要用到事物了) 2.一组处理 ...