记录对接海康威视摄像头web端实时预览:Linux+ffmpeg+nginx转换RTSP视频流(完整版实现)

这篇具有很好参考价值的文章主要介绍了记录对接海康威视摄像头web端实时预览:Linux+ffmpeg+nginx转换RTSP视频流(完整版实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 前言

        需求:web端实现海康摄像头实时预览效果

        由于市面上大部分网络摄像头都支持RTSP协议视频流,web端一般无法直接使用RTSP实现视频预览,本篇使用ffmpeg对视频流进行转换,最终实现web端实时预览。

        工具介绍:ffmpeg、nginx、vue

2. nginx

        介绍:高性能的http和反向代理web服务器,同时提供了IMAP、POP3、SMTP服务。

2.1. 安装nginx依赖

2.1.1. pcre

        下载地址若失效可自行去网上找

wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
tar -zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make
sudo make install

2.1.2. zlib

若链接失效跳转官方https://zlib.net/

wget http://zlib.net/zlib-1.2.13.tar.gz
tar -zxf zlib-1.2.13.tar.gz
cd zlib-1.2.13
./configure
make
sudo make install

2.1.3. openssl

wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz
tar -zxvf openssl-fips-2.0.10.tar.gz
cd openssl-fips-2.0.10
./config && make && make install

2.1.4. 下载nginx:nginx-http-flv-module

git clone https://github.com/winshining/nginx-http-flv-module.git

2.1.5. 安装nginx

wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar zxvf nginx-1.10.2.tar.gz
cd nginx-1.10.2
# 编译时指定nginx-http-flv-module的目录
./configure --add-module=/opt/nginx-http-flv-module
make
sudo make install

        到此,nginx已经安装完成了,接下来修改nginx的配置,配置模板在https://github.com/winshining/nginx-http-flv-module.git最后给出的example configuration取nginx.conf替换掉nginx默认的nginx.conf

配置模板中只需修改server_name改成自己服务器的IP地址

cd /usr/local/nginx/conf
mv nginx.conf nginx.conf_bak
# 上传配置模板..
# 启动nginx
cd /usr/local/nginx/sbin
./nginx

3. ffmpeg

3.1. ffmpeg介绍

        它的官网为:https://ffmpeg.org/,由Fabrice Bellard(法国著名程序员Born in 1972)于2000年发起创建的开源项目。该人是个牛人,在很多领域都有很大的贡献。

        FFmpeg是多媒体领域的万能工具。只要涉及音视频领域的处理,基本上没有它做不了的事情!通俗点讲,从视频录制、视频编辑再到播放,它都能做!

        抖音,爱奇艺、腾讯视频、优酷视频,还有播放器,像QQ影音、暴风影音等,都离不开它!否则非常痛苦!为什么呢?

        因为又要招一大帮人来把多媒体领域内的基础工具(音视频编解码器、文件格式和协议库、滤镜库等等)实现掉。

3.2. 安装yasm

ffmpeg为了提高编译速度,使用了汇编指令,如果系统中没有yasm指令的话编译会报错

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
sudo make install

3.3. ffmpeg安装

wget http://www.ffmpeg.org/releases/ffmpeg-4.1.tar.gz
tar -zxvf ffmpeg-4.1.tar.gz
# 创建ffmpeg文件夹,指定安装目录
mkdir /opt/ffmpeg
cd /opt/ffmpeg-4.1
./configure --prefix=/usr/local/ffmpeg
make # 这一步很慢,大概5-10分钟,耐心等待
sudo make install

3.4. 配置环境变量

配置环境变量使命令全局生效

vi /etc/profile
# 在最后PATH添加环境变量:
export PATH=$PATH:/opt/ffmpeg/bin
# 保存退出
source /etc/profile
# 将ffmepg的lib目录链接到系统库中
vi /etc/ld.so.conf
# 在文档后追加内容: /opt/ffmpeg/lib/
# 指定ffmpeg的安装目录lib文件夹,添加完后执行ldconfig,使配置生效
ldconfig
# 查看版本,测试是否生效
ffmpeg --version

        到此ffmpeg和nginx都已经安装完成了,接下只需要执行ffmepg相关的命令开始推流进行转换操作,之后配和nginx对转换后的流进行访问,就可以在页面上实现实时预览了

4. ffmpeg推流

        ffmpeg命令非常多,本次测试也踩了一些坑,最终找到一条可以正常转换,预览的命令;

        ffmpeg支持对不同的流转换到不同的流,本次测试对海康威视H.264码流转换成FLV格式的流。需要其它流转换的小伙伴可以去官网或者百度搜索相关的转换命令。

ffmpeg -ss 0:01 -rtsp_transport tcp -i rtsp://user:password@ip:port/h264/ch1/main/av_stream -c copy -f flv rtmp://127.0.0.1:1935/myapp/test1

命令参数介绍

ffmpeg -ss 0:01 -rsto_transport tcp -i:固定写法

rtsp://user:password@ip:port/h264/ch1/main/av_stream

海康的rstp链接模板

user:海康用户名

password:海康用户密码

ip:海康摄像头ipv4地址

port:海康摄像机端口

h264:海康支持的码流编码

ch1:通道号

main:主码流(sub 子码流)

av_stream:主码流

-c copy: 对流输出进行复制,不再进行编码

-f flv:转成flv格式

rtmp://127.0.0.1:1935/myapp/test:与nginx配置相对应,1935为nginx的rtmp配置的端口,myapp是nginx.conf配置的application,test是自定义的名称,也就是后面通过页面访问用到的uri地址

5. web页面取流

取流URL:http://ip:port/live?port=1935&app=myapp&stream=test

参数介绍

ip:port:nginx代理的ip、port,由于是http协议,一定要使用nginx代理的http协议端口

live:nginx配置中的路由地址

port=1935:nginx的rtmp协议端口

app=myapp:nginx配置的应用名称

stream=test:上文进行推流的地址名称

5.1. 前端代码

        由于我们使用的flv码流类型,所以前端要使用一款支持flv视频类型的插件进行展示,网上插件很多,不再做介绍。文章来源地址https://www.toymoban.com/news/detail-824357.html

到了这里,关于记录对接海康威视摄像头web端实时预览:Linux+ffmpeg+nginx转换RTSP视频流(完整版实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 海康威视摄像头二次开发_云台控制_视频画面实时预览(基于Qt实现)

    需求:需要在公司的产品里集成海康威视摄像头的SDK,用于控制海康威视的摄像头。 拍照抓图、视频录制、云台控制、视频实时预览等等功能。 开发环境: windows-X64(系统) + Qt5.12.6(Qt版本) + MSVC2017_X64(使用的编译器) 海康威视提供了 设备网络SDK ,设备网络SDK是基于设备私有网

    2024年02月13日
    浏览(60)
  • vue中web端播放rtsp视频流(摄像头监控视频)(海康威视录像机)

    ffmpeg下载 https://ffmpeg.org/download.html 找ffmpeg-release-essentials.zip点击下载,下载完解压 ffmpeg.exe 程序运行 添加成功后验证是否生效任意地方打开cmd窗口输入 ffmpeg 打印如下表示成功 新建一个app.js文件,同级目录下npm安装 node-rtsp-stream 我是直接写在项目里了,你们可以单独写在外

    2024年04月25日
    浏览(55)
  • vue2 对接 海康摄像头插件 (视频WEB插件 V1.5.2)

    前言 海康视频插件v.1.5.2版本运行环境需要安装插件VideoWebPlugin.exe,对浏览器也有兼容性要求,具体看官方文档 对应下载插件 去海康官网下载插件 里面有dome等其他需要用到的 地址: 安装插件 打开下载的文件里的bin文件 安装一下VideoWebPlugin vue脚手架中集成插件 把官方资源

    2024年02月03日
    浏览(50)
  • vue对接海康web1.5.2开发包,实现摄像头画面展示

    目录 前言 一、首先下载视频web插件v.1.5.2版本 二、利用官方插件包进行相关需求开发 1.官方插件包和开发文档的下载 2.在项目中引入插件包的相关的js (1)下载完成后打开 (2)在项目中public文件下创建一个文件夹放视频插件js 3..new 一个WebControl 插件相关实例  (1)创建Web

    2024年02月08日
    浏览(47)
  • 海康威视摄像头选型号指南

    看了一个星期的摄像头,经过无数的踩坑和扯皮,看了无数的说明书和博文,终于从茫茫的摄像头型号中浮上岸了,对这个摄像头是什么玩意儿有了大致清晰的认识。我只是用来开发的,怎么简单怎么来,所以和民用的方向不一样,但也可做个参考。 像素:200-400万(根据需求

    2024年02月09日
    浏览(230)
  • C# 搜索海康威视网络摄像头

    源代码 https://download.csdn.net/download/syukugai/88299251

    2024年02月10日
    浏览(52)
  • opencv调用海康威视工业摄像头

    opencv调用海康威视工业摄像头需要用到官方接口VideoCapture() 接口:cv2.VideoCapture() 作用:获取本地目录下的视频文件或者使用本电脑的摄像头获取实时数据;  “0” ,调用的是本地电脑摄像头 “1” ,调用的是外接摄像头 打开MVS  正常设置使画面正常  然后找到宽度和长度

    2024年02月13日
    浏览(53)
  • 海康威视监控摄像头连接电脑教程

    官网下载SADP软件:https://www.wolai.com/wM6rWeBrRtrfmMH2BTVUXZ 双击下载的软件进行安装 打开软件,将设备连接到摄像头,便可在软件中搜索到摄像头 选择摄像头,输入管理员密码,即可完成对摄像头的控制 设置摄像机IP地址与网口地址处于同一网段 设置网络摄像机IP地址时,保持设

    2024年02月04日
    浏览(220)
  • 基于海康SDK实现Python调用海康威视网络摄像头

    本文参考博客,写得很好: Python调用海康威视网络相机之——python调用海康威视C++的SDK Python调用海康威视网络相机C++的SDK 写本文的目的,也是快速复盘,所以没有很详细 保存视频流到本地可参考下一篇:基于海康SDK实现Python保存海康威视网络摄像头拍摄的视频 Windows11 Vis

    2024年02月02日
    浏览(67)
  • 海康威视摄像头播放录像视频(RTSP协议)

    旧URL:rtsp://[username]:[password]@[ipaddress]/[videotype]/ch[number]/[streamtype] 如:rtsp://admin:12345@192.168.25.64:554/h264/ch1/main/av_stream 新URL:rtsp://[username]:[password]@[IP]:554/Streaming/Channels/[channelID][streamID] 如:rtsp://admin:12345@192.168.25.64:554/Streaming/Channels/101 录像机其实和摄像机基本一样,旧URL中摄像

    2024年02月12日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包