Parade Series - WebRTC ( < 300 ms Low Latency ) T.B.D

Parade Series - FFMPEG (Stable X64)
在这里插入图片描述
延时测试秒表计时器

ini/config.ini

[system]
home=server
store=store\nvr.db
version=V20240312001
verbose=false
[monitor]
list=rtsp00,rtsp01,rtsp02
timeout=30000
[rtsp00]
type=local
device=Surface Camera Front
schema=rtsp
ip=127.0.0.1
port=8554
usr=
pwd=
context=/cam081101
[rtsp01]
type=remote
device=
schema=rtsp
ip=10.10.20.231
port=554
usr=admin
pwd=password
context=
[rtsp02]
type=remote
device=
schema=rtsp
ip=10.10.20.235
port=554
usr=admin
pwd=password
context=

com-cam-to-rtsp.cmd

:: ===========================================================================
:: PLEASE DO NOT EDIT THIS FILE
:: ===========================================================================
@ECHO OFF
:: ===========================================================================

@SET DSK=%~d0
@SET PWD=%~dp0

@%DSK%
@CD %PWD%

:: ===========================================================================

@SET ARG-DEVICE=%1

@SET NVRHOME=nginx-rtmp\html
FOR /F %%x IN ('linux_date +"%%s%%N"') DO (
    SET TTSS=%%x
)
@SET TMPLOG=%NVRTMP%\tmp-%TTSS%.log

:: ===========================================================================

@SET CAM-DEVICE=Surface Camera Front
@SET CAM-LINK=-f dshow -i video="%CAM-DEVICE%"

@SET ALPHA=-vcodec libx264 -preset:v ultrafast -tune:v zerolatency
@SET BETA=-an
@SET GAMMA=-rtsp_transport tcp
@SET DELTA=-f rtsp
@SET CAM-TARGET=

@SET ARGS=%ALPHA% %BETA% %GAMMA% %DELTA%
@SET ARGS=%ARGS%

@SETLOCAL ENABLEDELAYEDEXPANSION

@ECHO.
FOR /F %%a IN (' com-get-ini.cmd monitor list ') DO @(
    @SET cmd_out=%%a
    @SET MESSAGE=%MESSAGE%!cmd_out!
)
FOR %%a IN ( %MESSAGE% ) DO @(
    @SET cmd_aaa=%%a

    @SET cmd_type=
    @SET cmd_device=
    @SET cmd_rtsp=
    @SET cmd_ip=

    @SET cmd_key=type
    @SET cmd_line=!cmd_aaa! !cmd_key!
    FOR /F %%b IN (' com-get-ini !cmd_line! ') DO @(
        @SET cmd_bbb=%%b
    )
    @SET cmd_type=!cmd_bbb!

    @SET cmd_key=device
    @SET cmd_line=!cmd_aaa! !cmd_key!
    FOR /F "tokens=1,2,3,4" %%b IN (' com-get-ini !cmd_line! ') DO @(
        @SET cmd_bbb=%%b %%c %%d %%e
    )
    @IF "!cmd_bbb:~-1!"==" " @SET cmd_bbb=!cmd_bbb:~0,-1!
    @SET cmd_device=!cmd_bbb!

    @SET cmd_key=schema
    @SET cmd_line=!cmd_aaa! !cmd_key!
    FOR /F %%b IN (' com-get-ini !cmd_line! ') DO @(
        @SET cmd_bbb=%%b
        @SET cmd_rtsp=!cmd_rtsp!!cmd_bbb!://
    )

    @SET cmd_key=usr
    @SET cmd_line=!cmd_aaa! !cmd_key!
    FOR /F %%b IN (' com-get-ini !cmd_line! ') DO @(
        @SET cmd_bbb=%%b
        @SET cmd_rtsp=!cmd_rtsp!!cmd_bbb!
    )

    @SET cmd_key=pwd
    @SET cmd_line=!cmd_aaa! !cmd_key!
    FOR /F %%b IN (' com-get-ini !cmd_line! ') DO @(
        @SET cmd_bbb=%%b
        @SET cmd_rtsp=!cmd_rtsp!:!cmd_bbb!
    )

    @SET cmd_key=ip
    @SET cmd_line=!cmd_aaa! !cmd_key!
    FOR /F %%b IN (' com-get-ini !cmd_line! ') DO @(
        @SET cmd_bbb=%%b
        @SET cmd_rtsp=!cmd_rtsp!@!cmd_bbb!
    )
    @SET cmd_ip=!cmd_bbb!

    @SET cmd_key=port
    @SET cmd_line=!cmd_aaa! !cmd_key!
    FOR /F %%b IN (' com-get-ini !cmd_line! ') DO @(
        @SET cmd_bbb=%%b
        @SET cmd_rtsp=!cmd_rtsp!:!cmd_bbb!
    )

    @SET cmd_key=context
    @SET cmd_line=!cmd_aaa! !cmd_key!
    FOR /F %%b IN (' com-get-ini !cmd_line! ') DO @(
        @SET cmd_bbb=%%b
        @SET cmd_rtsp=!cmd_rtsp!!cmd_bbb!
    )

    @IF "!cmd_type!" == "local" @(
        @SET CAM-LINK=-f dshow -i video="!cmd_device!"
        @HideExec @ffmpeg !CAM-LINK! %ARGS% !cmd_rtsp!
    ) ELSE @(
        @ECHO !cmd_rtsp!
    )
)
@ECHO.

