node-rtsp-stream、jsmpeg.min.js实现rtsp视频在web端播放

1. 服务地址(私有):https://gitee.com/nnlss/video-node-server
2.node-rtsp-stream 需要安装FFMPEG;
3.给推拉流做了开关,可借助http请求,有更好方式可联系;
 

4.存在问题:

1).对于网络摄像头,直接推拉流,测试6h+界面不卡顿,延迟1s以内(未精确测试延迟时间)

2).对于物料上的rstp, 由于工程师一直给rtsp推流,即便node服务结束进程,FFMPEG依然可以获取到rtsp

5.node 服务打包

  1. 安装ncc
    npm install -g @zeit/ncc

     2.安装成功

ncc version

     3. ncc 打包node 为单文件

ncc build index.js -o nodeServer

报错:

ncc: Version 0.22.3
ncc: Compiling file index.js
Error: error:0308010C:digital envelope routines::unsupported

原因:node 版本问题node.js - Error message "error:0308010C:digital envelope routines::unsupported" - Stack Overflow

利用nvm 切换版本 

nvm use 16.15.0

重新打包:

ncc build index.js -o nodeServer

生成文件目录nodeServer/index.js:

-nodeServer--index.js

cmd进入目录执行:

node index.js

启动服务成功

本地部署前后端配置nginx


#user  nobody;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';#access_log  logs/access.log  main;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {listen       8081;server_name  localhost;#charset koi8-r;charset utf-8;#access_log  logs/host.access.log  main;location / {root dist;index index.html;try_files $uri $uri/ /index.html; # 解决前端界面刷新 路由重定向404问题}location /api/video/ {proxy_pass http://127.0.0.1:9998/video/;proxy_set_header Upgrade $http_upgrade; }location /dev-api/ {proxy_pass http://127.0.0.1:9000/;}client_max_body_size 10g;#error_page  404              /404.html;# redirect server error pages to the static page /50x.html## proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {#    listen       8000;#    listen       somename:8080;#    server_name  somename  alias  another.alias;#    location / {#        root   html;#        index  index.html index.htm;#    }#}# HTTPS server##server {#    listen       443 ssl;#    server_name  localhost;#    ssl_certificate      cert.pem;#    ssl_certificate_key  cert.key;#    ssl_session_cache    shared:SSL:1m;#    ssl_session_timeout  5m;#    ssl_ciphers  HIGH:!aNULL:!MD5;#    ssl_prefer_server_ciphers  on;#    location / {#        root   html;#        index  index.html index.htm;#    }#}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149769.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

浅谈提示工程之In-context learning技术

提示工程之In-context learning技术; 通过一张图片围绕下边几个方面进行简单说明 概念起因本质结构注意事项 日常总结

C++(9.24)

头文件 #ifndef MY_STRING_H #define MY_STRING_H#include <iostream>class My_string { private:char *ptr; // 指向字符数组的指针int size; // 字符串的最大容量int len; // 字符串的当前长度public:My_string();My_string(const char *src);My_string(const My_s…

Error:Decorators are not valid here. 使用Angular中的装饰器

Decorators are not valid here&#xff0c;项目中出现这个提示信息&#xff0c;说明装饰器未知错误、或者在不支持的元素上使用了装饰器。 如下图所示&#xff0c;我在NgModule装饰器后面加了一个导出方法&#xff0c;加完之后控制台提示了如下错误&#xff1a;Error TS1206&a…

【python】横截面数据分析及可视化报告示例

问题描述 题目&#xff1a; 共享的数据文件夹包含 2 个外部文件。第一个文件 "project data.xls "涉及国家层面的数据&#xff08;2000-2019 年&#xff09;&#xff0c;变量大多摘自世界发展指标。变量解释在第二个文件中 创建一个模型&#xff0c;解释为什么一些国…

STM32基础学习笔记-SPI通讯协议协议面试基础题8

第八章、SPI : LCD屏 1、LCD是什么 &#xff1f;发光原理 &#xff1f; 1.LCD:液晶显示 当有电流的时候&#xff0c;液晶层中的物质会有序排列 没有电流的时候&#xff0c;无序排列&#xff0c;光不可以透过 当像素点只有黑/白色的时候&#xff0c;灰度图&#xff08;非黑即…

windows C++-同步数据结构与 Windows API

将并发运行时提供的同步数据结构的行为与 Windows API 提供的同步数据结构的行为进行比较。 并发运行时提供的同步数据结构遵循协作线程模型。 在协作线程模型中&#xff0c;同步基元显式将其处理资源传递给其他线程。 这与抢占式线程模型不同&#xff0c;其中处理资源由控制调…

RtspServer:轻量级RTSP服务器和推流器

文章目录 项目概述技术分析支持的编码格式传输方式心跳检测机制RTSP 推流安全性 架构分析RtspServer 整体架构流程分析1. 客户端连接和会话建立2. 媒体数据传输3. 心跳检测和连接维护 xop 基础库项目介绍功能特性xop 整体架构 应用场景社区问题收集与解答问题一&#xff1a;刚开…

【YOLO学习】YOLOv1详解

文章目录 1. 概述2. 算法流程3. 网络结构4. 损失函数 1. 概述 1. YOLO 的全称是 You Only Look Once: Unified, Real-Time Object Detection。YOLOv1 的核心思想就是利用整张图作为网络的输入&#xff0c;直接在输出层回归 bounding box 的位置和 bounding box 所属的类别。简单…

【AI创作组】Matlab中进行符号计算

提示:代码一定要自己运行过才算数…… 1. 符号计算工具箱介绍 1.1 工具箱功能 MATLAB的符号计算工具箱,即Symbolic Math Toolbox,是一套强大的数学软件工具,它使得MATLAB具备了符号运算的能力。该工具箱提供了一系列函数,用于求解、绘制和操作符号数学方程。用户可以直接…

深度学习之表示学习 - 半监督解释因果关系篇

序言 在深度学习的广阔领域中&#xff0c;表示学习&#xff08; Representation Learning \text{Representation Learning} Representation Learning&#xff09;与半监督学习&#xff08; Semi-supervised Learning \text{Semi-supervised Learning} Semi-supervised Learnin…

C++:deque的底层原理

一、deque是是双端队列。 deque(双端队列)&#xff1a;是一种双开口的"连续"空间的数据结构&#xff0c;双开口的含义是&#xff1a;可以在头尾两端进行插入和删除操作&#xff0c;且时间复杂度为O(1)&#xff0c;与vector比较&#xff0c;头插效率高&#xff0c;不…

spring里面内置的非常实用的工具

一 、请求数据记录 Spring Boot提供了一个内置的日志记录解决方案&#xff0c;通过 AbstractRequestLoggingFilter 可以记录请求的详细信息。 AbstractRequestLoggingFilter 有两个不同的实现类&#xff0c;我们常用的是 CommonsRequestLoggingFilter。 通过 CommonsRequestL…

AlDente Pro for Mac电池健康保护工具

AlDente Pro for Mac 是一款适用于 Mac 的实用电池健康保护工具。以下是它的主要特点和优势&#xff1a; 软件下载地址 一、保护电池寿命的原理 锂离子和聚合物电池&#xff08;如 Mac 笔记本中的电池&#xff09;在 30% 到 80% 之间运行时使用寿命最长。始终将电池电量保持…

网关基础知识

1.网关路由 网关&#xff1a;就是网络的关口&#xff0c;负责请求的路由、转发、身份校验。 在SpringCloud中网关的实现包括两种&#xff1a; 1.Spring Cloud Gateway Spring官方出品 基于WebFlux响应式编程 无需调优即可获得优异性能 2.Netflix Zuul Netflix出品 基于Ser…

快递物流短信API接口代码

官网&#xff1a;快递鸟 API参数 用户信息类 一.短信模版 1.接口说明 使用快递鸟短信功能时&#xff0c;预先设置好短信模板和对应的发送规则&#xff0c;快递鸟短信API将根据设置的好的模板和规则&#xff0c;进行短信的发送和反馈。 (1)仅支持Json格式。 (2)请求指令810…

vulnhub(13):Digitalworld.local JOY(ftp 的未授权文件读写漏洞、文件覆盖提权)

端口 nmap主机发现 nmap -sn 192.168.72.0/24 ​ Nmap scan report for 192.168.72.171 Host is up (0.00020s latency). ​ 171是新出现的机器&#xff0c;他就是靶机 nmap端口扫描 nmap -Pn 192.168.72.171 -p- --min-rate 10000 -oA nmap/scan 扫描开放端口保存到 nmap/sca…

Python | Leetcode Python题解之第435题无重叠区间

题目&#xff1a; 题解&#xff1a; class Solution:def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:if not intervals:return 0intervals.sort(keylambda x: x[1])n len(intervals)right intervals[0][1]ans 1for i in range(1, n):if intervals…

网络资源模板--Android Studio 垃圾分类App

目录 一、项目演示 二、项目测试环境 三、项目详情 四、完整的项目源码 一、项目演示 网络资源模板--垃圾分类App 二、项目测试环境 三、项目详情 登陆注册 设置点击监听器&#xff1a;当用户点击注册按钮时触发事件。获取用户输入&#xff1a;从输入框获取用户名和密码&a…

springboot 接口接收及响应xml数据

1.实体类 import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement;XmlRootElement XmlAccessorType(XmlAccessType.FIELD) // …

【SpringBoot详细教程】-03-整合Junit【持续更新】

JUnit是一个用于Java编程语言的测试框架。它支持自动化单元测试&#xff0c;可以帮助开发人员测试代码的正确性和健壮性。JUnit提供了一组注解、断言和测试运行器&#xff0c;可以方便地编写和运行单元测试。 SpringBoot 整合 junit 特别简单&#xff0c;分为以下三步完成 在…