前端处理RTSP流

前端没办法直接把rtsp流引过来用 所以要借助node加ffmpeg来处理一下

解决方法:

 1.下载FFmpeg 把其中的bin文件添加到系统环境变量中  百度一下如何安装配置这个

成功后的显示

2.npm install rtsp-ffmpeg

    node中的server.js

const

  express = require('express')

  app = require('express')(),

  server = require('http').Server(app),

  io = require('socket.io')(server),

  rtsp = require('rtsp-ffmpeg');

//这句不写就找不到打包后在index.html中引入的index_bundle.js这个文件

  app.use(express.static(__dirname));

  server.listen(6147, function(){

    console.log('Listening on localhost:6147');

  });

var uri = 'rtsp://192.168.0.47:8554/ds-test',

  stream = new rtsp.FFMpeg({input: uri});

io.on('connection', function(socket) {

  var pipeStream = function(data) {

    socket.emit('data', data.toString('base64'));

  };

  stream.on('data', pipeStream);

  socket.on('disconnect', function() {

    stream.removeListener('data', pipeStream);

  });

});

//加*是为了刷新过后能重定向到主页面不至于找不到页面

app.get('/*', function (req, res) {

  res.sendFile(__dirname + '/index.html');

});


html

<img id="img">

<script src="/socket.io/socket.io.js"></script>

<script>

var img = document.getElementById('img'), socket = io(''); socket.on('data', function(data) { img.src = 'data:image/jpeg;base64,' + data; });

</script>


把node和ffmpeg装到服务器上配置好就能看到直播流

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容