Parade Series - Web Streamer Low Latency

news2024/12/26 21:47:44

在这里插入图片描述
在这里插入图片描述

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);
}

PresetControl

/
// dwPTZPresetCmd
//     [in] SET_PRESET   8 设置预置点 
//          CLE_PRESET   9 清除预置点 
//          GOTO_PRESET 39 转到预置点 
/
BOOL PresetControl(DWORD dwPTZPresetCmd, DWORD dwPresetIndex);

INT parsePresetCommand(CString cmdString) {
	INT result = 0;

	if (0 == cmdString.CompareNoCase(_T("SET-PRESET"))) {
		result = SET_PRESET;
	}
	if (0 == cmdString.CompareNoCase(_T("CLE-PRESET"))) {
		result = CLE_PRESET;
	}
	if (0 == cmdString.CompareNoCase(_T("GOTO-PRESET"))) {
		result = GOTO_PRESET;
	}

	return result;
}

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

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

相关文章

mac启动skywalking报错

这个命令显示已经成功 但是日志报错了以上内容。 然后去修改。vim .bash_profile 查看全局变量&#xff0c;这个jdk却是有2个。所以这个问题没解决。

豆瓣电影信息爬取与可视化分析

目录 一、项目背景 二、代码 三、总结 一、项目背景 &#xff08;1&#xff09;利用requests库采集豆瓣网分类排行榜 (“https://movie.douban.com/chart”)中各分类类别前100部电影的相关信息并存储为csv文件。 &#xff08;2&#xff09;利用获取的13个分类类别共1300部电…

C#,人工智能,机器学习,聚类算法,训练数据集生成算法、软件与源代码

摘要:本文简述了人工智能的重要分支——机器学习的核心算法之一——聚类算法,并用C#实现了一套完全交互式的、可由用户自由发挥的,适用于聚类算法的训练数据集生成软件——Clustering。用户使用鼠标左键(拖动)即可生成任意形状,任意维度,任意簇数及各种数据范围的训练数…

第十六个实验:FOR循环生成随机数

实验内容&#xff1a; 用For循环生成10个1-2之间的随机数 然后打印出来 实验步骤; 视频&#xff1a; 教学视频

