找回密码
 立即注册
查看: 3299|回复: 0

[linux] 海康威视摄像头RTSP使用nginx推流到服务器直播教程

[复制链接]

224

主题

0

回帖

773

积分

高级会员

积分
773
发表于 2024-6-18 12:27:01 | 显示全部楼层 |阅读模式
本帖最后由 御坂主机 于 2024-6-18 12:28 编辑

1. 引言

实时流协议(RTSP)广泛用于视频流传输。海康威视摄像头支持RTSP协议,使其成为实时监控和直播的理想选择。通过使用Nginx和RTSP,我们可以将摄像头视频流推送到服务器进行直播。本文将详细介绍如何实现这一过程。

2. 环境准备

2.1 安装Nginx

首先需要安装Nginx。可以通过包管理器进行安装:

对于Ubuntu/Debian:

  1. sudo apt update
  2. sudo apt install nginx
复制代码


对于CentOS:

  1. sudo yum install epel-release
  2. sudo yum install nginx
复制代码

2.2 安装Nginx RTMP模块

为了支持RTSP,我们需要安装Nginx的RTMP模块。这可以通过从源代码编译Nginx并包含RTMP模块来实现。

(1) 下载并解压Nginx和RTMP模块的源代码:

  1. wget <a href="http://nginx.org/download/nginx-1.18.0.tar.gz" target="_blank">http://nginx.org/download/nginx-1.18.0.tar.gz</a>
  2. tar -zxvf nginx-1.18.0.tar.gz
  3. git clone <a href="https://github.com/arut/nginx-rtmp-module.git" target="_blank">https://github.com/arut/nginx-rtmp-module.git</a>
复制代码


(2) 编译Nginx并包含RTMP模块:

  1. cd nginx-1.18.0
  2. ./configure --add-module=../nginx-rtmp-module
  3. make
  4. sudo make install
复制代码


3. 配置Nginx

3.1 编辑Nginx配置文件

打开Nginx配置文件`nginx.conf`,添加RTMP配置:

  1. rtmp {
  2.     server {
  3.         listen 1935;
  4.         chunk_size 4096;

  5.         application live {
  6.             live on;
  7.             record off;
  8.         }
  9.     }
  10. }
复制代码


在`http`块中添加以下内容以支持HLS直播:

  1. location /hls {
  2.     types {
  3.         application/vnd.apple.mpegurl m3u8;
  4.         video/mp2t ts;
  5.     }
  6.     alias /tmp/hls;
  7.     expires -1;
  8.     add_header Cache-Control no-cache;
  9. }
复制代码


3.2 启动Nginx

保存配置文件后,启动Nginx:

  1. sudo nginx
复制代码


4. 配置海康威视摄像头

4.1 获取RTSP地址

登录海康威视摄像头的管理界面,导航到网络设置,找到RTSP的配置选项。通常,RTSP地址格式如下:

  1. rtsp://username:password@camera-ip:554/Streaming/Channels/101
复制代码


4.2 验证RTSP流

可以使用VLC等媒体播放器验证RTSP流是否正常工作。打开VLC,选择“媒体”->“打开网络串流”,输入RTSP地址并点击播放。

5. 使用FFmpeg推流

5.1 安装FFmpeg

在服务器上安装FFmpeg:

对于Ubuntu/Debian:

  1. sudo apt update
  2. sudo apt install ffmpeg
复制代码


对于CentOS:

  1. sudo yum install epel-release
  2. sudo yum install ffmpeg
复制代码


5.2 推流到Nginx服务器

使用FFmpeg将摄像头RTSP流推送到Nginx服务器:

  1. ffmpeg -i rtsp://username:password@camera-ip:554/Streaming/Channels/101 -c copy -f flv rtmp://localhost/live/stream
复制代码


6. 配置播放器

6.1 本地播放器

可以使用VLC等本地播放器观看直播。打开VLC,选择“媒体”->“打开网络串流”,输入以下URL:

  1. rtmp://server-ip/live/stream
复制代码


6.2 HLS播放

在浏览器中观看直播,使用以下URL:

  1. http://server-ip/hls/stream.m3u8
复制代码


7. 结论

通过本文的步骤,您可以成功地将海康威视摄像头的视频流通过Nginx服务器进行直播。这个解决方案适用于实时监控和直播,具有良好的性能和灵活性。希望本文对您有所帮助。

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

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-5 02:32 , Processed in 0.069778 second(s), 24 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表