如何在嵌入式Linux平台上使用Nginx搭建RTMP流媒体服务器?

2023-01-13 0 737

RTMP做为现阶段非主流的在线音视频传输协定,广为应用于音视频应用领域。所以他们怎样加速在PDP刀片上构筑起他们的rtmp在线音视频伺服器?第一集该文将带他们课堂教学呵呵。

简述

Nginx是两个以高效率平衡闻名的高效率能的HTTP和逆向代理web伺服器,它与此同时也是如前所述设计模式合作开发的触发器高效率能跨网络平台伺服器。Nginx-RTMP是如前所述Nginx架构的组件合作开发,较好地承继了Nginx的触发器高效率能和可扩展性好的缺点。

RTMP 是 Real Time Messaging Protocol (动态最新消息传输协定)的第两个字母简写。该协定如前所述TCP协定簇,是 Adobe 子公司为 Flash/AIR 网络平台和伺服器之间音、音视频及数据传输合作开发的实时最新消息传输协定。在 RTMP 协定中,音视频要是 h264 代码,音视频要是 AAC 或 MP3代码,且多以 flv 文件格式数据包。现阶段 RTMP 是非主流的在线音视频传输协定。而Nginx-RTMP组件主要就是对rtmp协定的与此同时实现,广为应用于音视频应用领域。

所以下列将透过两个单纯的音视频监视计划带他们介绍下Nginx-RTMP在线音视频伺服器的构筑操作过程。

计划与此同时实现

以M3568网络平台为例,在PDPLinux控制系统上构筑Nginx-RTMP在线音视频伺服器和透过ffmpeg/gstreamer与此同时实现单纯的固定式流操作过程。与此同时实现架构如图1所示。

如何在嵌入式Linux平台上使用Nginx搭建RTMP流媒体服务器?

图1

● 采集M3568刀片上的摄像头音视频流,采用gstreamer/ffmpeg进行RTMP

如何在嵌入式Linux平台上使用Nginx搭建RTMP流媒体服务器?

1. 前期准备

1.1 硬件

● M3568核心板;

● M3568-EV-Board底板;

● usb摄像头(如果没有摄像头可以采用mp4音视频文件代替做测试)。

1.2 软件

● PC上安装vlc播放工具;

● 带nginx-rtmp-module组件编译的nginx安装包(nginx-install.tar)。

(备注:第一集该文没有展开讲述Nginx + nginx-rtmp-module的交叉编译操作过程和具体步骤,但此部分内容已发布在ZLG开发者社区上,可透过链接

https://z.zlg.cn/articleinfo?id=853011 进行访问。)

2. 与此同时实现步骤

2.1 将移植好的nginx安装包拷贝到刀片上,然后解压到刀片的根目录下。

2.2 修改/etc/nginx/nginx.conf配置文件,添加rtmp配置。如图2所示。

如何在嵌入式Linux平台上使用Nginx搭建RTMP流媒体服务器?

图2

2.3 执行如下命令启动nginx伺服器。

nginx -c /etc/nginx/nginx.conf

2.4 在刀片上执行如下推流命令,采集摄像头的动态音视频流推送至刀片上的nginx伺服器上。

gst-launch-1.0 v4l2src device=/dev/video5 ! \

video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! \

queue ! videoconvert ! mpph264enc ! \

video/x-h264,stream-format=byte-stream ! queue ! \

h264parse! flvmux ! rtmpsink location=rtmp://192.168.1.136:1935/myapp/test

如果采用mp4音视频文件做推流测试,可直接执行如下推流命令。

ffmpeg-re-i./test.mp4-c copy -f flv rtmp://192.168.1.136:1935/myapp/test

2.5 此处刀片上的IP地址配置为192.168.1.136,此时将PC电脑接在跟刀片同两个局域网上,然后采用vlc播放器打开网络串流

rtmp://192.168.1.136:1935/myapp/test即可预览音视频流画面。
00:27

ZLG官方商城:https://sale.zlg.cn

ZLG合作开发者社区:https://z.zlg.cn

更多详细产品信息、技术干货,请关注微信公众号“ZLG致远电子”

举报/反馈

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务