1、参考 https://blog.csdn.net/u013769085/article/details/108800323

https://blog.csdn.net/weixin_42396332/article/details/105430015

https://www.jianshu.com/p/d9c66d7d1653

2、ffmpeg转码

ffmpeg.exe -rtsp_transport tcp -buffer_size 4096000 -i "rtsp://admin:123456@192.168.1.2:554/Streaming/Channels/201" -vcodec copy -acodec copy -f flv rtmp://192.168.1.100:1935/myapp/0003

3、使用flv.js插入时,结果报错:Unsupported codec in video frame: 2, 视频帧中不支持的编解码器

改为以下命令(项目中用的摄像头没有音频,所以此处用 -an,不输出音频)

ffmpeg.exe -rtsp_transport tcp -buffer_size 4096000 -i "rtsp://admin:123456@192.168.1.2:554/Streaming/Channels/201" -vcodec copy -an -f flv rtmp://192.168.1.100:1935/myapp/0003

4、播放

<!DOCTYPE html>
<html>
<head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"><title>flv.js demo</title><style>.mainContainer {display: block;width: 1024px;margin-left: auto;margin-right: auto;}.urlInput {display: block;width: 100%;margin-left: auto;margin-right: auto;margin-top: 8px;margin-bottom: 8px;}.centeredVideo {display: block;width: 100%;height: 576px;margin-left: auto;margin-right: auto;margin-bottom: auto;}.controls {display: block;width: 100%;text-align: left;margin-left: auto;margin-right: auto;}</style>
</head>
<body><div class="mainContainer"><video id="videoElement" class="centeredVideo" controls autoplay width="1024" height="576" muted>Your browser is too old which doesn't support HTML5 video.</video></div><br><div class="controls"><!--<button onclick="flv_load()">加载</button>--><button onclick="flv_start()">开始</button><button onclick="flv_pause()">暂停</button><button onclick="flv_destroy()">停止</button><input style="width:100px" type="text" name="seekpoint" /><button onclick="flv_seekto()">跳转</button></div><script src="https://cdn.bootcdn.net/ajax/libs/flv.js/1.5.0/flv.min.js"></script><script>var player = document.getElementById('videoElement');if (flvjs.isSupported()) {var flvPlayer = flvjs.createPlayer({type: 'flv',url: 'http://192.168.1.100:8005/live?port=1935&app=myapp&stream=0003',"isLive": true,//<====加个这个 hasAudio: false,hasVideo: true,//withCredentials: false,//cors: true}, {enableWorker: true,  // 开启多线程enableStashBuffer: false,lazyLoad: false,lazyLoadMaxDuration: 0,lazyLoadRecoverDuration: 0,deferLoadAfterSourceOpen: false,fixAudioTimestampGap: true,autoCleanupSourceBuffer: true,});flvPlayer.attachMediaElement(videoElement);flvPlayer.load(); //加载flv_start();}function flv_start() {player.play();}function flv_pause() {player.pause();}function flv_destroy() {player.pause();player.unload();player.detachMediaElement();player.destroy();player = null;}function flv_seekto() {player.currentTime = parseFloat(document.getElementsByName('seekpoint')[0].value);}</script>
</body>
</html>

5、效果

6、需要下载nginx-1.19.3-http-flv.zip,下载地址:https://download.csdn.net/download/codebooks/12793877

7、配置Nginx

rtmp_auto_push on;
rtmp_auto_push_reconnect 1s;
rtmp_socket_dir /tmp;rtmp {out_queue           4096;out_cork            8;max_streams         128;timeout             15s;drop_idle_publisher 15s;log_interval 5s; #log模块在access.log中记录日志的间隔时间,对调试非常有用log_size     1m; #log模块用来记录日志的缓冲区大小server {listen 1935;# server_name www.test.*;  #当模块中,只有一个server时,可以不配置server_name,nginx对于请求,当找不到匹配的server_name时,会默认发给第一个server进行处理。application myapp {live on;gop_cache on; #打开GOP缓存,减少首屏等待时间}application hls {live on;hls on;hls_path D:/TOOLS/nginx/Nginx_FLV/nginx-1.19.3/html/hls;}#application hls { #增加hls 协议支持#    live on; #开启实时# hls on; #开启hls# hls_path D:/TOOLS/nginx/Nginx_FLV/ginx-1.19.3/html/hls; #切片存放位置#    hls_fragment 1s; #每个TS文件包含1秒的视频内容#  hls_playlist_length 3s; #HLS播放列表长度。 默认为30秒#}application dash {live on;dash on;dash_path D:/TOOLS/nginx/Nginx_FLV/nginx-1.19.3/html/dash;}}
}

