精华内容
下载资源
问答
  • librtmp交叉编译
    千次阅读
    2017-12-11 18:09:50

    1.准备openssl和zlib库

    这个版本不要太新,我的太新编不过。

    2准备librtmp库,

    还是有好几个版本呢。我选了个新的,这些百度都很好找的,地址就不贴出来了。

    3.交叉编译openssl和zlib库,

    修改makefile,改成自己的编译器。

    4.交叉编译librtmp库

    修改librtmp和rtmodump里面的makefile。指定交叉编译过后的openssl库和zlib库,否则编译失败。


    更多相关内容
  • rtmpdump里面的librtmp库,实测可在Linux下进行交叉编译
  • Librtmp交叉编译详解

    千次阅读 2018-10-25 14:47:11
    想要交叉编译librtmp这个库需要准备三样东西:openssl,zlib,你自己的交叉编译链。openssl,zlib是librtmp编译所依赖的库,openssl是有关数据加密的库,zlib是有关数据压缩的库。如果你不需要这些或者不想这么麻烦可以...

    最近在做一个网络摄像头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立即生效环境变量。
    ④确定交叉编译环境构建成功与否
    mips-linux-gcc就是我的交叉编译链

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

    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静态库(32位和64位)

    热门讨论 2015-03-13 16:52:15
    librtmp静态库 (32位和64位)
  • 在ubuntu下交叉编译windows下使用的rtmp库

    一、搭建交叉编译环境

    可以参考编译windows下使用的fdk-aac、x264及ffmpeg库中的:搭建mingw-w64编译环境

    二、编译zlib库

    1. 可以通过http://zlib.net/官网下载zlib库
    2. tar -xvf zlib-1.2.12.tar.gz解压
    3. 进入zlib库目录,并执行如下命令,CC赋的是交叉编译链的名称
    CC=x86_64-w64-mingw32-gcc ./configure --prefix=/home/caixuefeng/zlib
    
    make
    make install
    

    三、编译openssl库

    1. 官网下载地址:http://www.openssl.org
    2. tar -xvf openssl-1.0.1u.tar.gz进行解压
    3. 进入openssl执行如下命令:
    ./configure --cross-compile-prefix="x86_64-w64-mingw32-" mingw64 --prefix=/home/caixuefeng/openssl no-asm shared --openssldir=/home/caixuefeng/openssl/ssl
    
    //这里需要将PERL= /usr/bin/perl,否则会调用/mnt/c/Strawberry/perl/bin/perl.exe,这样在ubuntu是无法创建目录的,会导致make insatll失败,如下图:
    make
    make install
    

    在这里插入图片描述
    在这里插入图片描述

    四、编译librtmp库

    1. 官网下载地址:git clone git://git.ffmpeg.org/rtmpdump
    2. 进入rtmpdump目录
    make CROSS_COMPILE=x86_64-w64-mingw32- INC="-I/home/caixuefeng/openssl/include -I/home/caixuefeng/zlib/include" XLDFLAGS="-L/home/caixuefeng/openssl/lib -L/home/caixuefeng/zlib/lib" SYS=mingw prefix=/home/caixuefeng/rtmp install
    
    展开全文
  • librtmp (32位和64位)编译源码

    热门讨论 2015-03-13 16:57:18
    librtmp (32位和64位)编译源码 已经经过调试分享给大家使用
  • 目标:交叉编译ffmpeg5.0,同时支持x264和rtmp,可在armv71主机上使用ffmpeg拉取前端摄像机的rtsp流,转成rtmp流,上推给rtmp服务器。 2 准备工作 2.1编译安装openssl 1、代码下载 /source/old/1.0.2/index....

    1 前言

    环境:Win10主机+VMware15.5+Ubuntu18.04.1

    嵌入式主机:armv71 GNU/Linux

    交叉编译工具:arm-linux-gnueabihf-gcc

    登录用户:root

    目标:交叉编译ffmpeg5.0,同时支持x264和rtmp,可在armv71主机上使用ffmpeg拉取前端摄像机的rtsp流,转成rtmp流,上推给rtmp服务器。

    2 准备工作

    2.1 编译安装openssl

    1、代码下载

    /source/old/1.0.2/index.htmlhttps://www.openssl.org/source/old/1.0.2/

     

     2、解压缩

    tar -xzf openssl-1.0.2h.tar.gz
    cd openssl-1.0.2h
    

    3、配置交叉编译链

    在编译之前,准备好交叉工具链,初始化编译工具交叉变量 CROSS_COMPILE

    推荐用绝对路径:

    export CROSS_COMPILE=/opt/arm/usr/bin/arm-linux-gnueabihf-
    export CC=${CROSS_COMPILE}gcc
    
    ./config no-asm -shared --prefix=/usr/local/ssl --cross-compile-prefix= CROSS_COMPILE
    
    no-asm:  在交叉编译过程中不使用汇编代码代码加速编译过程
    shared: 生成动态连接库
    no-async: 交叉编译工具链没有提供GNU C的ucontext库
    –prefix=: 安装路径
    –cross-compile-prefix=: 交叉编译工具
    

    4、修改Makefile

    配置完成后:手动修改生成的Makefile,并且找到有-m64的地方,全删之(只删除-m64这个关键字)(共2处)

    5、编译安装

    make
    make install
    

    2.2 编译安装zlib

    1、代码下载

    LIBPNG: PNG reference library - Browse /zlib/1.2.11 at SourceForge.nethttps://sourceforge.net/projects/libpng/files/zlib/1.2.11/

     2、解压缩

    tar -vxf zlib-1.2.11.tar.xz
    cd zlib-1.2.11
    

     3、配置编译

    检查交叉编译工具链

    CC=/opt/arm/usr/bin/arm-linux-gnueabihf-gcc
    
    ./configure --prefix=/usr/local/zlib
    make 
    make install
    

     2.3 编译安装librtmp

    1、代码下载

    git clone git://git.ffmpeg.org/rtmpdump

    仅使用其中的librtmp即可

    2、修改Makefile

    指定安装路径

    将其中的

    CC=$(CROSS_COMPILE)gcc 
    LD=$(CROSS_COMPILE)ld 
    AR=$(CROSS_COMPILE)ar
    

    修改成自己的交叉编译链

    指定openssl路径

    3、编译安装

    make 
    make install
    

     2.4 编译安装x264

    1、代码下载

    Branches · VideoLAN / x264 · GitLabx264, the best and fastest H.264 encoderhttps://code.videolan.org/videolan/x264/-/branchesx264-master.tar.bz2

    解压缩

    tar   -jxvf x264-master.tar.bz2

     2、编译配置

    ./configure --enable-static --enable-shared --disable-asm --prefix=/usr/local/x264 --host=arm-linux

    3、修改config.mak文件

    下边截图是修改后的

    4、编译安装

    make 
    make install
    

    3 编译ffmpeg

    3.1 下载代码

    从这里下载,所有版本都有,根据自己需要选择合适的版本

    Index of /releaseshttp://ffmpeg.org/releases/我选择的是ffmpeg-5.0.tar.bz2

    3.2 解压

    tar   -jxvf ffmpeg-5.0.tar.bz2

    3.3 配置

    先修改configure文件librtmp和openssl 的lib路径,否则链接时,会出现找不到librtmp或openssl库函数的错误

     接下来

    ./configure --cross-prefix=$CROSS_COMPILE --enable-cross-compile --target-os=linux --cc="$CC" --arch=arm --prefix=/usr/local/arm_ffmpeg --disable-x86asm --enable-shared --enable-static --enable-pthreads --enable-network --enable-protocol=tcp --enable-demuxer=rtsp --enable-decoder=h264 --enable-parsers --enable-decoder=h264 --enable-decoder=aac --enable-muxer=mp4 --enable-protocol=file --enable-gpl --enable-ffmpeg --enable-librtmp --enable-libx264 --enable-openssl --enable-nonfree --extra-cflags="-I/usr/local/x264/include -I/usr/local/librtmp/include -I/usr/local/ssl/include" --extra-ldflags="-L/usr/local/librtmp/lib -L/usr/local/x264/lib -L/usr/local/ssl/lib" --extra-libs=-"ldl -fpic"

    来个列表式的,方便查看

    ./configure  \
      --cross-prefix=$CROSS_COMPILE \   #编译工具路径
      --enable-cross-compile \           #使能交叉编译
      --target-os=linux \
      --cc="$CC" \  					 #交叉编译工具 
      --arch=arm \					 #选中架构arm
      --prefix=/usr/local/arm_ffmpeg \    #安装目录
      --disable-x86asm \				 #关闭x86asm
      --enable-shared \				 #生成动态库
      --enable-static \					 #生成静态库
      --enable-pthreads \				 #使能多线程,默认关闭
      --enable-network \
      --enable-protocol=tcp \
      --enable-demuxer=rtsp \
      --enable-decoder=h264 \
      --enable-parsers \
      --enable-decoder=h264 \
      --enable-decoder=aac \
      --enable-muxer=mp4 \
      --enable-protocol=file \
      --enable-gpl \
      --enable-ffmpeg \
      --enable-librtmp \
      --enable-libx264 \
      --enable-openssl \
      --enable-nonfree \
      --extra-cflags="-I/usr/local/x264/include -I/usr/local/librtmp/include -I/usr/local/ssl/include" \  	#指定x264,librtmp,openssl的include路径
      --extra-ldflags="-L/usr/local/librtmp/lib -L/usr/local/x264/lib -L/usr/local/ssl/lib" \  				#指定x264,librtmp,openssl的lib路径
      --extra-libs=-"ldl -fpic"
    

    Configure完之后,会出现下列提示

    不用管,下步直接make

    3.4 编译安装

    make –j8
    make install
    

    4 参考

    编译过程中,参考了下边网友的文章,在此感谢。

    1. ffmpeg交叉编译_平平无奇的小垃圾的博客-CSDN博客_ffmpeg交叉编译

    2. ffmpeg编译与交叉编译_fangye945a的博客-CSDN博客_ffmpeg 交叉编译

    展开全文
  • Android ffmpeg+librtmp+speex交叉编译

    千次阅读 2015-10-26 22:04:14
    Ubuntu 14 ndk r10b librtmp 2.4 speex 1.2rc2 ffmpeg 2.8.1 ...1、编译librtmp Android.mk # This is the Android makefile for librtmp LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_S
  • 在Linux上准备交叉编译环境1.1准备交叉编译链,文件夹名字叫Euler_compile_env_cross,申请把1.2修改/etc/profile文件,在最后一行添加export PATH=$PATH:/home/hy/Desktop/compile/Euler_compile_env_cross/arm/...
  • RTMPDump: ​ RTMPDump 是一个用来处理RTMP流媒体的开源工具包。它能够单独使用进行RTMP的通信,也可以集成到FFmpeg中通过...交叉编译 下载RTMPDump 库解压 打开librtmp目录,打开makefile文件,找到 librtmp.a: $(O...
  • FFmpeg4.2.2最新版本编译、RTMP编译

    千次阅读 2020-01-17 17:48:07
    一、FFmpeg编译 1、FFmpeg官网 http://www.ffmpeg.org/download.html#releases 2、在服务器上面用命令下载FFmpeg4.2.2最新版本 wget https://ffmpeg.org/releases/ffmpeg-4.2.2.tar.bz2(该地址是) 3、使用命令...
  • 如何交叉编译curl?

    2021-05-14 15:06:33
    如何交叉编译curl?1. 先准备一下openssl库编译openssl库的方法在此2. 获取curl源码wget https://curl.haxx.se/download/curl-7.65.3.tar.gz2. 解压tar xvfcurl-7.65.3.tar.gz -C ~/cd ~/curl-7.65.33. 配置CPPFLAGS=...
  • srs海思3531d交叉编译

    2021-01-12 17:47:55
    功能: srs 海思3531d交叉编译 参考博客地址 https://blog.csdn.net/sd15570898155/article/details/103839540 发行版本:v2.0-r6 源码下载地址: https://gitee.com/winlinvip/srs.oschina/tree/v2.0-r6 ...
  • 交叉编译gstreamer1.12

    2021-06-07 07:50:34
    交叉编译gstreamer1.12一、下载源码部署环境获取源码首先编译依赖库1.zlib2.libffi3.glib编译gstreamer 一、下载源码 部署环境 编译过程需要一些ubuntu的系统工具,首先安装,比如libtool是一个编译脚本解释器,负责...
  • curl 交叉编译

    千次阅读 2019-12-19 22:39:02
    curl 的编译过程会用到openssl,所以在交叉编译 curl 之前,需要先交叉编译 openssl https://blog.csdn.net/weixin_44023406/article/details/103610397 1、下载源码 https://curl.haxx.se/download.html 2...
  • linux 交叉编译libcurl库

    2020-12-17 18:19:42
    本文介绍libcurl的交叉编译 如果不需要交叉编译的话,直接通过 configure make make install 三连基本就能用. 首先介绍编译参数 General parameters: Fine tuning of the installation directories: --bindir=DIR ...
  • curl库交叉编译

    2020-11-11 13:52:10
    curl库交叉编译 1、下载源码 我下的版本是curl-7.65.3 2、解压压缩包,进入源码文件夹 3、配置编译文件 CPPFLAGS="-I/home/datalink/hhd/chenzhiwei/wifi/library/src/openssl-1.1.1g/zhi/ -I/home/datalink/hhd...
  • 交叉编译srs

    2021-04-23 15:03:59
    fi 保存退出后,执行下列命令 ./configure --with-ssl --with-hls --with-librtmp --with-arm-ubuntu12 修改/trunk/research/librtmp/下的Makefile vi research/librtmp/Makefile 修改下面两个地方: GCC= arm-none...
  • 编译和交叉编译curl

    2020-03-24 10:19:03
    在编译或交叉编译curl之前需要对应编译或交叉编译openssl,详细见: https://blog.csdn.net/qq_43603677/article/details/105064209 先下载curl安装包curl-7.69.1.tar.gz并解压安装包: tar vxf curl-7.69.1.tar.gz...
  • 1.openssl交叉编译 参考:https://blog.csdn.net/fangye945a/article/details/86658621 根据需要选择适合自己的版本,我这里下载的是openssl-1.1.1h版本。(建议下载openssl1.1.0版本,这里挖个坑,后面你就知道了...
  • 在播放器、推流器、视频编辑中经常都会使用到FFmpeg交叉编译第三方库,FFmpeg交叉编译第三方库可以说是音视频入门的基础知识,也是最重要的。通过学习了交叉编译的过程,加深对FFmpeg架构的设计。 编译第三方库 ...
  • 一、下载源码: GStreamer: 新闻 我这里是下载到Linux的桌面目录,先拷贝文件到opt:sudo cp -r ohos-sdk/* /opt解压文件:sudo unzip *.zip解压完配置环境变量:... 1 编译依赖首先依赖关系如下:gstreamer -> glib -
  • curl&&ssl交叉编译

    2021-02-19 22:02:15
    1.1 下载curl 库 https://github.com/curl/curl/releases/tag/curl-7_58_0 1.2 下载openssl ...1.3 编译openssl ./configure --with-ssl=/home/project/samba//openssl-OpenSSL_1_1_0h/output/lib --prefix=$(pwd)/outp
  • FFmpeg和X264的交叉编译环境 arm linux交叉编译x264 ffmpeg ffmpeg与x264差异? FFmpeg需要X264库才能正常编码x264,所以不知道我们arm摄像头里是否缺少x264库,所以我们先交叉编译个x264进去看看? 交叉编译x264 我...
  • L$HOME/x265_3.2.1/build/_install/lib -L$HOME/openssl-1.0.1u/_install/lib -L$HOME/rtmpdump-2.3/librtmp/_install/lib' \ --extra-libs=-ldl 交叉编译 ./configure --prefix=`pwd`/_install --enable-cross-...
  • libcurl交叉编译

    千次阅读 2020-07-15 17:44:28
    这里写自定义目录标题使用openssl交叉编译的libcurl库应用层示例代码使用curl-config工具查看已有的libcurl编译方法使用gnutls库编译libcurl库使用curl-config查看编译选项 使用openssl交叉编译的libcurl库 使用...
  • Android移植librtmp——NDK编译JNI调用

    千次阅读 2017-07-17 18:33:42
    版权声明:本文为博主原创文章,未经博...为了让Android能够使用librtmp,我们需要下载它的源码并使用交叉编译工具编译成可以供android使用的库文件。我在网上参考了一些别人移植的文章,但到自己移植的时候缺踩

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 360
精华内容 144
关键字:

librtmp交叉编译