0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ElfBoard技术贴|如何在ELF 1开发板上搭建流媒体服务器

ElfBoard 2024-08-20 14:48 次阅读
wKgaombELVOActtnAAiTWFXdZfk755.png(ELF1/ELF1S开发板及显示屏)

流媒体服务器是一种专门用于传输实时数据流的服务器软件,广泛用于视频直播、视频会议、音频播放等应用场景。在嵌入式开发领域,将流媒体服务器部署到开发板上可以实现诸如视频监控、实时数据传输等功能。本文将介绍如何利用nginx和其rtmp流媒体模块,在ELF 1开发板上搭建一个高效稳定的流媒体服务器。

1、下载源码

http://nginx.org/download/

nginx-rtmp-module模块下载地址:
https://github.com/arut/nginx-rtmp-module.git

2、拷贝nginx-1.20.0.tar.gz和nginx-rtmp-module-master.zip到开发环境/home/elf/work目录下解压

elf@ubuntu:~/work$ tar -zxvf nginx-1.20.0.tar.gz elf@ubuntu:~/work$ unzip nginx-rtmp-module-master.zip elf@ubuntu:~/work$ cd nginx-1.20.0/

3、执行环境变量

elf@ubuntu:~/work/nginx-1.20.0$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

4、配置源码

(1)修改auto/cc/name文件

elf@ubuntu:~/work/nginx-1.20.0$ vi auto/cc/name

将21行处的“exit 1”注释掉,如下图所示:

wKgZombELeOARJCzAAF2XSVrUo0617.png

(2)修改auto/types/sizeof文件

elf@ubuntu:~/work/nginx-1.20.0$ vi auto/types/sizeof

将15行处的“ngx_size=”修改为“ngx_size=4”

将36行处的“$CC”修改为“gcc”

将43行处的“ngx_size=`$NGX_AUTOTEST`”修改为“ngx_size=4”

wKgZombELi-AT4ZmAAE7zPH--7Y159.png

(3)执行如下命令进行配置

elf@ubuntu:~/work/nginx-1.20.0$ ./configure --prefix=/home/elf/work/nginx-1.20.0/install --with-http_ssl_module --with-http_mp4_module --with-http_v2_module --with-http_v2_module --without-http_upstream_zone_module --add-module=/home/elf/work/nginx-rtmp-module-master

配置成功打印信息如下图所示:

wKgZombELnGAPBHLAAUNEsaglwA915.png

(4)修改objs/ngx_auto_config.h文件

elf@ubuntu:~/work/nginx-1.20.0$ vi objs/ngx_auto_config.h

添加如下内容:

#ifndef NGX_HAVE_SYSVSHM #define NGX_HAVE_SYSVSHM 1 #endif

如下图所示:

wKgaombELr2AJxvKAAKU0d2guWY811.png

5、编译源码

elf@ubuntu:~/work/nginx-1.20.0$ make

编译成功如下图所示:

wKgZombELvmAGdJDAAX-bNGWi7A620.png

6、安装

elf@ubuntu:~/work/nginx-1.20.0$ make install elf@ubuntu:~/work/nginx-1.20.0$ ls install/ conf html logs sbin

7、拷贝install安装目录下的文件到ELF 1开发板

(1)拷贝sbin下的nginx到ELF 1开发板的/home/root路径下

root@ELF1:~# cp /run/media/sda1/sbin/nginx .

(2)在ELF 1开发板/etc目录下新建nginx目录

root@ELF1:~# mkdir /etc/nginx

(3)拷贝conf、html、logs目录到开发板/etc/nginx目录

root@ELF1:~# cp -r /run/media/sda1/conf/ /etc/nginx/ root@ELF1:~# cp -r /run/media/sda1/html/ /etc/nginx/ root@ELF1:~# cp -r /run/media/sda1/logs/ /etc/nginx/ root@ELF1:~# ls /etc/nginx/ conf html logs

8、修改/etc/nginx/conf/nginx.conf文件

将2行处的“#user nobody”修改为“user root”,如下图所示:

wKgaombEL5CACNYEAAINW6fO1Ik348.png

9、测试

(1)查看版本信息和帮助信息

root@ELF1:~# ./nginx -V root@ELF1:~# ./nginx -h

wKgZombEL72AEDPKAANoofmtVaU777.png

(2)启动nginx

root@ELF1:~# ./nginx -p /etc/nginx/ root@ELF1:~# ps -aux

wKgZombEL--AOFObAARyQWR3CE8788.png

(3)打开电脑浏览器,输入开发板的IP地址,如下图所示:

wKgZombEO-KAO3qmAAC5oJCqIgY075.png

通过以上步骤就已经完成了流媒体服务器的搭建。希望本篇指南能成为您在探索嵌入式技术旅程中的得力助手。如果您在实践中遇到任何问题,欢迎随时留言交流。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5082

    文章

    19118

    浏览量

    305033
  • 服务器
    +关注

    关注

    12

    文章

    9148

    浏览量

    85394
  • 流媒体技术
    +关注

    关注

    0

    文章

    3

    浏览量

    5427
  • 流媒体
    +关注

    关注

    1

    文章

    194

    浏览量

    16660
  • 开发板
    +关注

    关注

    25

    文章

    5046

    浏览量

    97430
