本帖最后由 水精灵 于 2024-9-4 10:32 编辑

流媒体服务器是一种专门用于传输实时数据流的服务器软件,广泛用于视频直播、视频会议、音频播放等应用场景。在嵌入式开发领域,将流媒体服务器部署到开发板上可以实现诸如视频监控、实时数据传输等功能。本文将介绍如何利用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”注释掉,如下图所示。
图片1.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”;
图片2.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
配置成功打印信息如下图所示。
图片3.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
如下图所示。
图片4.png

5、编译源码。
elf@ubuntu:~/work/nginx-1.20.0$ make
编译成功如下图所示。
图片5.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;”,如下图所示。
图片6.png

9、测试。
1)查看版本信息和帮助信息。
root@ELF1:~# ./nginx -V
root@ELF1:~# ./nginx -h
图片7.png

2)启动nginx。
root@ELF1:~# ./nginx -p /etc/nginx/
root@ELF1:~# ps -aux
图片8.png

3)打开电脑浏览器,输入开发板的IP地址,如下图所示。
图片9.png

通过以上步骤就完成了流媒体服务器的搭建,希望这篇指南对大家有所帮助!

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Powered by Discuz! X3.5  © 2001-2013 Comsenz Inc.