iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何解决nginx中rtmp模块编译arm版本的问题
  • 196
分享到

如何解决nginx中rtmp模块编译arm版本的问题

2023-06-22 06:06:54 196人浏览 八月长安
摘要

这篇文章主要为大家展示了“如何解决Nginx中rtmp模块编译arm版本的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决nginx中rtmp模块编译arm版本的问题”这篇文章吧。一、

这篇文章主要为大家展示了“如何解决Nginx中rtmp模块编译arm版本的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决nginx中rtmp模块编译arm版本的问题”这篇文章吧。

一、准备工作:

1,下载nginx源码:wget Http://nginx.org/download/nginx-1.20.2.tar.gz

2,下载依赖库libpcre.a源码:wget http://ftp.cs.stanford.edu/pub/exim/pcre/pcre-8.39.tar.gz

3,下载依赖库libz.a源码: wget https://downloads.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz

4,下载rtmp模块源码:GitHub - arut/nginx-rtmp-module: NGINX-based Media Streaming Server

前三个库源码下载完成后,都进行解压。

二、源码编译

pcre库和libz库都不用单独编译,在编译nginx时添加模块时一起编译。

1,configure 配置

cd nginx-1.20.2 //切换到nginx源码目录下./configure --prefix=/usr/sbin --add-module=/home/tianyexing/Documents/tools/nginx_rtmp/nginx-rtmp-module-master --with-http_ssl_module --with-debug --with-pcre=/home/tianyexing/Documents/tools/pcre/pcre-8.39 --with-zlib=/home/tianyexing/Documents/tools/zlib/zlib-1.2.11 // --prefix=/usr/sbin  指定安装目录,最后install时生成的程序放在这个目录下// --add-module=/home/tianyexing/Documents/tools/nginx_rtmp/nginx-rtmp-module-master  编译rtmp模块,这个目录是上面下载源码后解压的目录// --with-pcre=/home/tianyexing/Documents/tools/pcre/pcre-8.39 编译pcre模块,这个目录是上面下载源码后解压的目录// --with-zlib=/home/tianyexing/Documents/tools/zlib/zlib-1.2.11 编译zlib模块,这个目录是上面下载源码后解压的目录

因为我要编译的arm-himix200-linux版本,但nginx源码目录下的configure不支持--host,然后用

--with-cc=arm-himix200-linux-GCc时也会出错,于是只能选择手动修改(修改点下面会讲到)。执行后会在当前目录下生成objs和Makefile。

1) 修改objs/Makefile

如何解决nginx中rtmp模块编译arm版本的问题

2) 修改nginx-1.20.2/auto/cc/conf文件,如:

如何解决nginx中rtmp模块编译arm版本的问题

 3) 修改 nginx-1.20.2/auto/types/sizeof ,如:

如何解决nginx中rtmp模块编译arm版本的问题

其他修改可以去搜索一下,因为修改好几个已经不记得了。

2,编译错误

直接在nginx源码目录下make就行,因为它里面执行的就是objs/Makefile

1)找不到openssl/ssl.h头文件,如:

如何解决nginx中rtmp模块编译arm版本的问题

 系统中是已经有openssl/ssl.h文件的,是系统目录/usr/include下

如何解决nginx中rtmp模块编译arm版本的问题

但编译时就是提示找不到,不知是否跟编译arm版本有关,因为我正好有这个arm版本的openssl头文件,所以这里没去纠结,把别处的openssl目录拷贝过来直接用了,不过添加头文件目录后,需要修改objs/Makefile,我新加的头文件目录是在nginx源码目录src下,修改如下:

如何解决nginx中rtmp模块编译arm版本的问题

这个CORE_INCS是编译nginx要用到的头文件。

如何解决nginx中rtmp模块编译arm版本的问题

这个是其他模块,nginx-rtmp, pcre, zlib 可能用到的头文件目录。

2) IPv6问题

如何解决nginx中rtmp模块编译arm版本的问题 

提示找不到这个定义,但这个定义在系统是有的, 这里也不纠结,不用ipv6,所把相关的代码注释掉了。

3)ArcHive has no index; run ranlib to add  one ---- 库平台不匹配问题

如何解决nginx中rtmp模块编译arm版本的问题

 因为这当中编译过很多次,x86版本,arm版本都编译过,然后并没有make clean,这里用了之前的x86版本的库,所以这里提示错误了,因为我要编译arm-himix200-linux版本,查看库信息如:

如何解决nginx中rtmp模块编译arm版本的问题

 所以需要make clean,然后再执行上面的configure 重新生成Makefile。

4) 找不到ssl库和crypto库

objs/Makefile 里有如下链接

如何解决nginx中rtmp模块编译arm版本的问题

最后链接时出错 

如何解决nginx中rtmp模块编译arm版本的问题 

这个arm版本的库,我之前编译过的,然后直接修改成绝对路径。若是没有这两个库Google一下。

如何解决nginx中rtmp模块编译arm版本的问题

 如何解决nginx中rtmp模块编译arm版本的问题

最终编译出我arm版本,x86版本。

三、目标板上执行

 拷贝到arm版上执行时,失败了,但没有提示信息,结果是用 nginx -s reload得出错误信息,如:

如何解决nginx中rtmp模块编译arm版本的问题

 因为在configure配置时,是指定安装目录--prefix=/usr/sbin,在编译完成后,会在/usr/sbin下新建了三个目录 sbin、conf、logs,各目录如:

如何解决nginx中rtmp模块编译arm版本的问题

 于是在arm板子上对应的新建sbin, conf, logs目录,并将其目录下的文件全部拷贝过去,结果运行成功了:

如何解决nginx中rtmp模块编译arm版本的问题

已经看到在监听1935端口。

之前也编译出来过arm版本,也是运行不成功,因为configure时prefix指定安装路径是pc上一个目录,结果也是出现如上的open()的错误。那如果configure配置时,--prefix指定的目录目标板子上没有,那就是运行不成功的,这个要怎么修改呢?还没查到,有知道的同学麻烦告知一下。

以上是“如何解决nginx中rtmp模块编译arm版本的问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何解决nginx中rtmp模块编译arm版本的问题

本文链接: https://www.lsjlt.com/news/303086.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解决nginx中rtmp模块编译arm版本的问题
    这篇文章主要为大家展示了“如何解决nginx中rtmp模块编译arm版本的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决nginx中rtmp模块编译arm版本的问题”这篇文章吧。一、...
    99+
    2023-06-22
  • nginx rtmp模块编译 arm版本的问题
    目录一、准备工作:二、源码编译1,configure 配置2,编译错误三、目标板上执行今天搞了一天,终于把nginx增加支持rtmp模块编译出来了,其中遇到了很多问题,记录下这篇文章...
    99+
    2024-04-02
  • 解决Maven多模块编译慢的问题
    目录Maven多模块编译慢完整命令如下Maven多模块编译中遇到的坑一、概述二、坑描述和解决方法踩坑描述解决方法Maven多模块编译慢 最近在部署项目时发现,Maven编译打包相当耗...
    99+
    2024-04-02
  • 如何解决Vue.js中template编译的问题
    这篇文章主要介绍了如何解决Vue.js中template编译的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。$mount首先看一下mou...
    99+
    2024-04-02
  • 如何解决C#版Nebula客户端编译的问题
    小编给大家分享一下如何解决C#版Nebula客户端编译的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、需求背景从Nebula的Github上可以发现,Ne...
    99+
    2023-06-20
  • maven多模块依赖版本不一致问题解决
    目录项目结构:项目环境:问题:maven依赖原则:复习springcloud-alibaba的时候,在自己本地搭建好了环境并做了个测试没有发现异常,第二天在公司克隆代码下来之后服务器...
    99+
    2023-05-19
    maven多模块依赖 maven 依赖版本
  • ubuntu中如何解决php无法编译问题
    小编给大家分享一下ubuntu中如何解决php无法编译问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ubuntu的php无法编译的解决办法:1、执行“apt-...
    99+
    2023-06-22
  • 如何解决Systemjs模块化问题
    这篇文章主要介绍“如何解决Systemjs模块化问题”,在日常操作中,相信很多人在如何解决Systemjs模块化问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决Sy...
    99+
    2024-04-02
  • 如何解决IDEA包转模块的问题
    这篇文章给大家分享的是有关如何解决IDEA包转模块的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在IDEA拉取代码,但是拉取下来之后,发现之前创建的模块变成包类型的了(直接模块也可能造成的这个问题,同样可以...
    99+
    2023-06-15
  • python模块引入问题如何解决
    这篇文章主要介绍“python模块引入问题如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python模块引入问题如何解决”文章能帮助大家解决问题。1.pycharm运行python脚本的过程...
    99+
    2023-07-05
  • ARM汇编如何解决阶乘及大小写转换的问题
    本篇文章为大家展示了ARM汇编如何解决阶乘及大小写转换的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。环境以及硬件一、硬件仿真基于 SAMSUNG's S3C44B0X 16/32-bi...
    99+
    2023-06-25
  • 如何解决Linux内核编译失败的问题
    本篇内容主要讲解“如何解决Linux内核编译失败的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决Linux内核编译失败的问题”吧!内核常识我们先要了解一点.一个内核有哪些东西.比如我...
    99+
    2023-06-12
  • 如何解决PHP找不到模块的问题
    在进行PHP语言开发过程中,经常会遇到"找不到模块"的错误提示,这是由于PHP配置文件中没有引用正确的扩展模块所导致的。PHP虽然是一门开放源代码的脚本语言,但在很多方面都需要进行配置,以便让代码正常运行。接下来,我们就...
    99+
    2023-05-14
  • 如何解决Vue编译时写在style中的路径问题
    这篇文章将为大家详细讲解有关如何解决Vue编译时写在style中的路径问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。写在vue文件里面的style样式,在添加例如背景...
    99+
    2024-04-02
  • vue中使用sass及解决sass-loader版本过高导致的编译错误问题
    目录使用sass及解决sass-loader版本过高导致编译错误安装依赖包使用解决编译错误安装sass(规避因版本过高报错)安装的两个命令配置文件样式标签更改使用sass及解决sas...
    99+
    2024-04-02
  • 如何解决mysql版本过高问题
    mysql版本过高导致出现group by的解决方法通过在mysql中执行以下两条sql语句即可解决set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,...
    99+
    2024-04-02
  • 如何解决多IE版本共存的问题
    这篇文章主要介绍“如何解决多IE版本共存的问题”,在日常操作中,相信很多人在如何解决多IE版本共存的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决多IE版本共存的问题”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-08
  • 如何解决Springboot中Feignclient调用时版本问题
    这篇文章主要为大家展示了“如何解决Springboot中Feignclient调用时版本问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决Springboot中Feignclient调用...
    99+
    2023-06-29
  • 如何解决css3中calc在less编译时被计算的问题
    这篇文章将为大家详细讲解有关如何解决css3中calc在less编译时被计算的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。对于前端er来说,Less或Sass已经是...
    99+
    2024-04-02
  • 如何理解网络Fedora gcc编译中的问题
    如何理解网络Fedora gcc编译中的问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。全面介绍Fedora gcc编译, 这里我发表一下个人理解,这里将介绍Fedora...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作