利用ffmpeg cv2取h265码流视频(转换图片灰屏问题解决)

利用海康威视相机拍出来的视频是H265格式的,相比于常规的H264编码,压缩率更高,但因此如果直接用正常取流方法读取,会出现无法读取的情况

1. 如图h265码流取出图片为灰屏

 2 、解决灰屏问题

import subprocess
import cv2# 将h265流转换opencv可编译格式返回
def get_frame_from_rtsp(rtsp_url):# ( linux,windwos)  docker容器内部使用  两者兼容  当环境为linux时将传输协议改为tcp,否则转换失败 ( '-rtsp_transport', 'tcp')command = ['ffmpeg',#  rtsp_transport 参数,通过设定这个参数值为 tcp ,使得ffmpeg强制使用tcp协议传输RTSP流(RTSP流模式使用UDP方式传输)。'-rtsp_transport', 'tcp',# 设置探测大小,指定用于探测输入流的大小。在这里,150M 表示 150 兆字节的探测大小。'-analyzeduration', '150M','-probesize', '150M',# 指定输入文件(RTSP 流)的 URL。'-i', rtsp_url,'-vf', 'fps=1,scale=1920:1080',  # 设置帧率和图像大小# 指定输出格式为图像流。在这里,将输出格式设置为图像流,以便后续通过管道读取。'-f', 'image2pipe',# 设置像素格式为 BGR24。在这里,将像素格式设置为 24 位 BGR 格式,即每个像素占据 3 字节。'-pix_fmt', 'bgr24',# 设置视频编解码器为原始视频。 如果设置为264需要额外增添参数   '-vcodec', 'libx264''-vcodec', 'rawvideo', '-']process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)# 从 ffmpeg 进程中读取一帧数据raw_frame = process.stdout.read(1920 * 1080 * 3)if not raw_frame:return None# 将帧数据转换为 numpy 数组frame = np.frombuffer(raw_frame, dtype=np.uint8).reshape((1080, 1920, 3))return frameframe = get_frame_from_rtsp(path)if frame is not None:# FILE_SAVE_PATH保存路径地址  img_path = os.path.join(FILE_SAVE_PATH,'2023')cv2.imwrite(img_path, frame)  # 存储为图像
elseprint('无法获取到图像')

3、转换完成h265码流图片 

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

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

相关文章

Spring事务管理—讲解、案例、应用

简介:Spring事务管理和数据库的事务管理的功能作用上是一样的,在学习数据库时,为了数据完整性,采用了事务管理,即开启事务、提交事务和管理事务。在SpringBoot框架中添加一个注解 Transactional 就可以将当前方法、类和…

c语言错误总结

函数 A:void类型函数可以 B:不需要,如果return 不返回任何值,函数会在return语句执行后终止执行,后面的语句不会执行 C:对的 D:不可能,return只能返回一个数据 A:函数不一定有返回值 B:可以…

AUTOSAR从入门到精通-存储配置(NvM)(六)

目录 几个相关概念 Sector Page Block 原理 NVRAM Block NVM基本操作

柔性屏的性能、使用、维护

柔性屏是一种新型的显示技术,相比传统刚性屏幕,具有许多独特的优势。以下是关于柔性屏的性能、使用和维护的详细介绍: 一、性能 弯曲性:柔性屏幕可以轻松弯曲、卷曲或弯折,适应不同的表面形状,如弧形墙面、…

JS中的原型和原型链

什么是原型? JavaScript 是一门基于对象的语言,每个对象都有一个原型(prototype),原型是一个对象或 null 值,它定义了该对象所具有的属性和方法。当读取一个对象的属性或执行一个对象的方法时,…

angualr 的一个请求接口的函数被调用了 但在浏览器控制台看不到调接口

因为您在调用 请求接口的函数如getLocaltion() 方法时没有订阅返回的 Observable,或者在订阅 Observable 时没有正确处理其响应。即要subscribe接口,并正确处理。因为Observables 是惰性执行的。这意味着如果您创建了一个 Observable 对象,但…

软件管理--rpm与yum

文章目录 软件管理--rpm安装软件包:升级软件包:卸载软件包:查询已安装的软件包信息:查询尚未安装但已下载的软件包信息:列出已安装的软件包:列出软件包的文件信息验证软件包完整性导出软件包信息到文件查询…