外卖点餐系统 |基于springboot框架+ Mysql+Java+JSP技术+Tomcat的外卖点餐系统 设计与实现(可运行源码+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 骑手功能模块 商家功能模块 管理员功能登录前台功能效果图 用户功能模块 系统功能设…

Dynamo PythonScript 代码速查手册By九哥

你好&#xff0c;这里是 BIM 的乐趣&#xff0c;我是九哥 今天给大家带来的是我的知识工程的第二套知识库&#xff0c;这套知识库不是教程&#xff0c;是一套完整的笔记&#xff0c;里面包含了大量的 Python 代码。 当然这里也没有实现太多的具体逻辑&#xff0c;单纯的是通过 …

可视化软件:第一原理计算/VASP + 结构预测/USPEX

分享一篇 VASPUSPEX 的可视化软件。 感谢论文的原作者&#xff01; 主要内容 “流行的第一原理仿真代码 Vienna Ab initio Simulation Package (VASP) 和晶体结构预测 (CSP) 包、Universal Structure Predictor: Evolutionary Xtallography (USPEX) 已集成到 GDIS 可视化软件…

项目分享--NO.1

搭建高可用的web集群.部署网站 包含数据库,ceph/nfs,haproxy,keepalived,ansible部署 1,配置ansible管理环境 创建工作目录,编写ansible配置文件,和主机清单文件,yum配置文件 将yum文件到控制机上,然后用模块上传到被管理机器上 #vim 01-upload-repo.yml --- - name: confi…

【开源鸿蒙】为QEMU RISC-V虚拟平台构建OpenHarmony轻量系统

文章目录 一、背景介绍二、准备OpenHarmony源代码三、准备hb命令3.1 安装hb命令3.2 检查hb命令 四、编译RISC-V架构的OpenHarmony轻量系统4.1 设置hb构建目标4.2 启动hb构建过程 五、问题解决5.1 hb set 报错问题解决 六、参考链接 开源鸿蒙坚果派&#xff0c;学习鸿蒙一起来&a…

达梦如何备份以及导入

启动达梦服务 右键选择管理服务器 点击系统管理&#xff0c;点击配置&#xff0c;点击转换 归档配置点击归档 创建文件夹&#xff0c;选择文件夹目录点击确定 命令方式 逻辑备份与还原 逻辑导出(dexp)和逻辑导入(dimp)支持如下四种级别操作&#xff1a; 数据库级(FULL)&#…

【SpringBoot】请求与响应参数 IoC与DI 总结

文章目录 ① —— 请求 ——一、简单参数 RequestParam1.1 参数与形参 命名相同1.2 参数与形参 命名不同 二、实体参数2.1 简单实体对象2.2 复杂实体对象 三、数组集合参数3.1 数组3.2 集合 RequestParam 四、日期参数 DateTimeFormat五、JSON参数 RequestBody六、路径参数 Pat…

Vmware虚拟机使用过程中断电后无法重启处理

背景 今天在用新装的虚拟机进行测试的过程中&#xff0c;忽然笔记本关机了&#xff08;没插电源线&#xff09;&#xff0c;重启电脑后发现虚拟机提示“正在使用中“&#xff0c;具体如下所示&#xff1a; 解决 在相关虚拟机文件夹内查找以 .lck 结尾的文件&#xff0c;名称一…

如何优化使用Nginx

文章目录 &#x1f50a;博主介绍&#x1f964;本文内容数据压缩负载均衡安装OpenResty或ngx_http_lua_module配置Nginx以启用Lua编写Lua脚本配置upstream块以使用Lua变量测试配置 合并请求1. 确保SSI模块已启用2. 配置Nginx以使用SSI3. 使用SSI指令4. 重新加载或重启Nginx 集成…

【Maven入门篇】(2)IDEA集成Maven环境的具体操作

&#x1f38a;专栏【Maven入门篇】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【The truth that you leave】 &#x1f970;欢迎并且感谢大家指出我的问题 文章目录 &#x1f354;配置Maven环境⭐方法一&#xff08;当前工程&…

选频网络与串联谐振回路

选频网络概述 在高频电子线路中&#xff0c;常以选频网络作为负载。选频网络能选出我们需要的频率分量和滤除不需要的频率分量。 选频网络分类&#xff1a; 1、振荡回路&#xff08;由L、C组成&#xff0c;也称谐振回路&#xff09;&#xff1a;包括单振荡回路、耦合振荡回路…

Java项目:58 ssm012医院住院管理系统+vue

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 管理员&#xff1b;首页、个人中心、医护人员管理、科室管理、病人管理、病房管理、病人信息管理、病历管理、医嘱管理、手术安排管理、药品信…

【linux】搜索所有目录和子目录下的包含.git的文件并删除

一、linux命令搜索所有目录和子目录下的包含.git的文件 在Linux系统中&#xff0c;要搜索所有目录和子目录下的包含.git的文件&#xff0c;可以使用find命令。find命令允许指定路径、表达式和操作来查找文件。 以下是使用find命令搜索包含.git的文件的方法&#xff1a; 1. 基…

masm下载和配置

masm下载和配置 1&#xff09;masm32官网下载地址选择Austrlia 1。 2&#xff09;解压masm32v11r.zip,点击install.exe安装&#xff08;一直下一步即可&#xff09;。 3&#xff09;安装完成后得到一个masm文件夹。 4&#xff09;关联DOSBox与masm&#xff1a; 在DOSBox安…

Halcon识别文字案例

识别文字并显示到页面上 read_image (Image, needle1.png) * 打开窗口 dev_open_window (0, 0, 512, 512, black, WindowHandle) dev_display (Image)* 画矩形 gen_rectangle1 (ROI_0, 52.4648, 99.0391, 256.758, 354.063) * 裁剪 reduce_domain (Image, ROI_0, ImageReduced)…

InnoDB B+树索引

没有索引的查找 在一个页中的查找 假设目前表中的记录比较少&#xff0c;所有的记录都可以被存放到一个页中&#xff0c;在查找记录的时候可以根据搜索条件的不同分为两种情况&#xff1a; 以主键为搜索条件 这个查找过程我们已经很熟悉了&#xff0c;可以在页目录中使用二分法…