海康RTSP转flv并实现h5页面播放相关推荐

  1. 使用JavaCV实现海康rtsp转rtmp实现无插件web端直播(无需转码,低资源消耗)

    使用JavaCV实现海康rtsp转rtmp实现无插件web端直播(无需转码,低资源消耗) 目录结构 添加依赖,编写配置文件 创建Bean 创建缓存Cache 修改启动类 拉流.推流.转封装 定时任务T ...

  2. 使用微信API实现H5页面播放音频文件

    之前在处理H5页面播放音频文件的时候,总是需要搞一个https才能正常播放,一次无意浏览到了一个自动播放音频的页面,发现了使用微信Api可以不使用https也能播放音频文件.作为记录,简单页面实现如下 ...

  3. 网页播放rtsp视频解决方案(unity webplayer页面播放遮挡问题解决方案)

    1.vlc activeX播放 安装vlc-2.2.8.0.exe,勾选ActiveX插件,使用插件播放rtsp视频: 在unity webplayer页面播放有遮挡问题,解决方案如下: <di ...

  4. 海康RTSP流转RTMP并推送至Web端展示

    最近帮着老师做项目的时候碰到一个难题,将海康摄像头的影像实时传输到前端页面进行展示.Google查了两天,终于有些眉目,记录一下经验. 大致需要经过以下几个步骤: 获取海康摄像头的视频流(基于RTSP ...

  5. 大华、海康rtsp视频流格式

    一.海康威视热眼警戒摄像机DS-2TD1217-3/PA 型号 1号与2号摄像头(Camera 01.Camera 02) 方法一.只能读取1号摄像头 rtsp://admin:密码@192.168. ...

  6. 用vlc插件在页面上播放海康rtsp推流监控

    原文链接:https://blog.csdn.net/weixin_43948724/article/details/104422825 vlc插件目前只能在360.搜狗等可以开启兼容模式下的浏览器使 ...

  7. 海康Ehome协议接入EasyCVR视频融合平台播放视频失败的排查与解决

    EasyCVR视频融合平台的视频能力非常灵活,尤其是在接入协议上,不仅能支持主流的标准协议,如国标GB/T28181.RTSP/Onvif.RTMP等,还可以支持厂家的私有协议,包括海康Ehome.海 ...

  8. 解决海康视频插件错位以及点击页面出现闪烁的情况

    此问题在我不屑的探索中终于摸清楚了!! 首先博主的问题是由于多页面造成的,比如layadmin框架,海康视频插件错位的原因是因为主页面中嵌入的子页面都是以iframe的方式,我大胆的猜测海康视频是单页 ...

  9. H5页面播放M4a音频文件

    业务场景: 手机app端录音,然后上传至后台服务器,前端从后台服务器获取录音,在PC端WEB页面播放. 实际问题: 首先app录音文件默认是m4a格式,而在PC端WEB H5页面,<audio& ...

最新文章

  1. 从无到有算法养成篇-双向链表与双向循环链表
  2. 《数据库SQL实战》查找employees表
  3. 轻量级的web框架[Nancy On .Net Core Docker]
  4. mii-tool与ethtool的用法详解
  5. java实现同步的两种方式
  6. 连接redis的方法
  7. Unity3D学习笔记(三十七):顶点偏移和溶解
  8. 爱上MVC系列~过滤器实现对响应流的处理
  9. 《转发》使用python画出sigmoid激活函数
  10. 淘宝店铺排名还在用老方法吗,优化店铺排名方法是否正确?
  11. 云数据库RDS与自建数据库相比到底有什么优势?
  12. 移动和包不能激活NFC问题
  13. vue+element UI分页的使用方法
  14. 【总结】办公编程学习你可能需要这些小利器!
  15. pwm控制直流电机转速流程图_直流电机的PWM速度控制程序
  16. aardio - 写注册表改鼠标右键Kate菜单项信息
  17. 以后自己买了房子就用的上了
  18. 从0学起的esp-idf之旅——i2s总线理解与运用
  19. POJ 3095 Linear Pachinko 字符串模拟
  20. B2C电子商务网站是如何打造成功之城

热门文章

  1. 微影Q8pro投影仪和哈趣H1投影仪相比谁好用 一表看清
  2. 从卫星影像上追踪腾格里沙漠排污事件
  3. 至少连接一个aura sync兼容设备_医疗设备10个常见电磁兼容干扰问题-优德分享
  4. 那些花儿!吉他简谱~
  5. 阿里巴巴DevOps实践手册 附下载链接
  6. linux文件权限3代表啥,3,LINUX文件属性详述
  7. C#中 OUT 的用法
  8. 第一课:QT Quick项目架构说明
  9. MTK平台的LCM防静电(esd-check)机制
  10. 啪啪打脸,国际互联网协会数据泄露