大家去看这个:vue播放rtsp流方案(支持h265)_是云呀!的博客-CSDN博客

**********************************************************************************************************************

公司给了一个rtsp流,让在网页特定位置播放(我太菜,搞了两天)

首先想到的是vlc,但不行放弃

转rtmp,新浏览器不让用flash,放弃

公司前辈提出解决方案,解决,分享给大家

ffmpeg+Node.js+jsmpeg.js实现播放rtsp

可以参考:Ffmpeg+Node.js+jsmpeg.js实现html5播放rtsp_lvweizhu的专栏-CSDN博客

第一步布置环境

先用vlc看一下流是否可用,能播放再进行

1,安装node ,都到vue了,node肯定有吧?没有看别人的安装吧

2,下载 jsmpeg  :https://github.com/phoboslab/jsmpeg

      百度网盘:链接:https://pan.baidu.com/s/1HVQbLxa2ZRka5-Oy9SlpSA 
      提取码:y5pp 

      下载后,解压 ,位置随意

3,下载ffmpeg: Download ffmpeg-latest-win32-static.zip free - FFmpeg

     百度网盘:链接:https://pan.baidu.com/s/17EKfpslYqz47Axd0MsiMfQ 
     提取码:2mgo 

      下载后解压,位置随意

第二步

1,webSocket模块安装

打开cmd  执行命令  npm install ws

npm install ws

2,cmd  进入到  jsmpeg 文件夹下

执行

node websocket-relay.js supersecret 8081 8082

3,设置ffmpeg环境变量

参考一下

 再打开一个cmd,执行以下代码

ffmpeg -i rtsp://admin:admin@39.102.100.83:xxxx/12  -q 0 -f mpegts -codec:v mpeg1video -s 800x600 http://127.0.0.1:8081/supersecret

注意:rtsp流换成你们公司自己的

 这种就算成功了

第三步,在页面代码中编写

将这个js文件放到你的项目中,进行引入

在main.js文件引入

 

 第一行改一下

需要展示视频的vue文件

<template>
  <div class="right_one_box">
    <div class="title"><span></span>蘑菇房视频监控</div>
    <div class="box_con">
      <div class="con">
        <canvas id="video-canvas" style="height: 140px; wight:164px"></canvas>
       
      </div>

    </div>
  </div>
</template>

<script> 
import {PATH,PATH2} from '../../server/constant.js'
export default {
  mounted () {
      var canvas = document.getElementById('video-canvas')

      var player = new JSMpeg.Player(this.path, {canvas: canvas})
 
    },

  data(){
    return{
       path:'ws://127.0.0.1:8082',   //你拉取视频源地址

    }
  },
  methods:{
    

  }
};

应该就可以看到了

第四步:部署到服务器

服务器也需要搭一下环境(给后端说一下你怎么搭的,让他搭)

需要注意一点是:代码127.0.0.1:8082换成你服务器地址


问题一:你的rtsp流在vlc正常,在cmd  ffmpeg命令行报错

 这是当时我的报错

解决:ffmpeg强制使用TCP方式读取rtsp流 - 阿波伦 - 博客园

问题二:当你需要读取多个流

我用了最简单的办法,多开了好几个cmd


如果你遇到其他问题:欢迎留言讨论,共同进步!!!!!!!!!!!!!!!!!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