海康威视运行管理中心 Fastjson RCE

漏洞描述 海康威视运行管理中心系统存在低版本Fastjson远程命令执行漏洞,攻击者可在未鉴权情况下获取服务器权限,且由于存在相关依赖,即使服务器不出网无法远程加载恶意类也可通过本地利用链直接命令执行,从而获取服务器权限。 漏…

华为设备VRP基础

交换机可以隔离冲突域,路由器可以隔离广播域,这两种设备在企业网络中应用越来越广泛。随着越来越多的终端接入到网络中,网络设备的负担也越来越重,这时网络设备可以通过华为专有的VRP系统来提升运行效率。通用路由平台VRP&#xf…

判断上三角矩阵 C语言xdoj491

问题描述 上三角矩阵指主对角线以下的元素都为 0 的矩阵;主对角线为从矩阵的左上角至右下角的连线。 本题要求编写程序,判断一个给定的方阵是否上三角矩阵。 输入格式 第一行给出一个正整数 T,为待测矩阵的个数。接下来给出 T 个矩阵的信息&a…

ES排错命令

GET _cat/indices?v&healthred GET _cat/indices?v&healthyellow GET _cat/indices?v&healthgreen确定哪些索引有问题,多少索引有问题。_cat API 可以通过返回结果告诉我们这一点 查看有问题的分片以及原因。 这与索引列表有关,但是索引…

什么是密钥扩展?如何确保密码安全?

为了访问自己的数字账户,我们通常需要用到密码或口令。不过,正如现实生活中开锁的钥匙可能并不总是牢靠一样,并非所有的密码都是安全的。为了加强在线防御,安全专家开发了一系列技术和方法,来提高密码的安全性。这些方…

用23种设计模式打造一个cocos creator的游戏框架----(二十三)中介者模式

1、模式标准 模式名称:中介者模式 模式分类:行为型 模式意图:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 结构图&#xff…

Spring AOP入门指南:轻松掌握面向切面编程的基础知识

面向切面编程 1,AOP简介1.1 什么是AOP?1.2 AOP作用1.3 AOP核心概念 2,AOP入门案例2.1 需求分析2.2 思路分析2.3 环境准备2.4 AOP实现步骤步骤1:添加依赖步骤2:定义接口与实现类步骤3:定义通知类和通知步骤4:定义切入点步骤5:制作切面步骤6:将通知类配给…

1664:【例 2】取石子游戏 2

【题目描述】 有一种有趣的游戏,玩法如下: 玩家: 2 人; 道具: N 堆石子,每堆石子的数量分别为 X1,X2,…,Xn ; 规则: 1、游戏双方轮流取石子; 2、每人每次选一堆石子…

蛋白质测序|蛋白测序-卡梅德生物

蛋白质测序是生物学研究中的一项重要技术,旨在揭示蛋白质的氨基酸序列,从而深入了解其结构和功能。蛋白质作为生物体内细胞结构和功能的主要执行者,对于解析细胞信号传导、代谢调控、细胞周期等生物学过程至关重要。通过蛋白质测序&#xff0…

DPDK单步跟踪(2)-如何编译debug版

第一步是要编译出debug版本的dpdk. 如何下载和编译,这里我不讲了。我们只讲debug https://doc.dpdk.org/guides/prog_guide/build-sdk-meson.htmlsetup meson setup --buildtypedebug debugbuild config meson configure -Dbuildtypedebug 就是这么很简单。 例…

【MYSQL】-数据类型

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …

微波射频元件厂商恒利泰授权世强硬创代理,实现滤波器国产替代

据机构数据显示,2018-2022年全球射频元件市场规模从50亿美元增长至150亿美元,平均复合增长率为31.6%,预计到2025年市场规模有望超过302亿美元。其中,滤波器是射频前端各领域产值占比最高的产品。 为扩大产品覆盖率,提…

【密码学】使用mkcert安装CA、自签名ssl证书,配置nginx的https 证书笔记

文章目录 证书(CA证书,服务端证书,客户端证书)1 安装CA1.1 下载mkcert1.2 mkcert安装和配置根证书1.3设备安装根证书 2 自签名ssl证书2.1 CA 证书过程:2.2 自签名流程2.3签发证书2.4给已有的证书请求(.csr)…