:__END__
@CD %PWD%
paths:
    cam0801:
        runOnInit: ffmpeg -f dshow -i video="Surface Camera Rear" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -an -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:8554/cam081101

    rtsp081101:
        source: rtsp://127.0.0.1:8554/cam081101

在这里插入图片描述

ffplay -window_title cam081101 rtsp://127.0.0.1:8554/cam081101

在这里插入图片描述

http://127.0.0.1:8889/rtsp081101/

在这里插入图片描述
HideExec.exe

void HideExec( )
{
	PTSTR pszCmdLine = GetCmdLine();

	if (pszCmdLine && *pszCmdLine) {
		PROCESS_INFORMATION pi;
		STARTUPINFO si;
		BOOL fSuccess;

		ZeroMemory(&si, sizeof(si));
		si.cb = sizeof(si);
		si.dwFlags = STARTF_USESHOWWINDOW;
		si.wShowWindow = SW_HIDE;

		fSuccess = CreateProcess(
			NULL,
			pszCmdLine,
			NULL,
			NULL,
			FALSE,
			CREATE_DEFAULT_ERROR_MODE | CREATE_NO_WINDOW,
			NULL,
			NULL,
			&si,
			&pi
		);

		if (fSuccess) {
			DWORD dwExitCode = 0;
			WaitForSingleObject(pi.hProcess, INFINITE);
			GetExitCodeProcess(pi.hProcess, &dwExitCode);
			CloseHandle(pi.hProcess);
			CloseHandle(pi.hThread);
			ExitProcess(dwExitCode);
		}
	}

	ExitProcess(0x100);
}
PTSTR WINAPI GetCmdLine( )
{
	PTSTR pszCmdLine = GetCommandLine();

	if (pszCmdLine) {
		BOOL fInQuotes = FALSE;
		while (*pszCmdLine > TEXT(' ') || (*pszCmdLine && fInQuotes)) {
			if (*pszCmdLine == TEXT('\"'))
				fInQuotes = ~fInQuotes;

			++pszCmdLine;
		}
		while (*pszCmdLine && *pszCmdLine <= TEXT(' '))
			++pszCmdLine;
	}
	return (pszCmdLine);
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu下txt中文显示乱码问题常规解决方法

在正常使用ubuntu 文档时&#xff0c;突然发现txt文档出现&#xff0c;如下情况 无法正常观看&#xff0c;后来搜了一下发现是gedit 没有对应打开文件的编码格式&#xff0c;Ubuntu用的是utf-8,所以打开会有乱码&#xff01;初始没有GBK和GB2312&#xff0c;把GBK和GB2312添加…

OpenMP 编程模型

OpenMP 内存模型 共享内存模型&#xff1a; OpenMP 专为多处理器/核心、共享内存机器设计&#xff0c;底层架构可以是共享内存UMA或NUM OpenMP 执行模型 基于线程的并行&#xff1a; OpenMP 程序基于多线程来实现并行&#xff0c; 线程是操作系统可以调度的最小执行单元。 …

全氟烷氧基树脂PFA容量瓶在实验室金属杂质测定实验中应用

PFA&#xff08;全氟烷氧基树脂&#xff09;容量瓶是一种高性能的实验室器皿&#xff0c;因其出色的化学稳定性和低吸附性而被广泛应用于各种高精度化学分析。在硅材料表面金属杂质含量的测定中&#xff0c;PFA容量瓶发挥了关键作用。 首先&#xff0c;要了解硅材料表面金属杂质…

高级JAVA工程师解决生产环境JVM宕机Java进程挡掉操作系统内存异常实例讲解

高级JAVA工程师解决生产环境JVM宕机Java进程挡掉内存溢出实例讲解 一、事故描述 生产环境Java进程莫名挡掉&#xff0c;JVM宕机。监控平台报警。生产停了&#xff0c;老板急了&#xff0c;客户爆了&#xff0c;怎么迅速解决事故&#xff1f;每次出现生产事故&#xff0c;都是…

mediapipe 实现姿态分析——举手检测

目录 人体姿态检测 效果展示 举手检测 行业应用 代码实现 代码分析 效果展示 代码修改&#xff0c;一只手举起即可 总结 啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦^_^啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦♪(^∇^*)啦啦啦…

《深入理解springCloud与微服务》笔记

第一章 微服务介绍 1.3 微服务的不足 1.3.2 分布式事务 CAP 理论&#xff0c;即同时满足“一致性”“可用性”和“分区容错”是 件不可能的事。 Consistency &#xff1a;指数据的强一致性。如果写入某个数据成功&#xff0c;之后读取&#xff0c;读到的都是新写入的数据&a…

百度云加速即将下线

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 松松商城作为多年百度云加速代理商&#xff0c;上周接到通知&#xff1a;百度云加速产品计划于2024年4月30日下线&#xff0c;目前也无法做实名了。 同时&#xff0c;百度云加速也开始逐步迁移到百度云&#xff0…

【Sql】MVCC有关问题,以及锁,日志和主从复制原理

目录 MVCC 解决什么问题? 实现原理 隐式字段 undo log Read View(读视图) InnoDB 对 MVCC 的实现 锁 分类 锁升级&#xff1f; InnoDB 的行锁&#xff1f; 死锁避免&#xff1f; 乐观锁和悲观锁 日志 主从复制原理 主从复制的作用 MySQL主从复制解决的问题 涉…

Java基于微信小程序的校园生活互助小助手

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

vue3 el-form中嵌套el-tabale 对输入动态校验

简单案例 <el-form :model"Form" :rules"rules" ref"FormRef" class"formDiv"><el-table :data"Form.copyWriters" style"width: 100%"><el-table-column label"文案链接"><temp…

Day33:安全开发-JavaEE应用SQL预编译Filter过滤器Listener监听器访问控制

目录 JavaEE-预编译-SQL JavaEE-过滤器-Filter JavaEE-监听器-Listen 思维导图 Java知识点 功能&#xff1a;数据库操作&#xff0c;文件操作&#xff0c;序列化数据&#xff0c;身份验证&#xff0c;框架开发&#xff0c;第三方库使用等. 框架库&#xff1a;MyBatis&#…

Mysql锁与MVCC

文章目录 Mysql锁的类型锁使用MVCC快照读和当前读读视图【Read View】串行化的解决 exlpain字段解析ACID的原理日志引擎整合SpringBoot博客记录 Mysql锁的类型 MySQL中有哪些锁&#xff1a; 乐观锁&#xff08;Optimistic Locking&#xff09;&#xff1a;假设并发操作时不会发…

C语言程序环境和预处理Pt.1 - 预处理指令|预处理操作符

电脑所能识别的语言为二进制指令&#xff0c;而我们所写的C语言代码是文本信息。为了能使计算机识别并执行C语言代码&#xff0c;就需要翻译环境&#xff0c;使C语言代码翻译为二进制的指令。 1.按下编译按钮的幕后 - 程序的翻译环境 从C语言源代码到计算机可识别的二进制文件…

MTK安卓开发板_联发科开发板评估套件_安卓主板硬件开发

在介绍开发板之前&#xff0c;让我们先来区分一下核心板和开发板的区别。核心板是一种集成度高、功能完整的计算模块&#xff0c;搭载系统&#xff0c;简化了外围接口&#xff0c;体积尺寸相对较小&#xff0c;主要适用于嵌入式系统。而开发板由核心板底板组成&#xff0c;提供…

spring中事务失效的场景有哪些?

异常捕获处理 在方法中已经将异常捕获处理掉并没有抛出。 事务只有捕捉到了抛出的异常才可以进行处理&#xff0c;如果有异常业务中直接捕获处理掉没有抛出&#xff0c;事务是无法感知到的。 解决&#xff1a;在catch块throw抛出异常。 抛出检查异常 spring默认只会回滚非检…

EI级 | Matlab实现PCA-GCN主成分降维结合图卷积神经网络的数据多特征分类预测

EI级 | Matlab实现PCA-GCN主成分降维结合图卷积神经网络的数据多特征分类预测 目录 EI级 | Matlab实现PCA-GCN主成分降维结合图卷积神经网络的数据多特征分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现PCA-GCN主成分降维结合图卷积神经网络的数据多…

c/c++ | 求叶子结点个数 |构建B树 | 动态规划--找叶子结点个数

是这样的&#xff0c;一道代码题&#xff0c;根据输入数据&#xff0c;计算运行结果 #include<bits/stdc.h> using namespace std; vector<int>g[10]; int ans 0; void dfs(int x){if(g[x].size() 0){ans;return;}for(int i 0; i < g[x].size(); i){dfs(g[x]…

windows 安装 gitlab-runner CICD

点击搜索图标 手动输入PowerShell, 右键点击管理员权限打开&#xff0c; 一、安装 安装 gitlab runner 文档参考地址 1、下载exe执行文件 我这里是 win64 https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-windows-amd64.exe 2、创建 gitla…

基于java+springboot+vue实现的电影订票系统(文末源码+Lw+ppt)23-41

摘 要 随着网络科技的不断发展以及人们经济水平的逐步提高&#xff0c;计算机如今已成为人们生活中不可缺少的一部分&#xff0c;为电影订票方便管理&#xff0c;基于java技术设计与实现了一款简洁、轻便的管理系统。本系统解决了电影订票事务中的主要问题&#xff0c;包括个…

08.JavaScript中的编程思想,构造函数和原型对象

一、编程思想 学习 JavaScript 中基于原型的面向对象编程序的语法实现&#xff0c;理解面向对象编程的特征。 1.面向过程 面向过程就是分析出解决问题所需要的步骤&#xff0c;然后用函数把这些步骤一步一步实现&#xff0c;使用的时候再一个一个的依次 调用就可以了。 举个…
最新文章