收藏 人收藏

    评论

    相关推荐

    ELF 1技术|在NXP源码基础适配开发板的按键功能

    ELF1开发板。接下来,我们将详细阐述适配过程中关于按键功能实现的完整步骤。值得一提的是,ELF1开发板预置了标识为K
    的头像 发表于 03-08 16:58 966次阅读
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|在NXP源码基础<b class='flag-5'>上</b>适配<b class='flag-5'>开发板</b>的按键功能

    ElfBoard技术|如何在NXP源码基础适配ELF 1开发板的UART功能

    UART即通用异步收发,是一种支持全双工串行通信协议的接口。在i.MX6ULL处理平台上,该处理原生支持多达8路的UART接口,提供了丰富的串行通信能力。 针对ELF
    的头像 发表于 09-25 13:56 2309次阅读
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b>NXP源码基础<b class='flag-5'>上</b>适配<b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>开发板</b>的UART功能

    飞凌ElfBoard ELF 1板卡-如何在ELF 1开发板实现对java的支持

    /mergesort# java MergeDemo其他测试例程方法类似。 完成上述一系列步骤,即可在ELF 1开发板上成功实现Java环境的搭建与运行,我们衷心希望这篇教程指南能成为
    发表于 03-20 09:51

    飞凌嵌入式-ElfBoard-项目分享|基于ELF 1S开发板完成的物联网开源项目

    方提供的移植文档。 在涂鸦云服务器建立好产品,完成功能定义,完成设备交互面板设计,移植完Tuya Link SDK,等一系列操作后,就可以让ELF 1S
    发表于 05-16 09:12

    Linux下视频流媒体直播服务器搭建详解

    下面给大家介绍如何在Linux下搭建流媒体服务器系统(以八百里流媒体直播系统为例) 第一步:安装前1
    发表于 06-02 14:35

    什么是流媒体服务器

    服务器就是MPEG4等压缩格式,会遵循一定的技术指示然后进行压缩编码,从而可以进行数据传输和存储。  它们主要的区别在于:  流媒体它是边传边揪的一种格式,在互联网中,它可以传着音频,媒体
    发表于 06-30 09:28

    webrtc流媒体转发服务器是如何定义的

    webrtc流媒体转发服务器定义难点建立连接如何转发媒体流如何高效转发媒体流转发后如何保证视频质量定义由于webrtc是基于P2P技术的一个
    发表于 02-11 06:16

    i.MX6ULL——ElfBoard ELF1板卡 TFTP网络服务搭建的方法来啦

    在网络服务搭建和测试时,ubuntu的网络模式需要设置为桥接模式,电脑主机、ubuntu主机、开发板三者的ip要处于同一网段,并且ubuntu主机要能上外网。关闭ubuntu和windows防火墙
    发表于 11-23 09:56

    技术分享】如何在嵌入式Linux平台上使用Nginx搭建RTMP流媒体服务器

    RTMP作为目前主流的流媒体传输协议,广泛应用于音视频领域。那么我们如何快速在嵌入式板子搭建起自己的rtmp流媒体服务器?本篇文章将带大家
    的头像 发表于 01-05 15:15 668次阅读

    瑞芯为RK3568开发板搭建NFS服务器

    瑞芯为RK3568开发板搭建NFS服务器
    的头像 发表于 05-24 14:10 1210次阅读
    瑞芯为RK3568<b class='flag-5'>开发板</b><b class='flag-5'>搭建</b>NFS<b class='flag-5'>服务器</b>

    技术分享】如何在嵌入式Linux平台上使用Nginx搭建RTMP流媒体服务器

    RTMP作为目前主流的流媒体传输协议,广泛应用于音视频领域。那么我们如何快速在嵌入式板子搭建起自己的rtmp流媒体服务器?本篇文章将带大家
    的头像 发表于 01-13 09:27 1317次阅读
    【<b class='flag-5'>技术</b>分享】如<b class='flag-5'>何在</b>嵌入式Linux平台上使用Nginx<b class='flag-5'>搭建</b>RTMP<b class='flag-5'>流媒体</b><b class='flag-5'>服务器</b>?

    使用英特尔开发者套件搭建RTMP流媒体服务器

    本文将会介绍如何使用英特尔 开发者套件——爱克斯开发板快速搭建 RTMP 流媒体服务器,并利用 FFmpeg* 实现视频推流的功能。由于 F
    的头像 发表于 07-18 15:58 815次阅读
    使用英特尔<b class='flag-5'>开发</b>者套件<b class='flag-5'>搭建</b>RTMP<b class='flag-5'>流媒体</b><b class='flag-5'>服务器</b>

    ELF 1技术|如何将Python3.6.9移植到开发板

    如何进行交叉编译并移植到ELF1开发板。在网址:https://www.python.org/ftp/python/下载Python-3.6.9.tar.xz压缩
    的头像 发表于 02-22 14:06 429次阅读
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如何将Python3.6.9移植到<b class='flag-5'>开发板</b><b class='flag-5'>上</b>

    ELF技术|如何在开发板实现对Java的支持

    Java作为一种功能强大且广泛应用的编程语言,具有广泛的适应性和实用性。在ELF1开发板上集成Java支持,无疑将赋予嵌入式开发者更广阔的选择空间,今天就为各位小伙伴详细解析如何在
    的头像 发表于 03-13 16:47 512次阅读
    <b class='flag-5'>ELF</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b><b class='flag-5'>开发板</b><b class='flag-5'>上</b>实现对Java的支持

    ElfBoard技术|在NXP源码基础适配ELF 1开发板的按键功能

    本次源码适配工作是在NXPi.MX6ULLEVK评估的Linux内核源码(特定版本:Linux-imx_4.1.15)基础上进行的。主要目标是调整功能接口引脚配置,以适应ELF1开发板。接下来
    的头像 发表于 07-10 09:54 607次阅读
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|在NXP源码基础<b class='flag-5'>上</b>适配<b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>开发板</b>的按键功能