广告位

华赖云服务器一体化系统(三)智慧物业监控数据推流多平台部署—东方仙盟练气期

频道: 日期: 浏览:4

湖南云服务器主机

编辑

摄像头推流及播放系统安装配置说明书

一、名词解释

RTSP:实时流传输协议,用于在网络上控制多媒体数据的实时传输,常见于摄像头的视频流传输。ONVIF:开放网络视频接口论坛标准协议,用于不同厂商的网络视频设备之间的互联互通,支持云台控制等功能。HLS:HTTP 实时流协议,苹果公司提出的基于 HTTP 的流媒体网络传输协议,以 .m3u8 为索引文件,包含多个 .ts 视频分片,适合在网页和移动端播放。RTMP:实时消息传输协议,Adobe 公司开发的用于实时数据传输的协议,常用于直播推流。FFmpeg:一套强大的开源音视频处理工具,可用于视频流的转码、转换格式等操作。FRP:一款开源的内网穿透工具,可将内网服务映射到公网,实现无公网 IP 的设备在公网被访问。

二、服务器要求

1. RTMP 服务器

最低配置:1 核 2G 服务器,普通云服务器(如阿里云 ECS、腾讯云 CVM)即可,支持 Linux(推荐 Ubuntu/CentOS)或 Windows。网络:需开放 RTMP 默认端口 1935(防火墙需允许该端口入站 / 出站),若推流 / 拉流并发高,建议带宽≥5Mbps(根据同时推流的路数和码率调整)。

2. 中间服务服务器

普通服务器(2 核 4G)可承载多个摄像头的低码率流。

三、安装配置步骤

(一)摄像头协议转 M3U(HLS)

1. 本地转换(以 RTSP 流为例)

安装 FFmpeg:从官网(ffmpeg.org)下载对应系统的 FFmpeg,配置环境变量,确保终端 / 命令行可直接调用。执行转换命令:在本地终端运行以下命令,将 RTSP 流实时转为 M3U8 格式,输出到本地文件夹。

bash

ffmpeg -i"rtsp://摄像头IP:端口/流地址"-c:v h264 -hls_time2-hls_list_size0-hls_segment_filename"output_%03d.ts"output.m3u8本地播放:用支持 HLS 的播放器(如 VLC、PotPlayer)直接打开 output.m3u8,即可播放转换后的流;若要在网页播放,用 HTML5 的 标签引用该文件(需通过本地服务器访问,避免浏览器跨域限制)。

2. 服务器转换(结合 RTMP 服务器)

编译安装 Nginx+RTMP 模块

bash

安装依赖sudo aptupdate&& sudo aptinstall-ybuild-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev下载 Nginx 和 rtmp 模块源码wgethttp://nginx.org/download/nginx-1.24.0.tar.gz wget https://github.com/arut/nginx-rtmp-module/archive/refs/tags/v1.2.2.tar.gz解压并编译tar -zxvf nginx-1.24.0.tar.gz tar -zxvf v1.2.2.tar.gz cd nginx-1.24.0./configure--add-module=../nginx-rtmp-module-1.2.2make && sudo makeinstall配置 RTMP 服务(编辑 Nginx 配置文件,默认路径:/usr/local/nginx/conf/nginx.conf)

nginx

rtmp{server{listen1935;RTMP 默认端口chunk_size4096;applicationlive {对应推流地址中的 "live" 路径liveon;开启直播模式hlson;开启 HLS 转换hls_path/usr/local/nginx/html/hls;HLS 文件(.m3u8 和 .ts)的存储路径hls_fragment5s;每个 .ts 分片的时长(建议 3 - 10 秒,越小延迟越低,带宽消耗越高)hls_playlist_length30s;.m3u8 索引文件中保留的分片时长总和(超过则删除旧分片)hls_continuouson;持续生成分片,避免中断hls_cleanupon;自动删除过期的 .ts 分片hls_nestedon;允许为不同流创建子目录(如按流名称区分)} } }HTTP 服务配置(用于访问 HLS 文件)http{includemime.types;default_typeapplication/octet-stream;server{listen80;HTTP 端口location/hls {指向 HLS 文件存储路径(需与 rtmp 块中的 hls_path 一致)root/usr/local/nginx/html;add_headerCache-Controlno-cache;禁止缓存,确保拉流端获取最新分片允许跨域(网页播放可能需要)add_headerAccess-Control-Allow-Origin *; } } }创建 HLS 存储目录并授权

bash

创建配置中指定的 hls_path 目录mkdir-p /usr/local/nginx/html/hls赋予 Nginx 用户权限(通常是 nginx 或 www-data)chown-R nginx:nginx /usr/local/nginx/html/hls重启 Nginx 生效

bash

/usr/local/nginx/sbin/nginx -s reload平滑重启,若配置有误,需先检查:nginx -t测试推流与拉流推流:使用推流工具(如 OBS),设置推流地址为 rtmp://你的服务器 IP:1935/live/流名称(流名称自定义,如 "stream1")。拉流:通过 HTTP 访问 .m3u8 文件即可播放,地址为 http://你的服务器 IP/hls/流名称.m3u8。可以用浏览器直接访问(支持 HLS 的浏览器,如 Chrome、Safari);用播放器(如 VLC)打开该地址;网页中嵌入 标签:

html

企友云服务器

<videocontrols><sourcesrc="http://你的服务器 IP/hls/流名称.m3u8"type="application/x-mpegURL">

关键词: