node ffmpeg jsmpeg 拉流 展示笔记

news2024/12/26 11:30:36

拉流参考上一篇
基础:FFmpeg安装过

拉流完成之后转换成可播放的方式

1、下载jsmpeg
https://github.com/phoboslab/jsmpeg

下载完 用vscode 打开jsmpeg-master目录

2、在根目录下安装 node-media-server

npm install node-media-server

新建app.js并运行

const NodeMediaServer= require('node-media-server');
const config = {
  rtmp: {
    port: 1935,
    chunk_size: 60000,
    gop_cache: true,
    ping: 60,
    ping_timeout: 30
  },
  http: {
    port: 8000,
    allow_origin: '*',
  }
};
 
var nms = new NodeMediaServer(config)
nms.run();

 

 3、新建终端运行

ffmpeg -i rtsp://admin:Jnjmdz_1234567@192.168.1.64:554/h264/ch1/main/av_stream -c copy -f flv rtmp://127.0.0.1:1935/live/123

 

 获取摄像头流路径

4、 在jsmpeg-master目录下打开终端安装ws

 然后运行

node websocket-relay.js supersecret 8081 8082

 

5、新建终端运行

ffmpeg -i rtsp://admin:Jnjmdz_1234567@192.168.1.64:554/h264/ch1/main/av_stream -q 0 -f mpegts -codec:v mpeg1video -s 800x600 http://127.0.0.1:8081/supersecret

 6、打开html即可

<!DOCTYPE html>
<html>
<head>
	<title>JSMpeg Stream Client</title>
	<style type="text/css">
		html, body {
			background-color: #111;
			text-align: center;
		}
	</style>
	
</head>
<body>
	<canvas id="video-canvas"></canvas>
	<script type="text/javascript" src="jsmpeg.min.js"></script>
	<script type="text/javascript">
		var canvas = document.getElementById('video-canvas');
		var url = 'ws://127.0.0.1:8082';
		var player = new JSMpeg.Player(url, {canvas: canvas});
	</script>
</body>
</html>

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

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

相关文章

8 图像去噪 滤波 锐化 边缘检测案例(matlab程序)

1.简述 学习目标&#xff1a;一个图像处理的经典综合案例 一、图像锐化的原理   图像锐化的目的是凸显物体的细节轮廓&#xff0c;通常可以用梯度、Laplace算子和高通滤波来实现&#xff0c;下面一一说明&#xff1a; 1、梯度法 梯度计算可以参考 小白学习图像处理——cann…

数据可视化01_t-SNE

1. t-SNE的定义 t-SNE stands for t-distributed Stochastic Neighbor Embedding. 代表 t 分布随机邻域嵌入。 t-SNE 获取高维数据并将其降低到较低维空间&#xff0c;同时保持数据点之间的关系尽可能接近其原始排列。 它是一种无监督机器学习算法&#xff0c;由 Laurens va…

8年测试经验总结,性能测试流程与性能测试学习路线,卷起来...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 性能测试流程 1、…

运输层概述、端口号、复用与分用

1.运输层概述、端口号、复用与分用 笔记来源&#xff1a; 湖科大教书匠&#xff1a;运输层概述 湖科大教书匠&#xff1a;运输层端口号、复用与分用的概念 声明&#xff1a;该学习笔记来自湖科大教书匠&#xff0c;笔记仅做学习参考 1.1 运输层概述 计算机网络体系结构中的物…

交流220v转12v给单片机供电芯片

客户的应用需求&#xff1a;AD220V转DC12V 体积要非常小&#xff0c;单片机使用&#xff0c;单片机设备12V 电流很小不会超过100mA&#xff1f; 【AD220V转DC12V体积小的问题】 问题&#xff1a;我需要将交流电&#xff08;220V&#xff09;转换为直流电&#xff08;12V&…

fastadmin后台 点击开关 弹出 你没有权限访问 角色组里面添加了,除了超级管理员其他的只要用状态开关就,没权限 解决办法

首发地址&#xff1a;https://ask.fastadmin.net/question/22863.html 然后再对应的后台控制器里面 加入 protected $multiFields 你设计数据库的开关字段; //注意是字段&#xff0c;不是填写: multi 示例&#xff1a; protected $multiFields show_switch; 也可以多个 p…

QWebEngine应用(一)

前言 很早以前就听说过Qt也能显示网页&#xff0c;一直没有机会真正研究应用起来&#xff0c;刚好最近项目中使用到了QWebEngine内嵌浏览器打开第三方的网站&#xff0c;使用的Qt版本为5.15&#xff0c;踩了不少的坑&#xff0c;这里做个总结。 QWebEngine架构 Qt WebEngine…

亚马逊云科技连续12年被评为“领导者”,用实力赋能企业出海

从人类发展历史上看&#xff0c;无论是刳木为舟&#xff0c;剡木为楫&#xff0c;还是郑和下西洋&#xff0c;亦或是欧洲大航海时代&#xff0c;人类对于出海探索这件事就从未停止。而在如今的时代&#xff0c;相似的故事依旧在上演。过去的十年&#xff0c;是中国互联网最为繁…

多路码流RTSP传输并对每路视频图像叠加OSD信息

一、先保证多路视频码流保存到本地&#xff0c;并且分辨率正确 注意点&#xff1a; 1.VPSS分两路通道 2.VENC分两路通道 if(s32ChnNum>1) {s32Ret SAMPLE_COMM_SYS_GetPicSize(gs_enNorm, enSize[0], &stSize);if (HI_SUCCESS ! s32Ret){SAMPLE_PRT("SAMPLE_COM…

下载网页视频的软件 下载网页视频的方法

视频已然成为一种非常有力的展示方式&#xff0c;我们想要下载视频内容&#xff0c;需要用到下载网页视频的软件&#xff0c;如今这类软件有很多。下载网页视频的方法&#xff0c;也因为使用的软件不同&#xff0c;方法各异。下面我们就来看详细介绍吧&#xff01; 一、下载网…

【DC-DC】AP9196 DC-DC升压恒流电源管理芯片 升降压3-12V输出9V LED驱动方案

1&#xff0c;方案;升降压3-12V输出9V LED驱动方案BOM表 ​ 2&#xff0c;方案;升降压3-12V输出9V LED驱动方案线路图 3&#xff0c;产品说明 AP9196 是一系列外围电路简洁的宽调光比升压调光恒流驱动器&#xff0c;适用于 3-40V 输入电压范围的 LED照明领域。AP9196 采用我…

Leveldb代码阅读笔记

整体架构 如上图&#xff0c;leveldb的数据存储在内存以及磁盘上&#xff0c;其中&#xff1a; memtable&#xff1a;存储在内存中的数据&#xff0c;使用skiplist实现。immutable memtable&#xff1a;与memtable一样&#xff0c;只不过这个memtable不能再进行修改&#xff0…

使用模拟电路制造CPU——从硬件到软件的设计

计算机中蕴藏的哲理 最基本的思想是&#xff1a;通过基本电路的接线&#xff0c;确立输入-输出规则&#xff0c;类似函数的入参和返回值&#xff0c;便构成一个功能电路单元。单元套单元组成新单元&#xff0c;如此往复。“一生二&#xff0c;二生三&#xff0c;三生万物”。这…

盒马上市,即时零售最大“变量”

若盒马年内成功上市&#xff0c;等待完成下一轮融资的朴朴超市的处境恐将更加尴尬&#xff0c;另区域性中小商超或将迎来新一轮倒闭潮。 疫情过后&#xff0c;国内消费市场一直处于走弱态势。据商务大数据监测&#xff0c;今年端午假期&#xff0c;部分地区零售和餐饮数据远不及…

数据结构记录和leetcode刷题记录

背景 时间复杂度 算法的执行时间与输入值之间的关系。 参考&#xff1a;算法中七种常见的时间复杂度 - 掘金 参考视频&#xff1a;1. 算法的时间复杂度_哔哩哔哩_bilibili 空间复杂度 算法的存储空间与输入值之间的关系。 参考&#xff1a;2. 算法的空间复杂度_哔哩哔哩_bili…

【花雕】全国青少年机器人技术一级考试备考实操搭建手册1

目录 1、秋千 2、跷跷板 3、搅拌器 4、奇怪的钟 5、起重机 6、烤肉架 7、手摇风扇 8、履带车 9、直升机 10、后轮驱动车 秋千 &#xff08;闽南语、广东话称千秋&#xff09;是一种座椅&#xff0c;常见于儿童游乐场、杂技演员马戏团或门廊上放松的地方。 秋千的座位通常悬挂在…

蘑菇街被裁后,成功入职字节跳动的那一天,我哭了...

前言 先说一下个人情况&#xff0c;18 届应届生&#xff0c;通过校招进入到了蘑菇街&#xff0c;然后一待就待了差不多 2 年多的时间&#xff0c;可惜的是今年 4 月份受疫情影响遇到了大裁员&#xff0c;而他也是其中一员。好在早有预感&#xff0c;提前做了准备&#xff0c;之…

C++primer(第五版)第九章(顺序容器)

简单来说存入顺序和取出顺序一致的容器被称为顺序容器. 9.1顺序容器概述 vector和string将元素保存在连续的内存空间中,所以每次添加或删除元素都会非常耗时,但是通过下标计算内存地址来读取元素是非常快的. list和forward_list为链表,添加或删除元素的操作很快,但是不支持元…

QT——使用QListWidget、QListWidgetItem、QWidget实现自定义管理列表

作者&#xff1a;小 琛 欢迎转载&#xff0c;请标明出处 文章目录 需求场景思路描述Qt模块QListWidgetQListWidgetItem自定义QWidget配合QListWidget 例子&#xff1a;实现一个json文件管理窗口 需求场景 因工作需要&#xff0c;开发一个文件管理窗口&#xff0c;要让使用者可…

蓝牙通过串口获取电量!!!

问题&#xff1a;样机短时间出现电池没电情况&#xff08;异常放电&#xff09;&#xff0c;经过检查&#xff0c;蓝牙在休眠是会有2.1V左右的电压&#xff0c;导致电池电量消耗过快。机器由于有语音功能&#xff0c;播放语音时需要很大电流&#xff0c;给机器装的是两节南孚电…