详解nodejs 使用ffmpeg获取电脑摄像头数据进行rtsp推流

news/2024/7/10 20:51:51 标签: ffmpeg, rtsp

ffmpeg获取电脑摄像头数据进行推流">nodejs 使用fluent-ffmpeg获取电脑摄像头数据进行推流

  • 安装fluent-ffmpeg

    npm install  fluent-ffmpeg
    
  • 设置ffmpeg路径

    FFMPEG_PATH 加入环境变量中
    或者使用Ffmpeg.setFfmpegPath(path) 
    
  • 使用案例

    var outputh = 'rtsp://' + 'ip' + ':' + 'port' + '/' + textname;
    var ffmpegPath = "./ffmpeg_bin/ffmpeg.exe";
    var ffmpeg = require('fluent-ffmpeg');
    command = new ffmpeg('video=HD USB Camera')
        .setFfmpegPath(ffmpegPath)
        .inputOptions('-f dshow')
        .size('800x600')
        .on('start', function(commandLine) {
            console.log("start push......." + commandLine);
            console.log("start command......." + command);
        })
        .on('end', function() {
            console.log("storp push........")
            stopPush();
        })
        .on('error', function(err, stdout, stderr) {
            console.log('error:' + err.message);
            console.log('stdout:' + stdout);
            console.log('stderr:' + stderr);
            stopPush();
        })
        .addOptions([
            // '-preset veryfast',
            '-rtsp_transport tcp',
            '-f rtsp'
        ])
        .pipe(outputh, { end: true });`
    
  • 停止推流

    根据说明使用kill函数。但是我测试的无效,会报错
    
    所以使用不优雅的方式直接使用child_process进行杀掉进程
    
    var child_process = require('child_process');
    var chile = child_process.exec('"taskkill" /F /IM ffmpeg.exe* /T', function(error, stdout, stderr) {
    if (error) {
        console.error(`exec error: ${error}`);
        return;
    }
    console.log(`stdout: ${stdout}`);
    console.log(`stderr: ${stderr}`);
     });
    

http://www.niftyadmin.cn/n/919609.html

相关文章

CSDN博客第一期移动开发排行榜

为充分展示移动开发方向优秀博主,发掘潜力新星,为想更多了解移动开发方向的博客用户提供平台,CSDN博客频道推出“移动开发排行榜”活动,每月一期。我们将邀请CSDN博客频道活跃的资深专家参与评选。同时,获奖者有机会成…

关联规则概述

关联规则是数据挖掘的重要方面。我概述如下: 概论 数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有…

HTML5图表组件库ichartjs作者王鹤专访

ichartjs是一款基于HTML5的图形图表库,使用纯JavaScript语言, 利用HTML5的canvas标签绘制各式图形,致力于为应用提供简单、直观、可交互的体验级图表组件。ichartjs基于Apache License 2.0协议开源,目前支持饼图、环形图、折线图、面积图、柱…

VMware+Fedora20+secureCRT7.0配置心得

VMware10 XX版 下载地址 secureCRT7 XX版 下载地址 做好安装等准备工作,打开Fedora虚拟机: 首先、安装openssh-server yum install openssh-server 刚安装好的openssh-server不会自动启动,可以用以下指令查看ssh运行状态: service…

nodejs 使用http进行post或get请求(携带cookie)

#nodejs 使用http进行post或get请求(携带cookie) 安装http nmp install http函数封装(可直接拿去进行使用) var http require(http);function nodePostGetRequest(HOST, PORT, method, bodydata, callBackFunction, path, cookie) {//把将要发送的body转换为json格式 var …

负关联规则

负关联规则实例如下: 很多的算法都使用“支持度-可信度”的框架。这样的结构有时会产生一些错误的结果。看如下表的一个例子。支持度与可信度的: % 买咖啡 不买咖啡 合计买牛奶 20 5 25不买牛奶 70 5 75合计 90…

2013年7月微软MVP申请开始啦!

2013年7月微软MVP申请开始了! (2013年4月MVP当选名单公布)CSDN与微软合作,长期为用户提供申请“微软最有价值专家”的平台,希望有兴趣、资历的朋友以及正在朝这个方向努力的朋友能够积极参与。申请微软MVP的朋友…

有奖征集活动系列——《iOS游戏编程之旅》已结束

为了帮助广大iOS开发者更好地了解和学习开发技术,为CSDN博主们搭建技术交流分享的平台,为活跃社区气氛,CSDN博客频道特携手CSDN博客专家、《iOS游戏编程之从零开始-Cocos2dx与cocos2d引擎开发》图书作者李华明(Himi)&a…