ffmpg+nginx+vlc 播放海康摄像头视频

    最近公司安排我做网页上播放海康、大华摄像头视频的功能。把工作的流程记录一下,也希望能帮助其他人快速实现这个功能。

    加载视频首先想到的方案就是使用厂家提供的SDK进行摄像头直连。这种方式的好处是既可以播放视频又可以对摄像头进行云台控制。然而厂家只提供了IE的SDK,在谷歌、火狐等浏览器上根本不能用!于是果断放弃!

     因为公司只要求能够播放视频即可,不需要云台控制。貌似问题就变的简单很多。于是继续寻找方案。经过多方论证,最终确定采用RSTP转换成M3U8格式,再通过video.js播放视频方式实现这个需求。

实现步骤如下:

      1、确定摄像头支持RSTP服务:打开摄像头的配置页面,查看是否具有RTSP端口

     2、确定RSTP可用

     下载VLC万能播放器,在网络串流中输入RSTP路径,点击播放确定是否能看到视频。

       

     3、下载FFMPG

          到官网下载FFMPG软件,我是Windows64位格式,将下载后的压缩包解压。

          下载地址:https://ffmpeg.zeranoe.com/builds/

     4、执行格式转换

           使用cmd命令,找到ffmpeg-20190822-c87237d-win64-static\bin目录。执行如下命令,注意修改:

ffmpeg -i rtsp://admin:12345@192.0.0.64 -fflags flush_packets -max_delay 1 -an -flags -global_header -hls_time 1 -hls_list_size 3 -hls_wrap 3 -vcodec copy -y D:/ffmpeg/myVideo.m3u8

            红色内容为需要修改的内容,注意输出目录必须已存在,如果没有需手动创建。

     5、确定转换成功

            D:/ffmpg目录下,成功创建出了如下文件。说明转换成功

            

     6、发布视频流服务

            使用nginx将视频发布成web服务

            location /ffmpg/ {

                     root D:\ffmpg;

                     rewrite ^/ffmpg/(.*)$ \$1 break;

            }

      7、验证m3u8视频可用,使用vlc工具输入网络串流,确定视频是否可以查看即可

      

     8、将视频在网页上显示,下载video.js插件,视频流地址输入m3u8地址即可在线播放。

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你可以通过以下步骤来实现Java与RTSP、FFmpeg、HTML和Nginx的结合来实现视频实时播放的监控系统: 1. 首先,你需要使用Java来创建一个监控系统的后端服务。你可以使用Java的网络编程库来监听RTSP流并将其解码。可以使用开源的库,例如JRTSP或者Xuggler来处理RTSP流,并将其转换为可供播放视频流。 2. 接下来,你需要使用FFmpeg来处理视频流。FFmpeg是一个强大的多媒体处理工具,可以用于转码、解码、编码等操作。你可以使用FFmpeg来解码RTSP流,并将其转换为HTML5支持的视频格式,例如HLS(HTTP Live Streaming)或者MPEG-DASH(Dynamic Adaptive Streaming over HTTP)。 3. 在前端方面,你可以使用HTML和JavaScript来创建一个简单的视频播放器。你可以使用HTML5的<video>标签来嵌入视频,并使用JavaScript来控制视频播放、暂停等操作。你可以使用一些开源的视频播放器库,例如video.js或者plyr来简化开发过程。 4. 最后,你可以使用Nginx作为反向代理服务器来提供视频流的分发和缓存功能。Nginx可以将视频流从后端服务器转发给前端浏览器,并且可以缓存视频文件以提高性能和可靠性。你可以配置Nginx来支持HLS或者MPEG-DASH协议,并且可以使用Nginx的HTTP模块来进行性能优化和安全加固。 综上所述,通过将Java、RTSP、FFmpeg、HTML和Nginx结合起来,你可以实现一个监控视频的实时播放系统。这个系统可以从RTSP流中提取视频数据,经过FFmpeg处理后,通过HTML和JavaScript在浏览器中进行播放,并且可以使用Nginx提供性能优化和缓存支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值