加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

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

08/20 14:24
1020
阅读需 7 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

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

(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”
(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
配置成功打印信息如下图所示:
(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
如下图所示:
5、编译源码

elf@ubuntu:~/work/nginx-1.20.0$ make
编译成功如下图所示:

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”,如下图所示:

9、测试

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

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

(2)启动nginx

root@ELF1:~# ./nginx -p /etc/nginx/
root@ELF1:~# ps -aux
(3)打开电脑浏览器,输入开发板的IP地址,如下图所示:

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

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
FTLX1475D3BTL 1 Finisar Corporation Transceiver,

ECAD模型

下载ECAD模型
$884.02 查看
ABS06-32.768KHZ-1-T 1 Abracon Corporation Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, ROHS COMPLIANT, CERAMIC, SMD, 2 PIN

ECAD模型

下载ECAD模型
$1.06 查看
CM200C32768DZFT 1 Citizen Finedevice Co Ltd Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, SMD, 4 PIN
$1.56 查看
飞凌嵌入式

飞凌嵌入式

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。收起

查看更多

相关推荐

电子产业图谱