Parade Series - Web Streamer Low Latency

2024-03-17 11:36

本文主要是介绍Parade Series - Web Streamer Low Latency,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

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/cam081101rtsp081101: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;
}

这篇关于Parade Series - Web Streamer Low Latency的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Python使用Reflex构建现代Web应用的完全指南

《Python使用Reflex构建现代Web应用的完全指南》这篇文章为大家深入介绍了Reflex框架的设计理念,技术特性,项目结构,核心API,实际开发流程以及与其他框架的对比和部署建议,感兴趣的小伙... 目录什么是 ReFlex?为什么选择 Reflex?安装与环境配置构建你的第一个应用核心概念解析组件

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

web网络安全之跨站脚本攻击(XSS)详解

《web网络安全之跨站脚本攻击(XSS)详解》:本文主要介绍web网络安全之跨站脚本攻击(XSS)的相关资料,跨站脚本攻击XSS是一种常见的Web安全漏洞,攻击者通过注入恶意脚本诱使用户执行,可能... 目录前言XSS 的类型1. 存储型 XSS(Stored XSS)示例:危害:2. 反射型 XSS(Re

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