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

这篇具有很好参考价值的文章主要介绍了利用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 frame

frame = 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)  # 存储为图像
else
     print('无法获取到图像')

3、转换完成h265码流图片 

opencv如何读取h265的rtsp视频流,音视频文章来源地址https://www.toymoban.com/news/detail-785799.html

到了这里,关于利用ffmpeg cv2取h265码流视频(转换图片灰屏问题解决)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • H265视频硬解

    硬解,使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等。目前的主流GPU加速平台:INTEL、AMD、NVIDIA。 一、软编码和硬编码比较 软编码:实现直接、简单,参数调整方便,升级易,但CPU负载重,性能较硬编码低,低码率下质量通常比硬编码要好一点。 硬编码:性能高

    2024年02月10日
    浏览(50)
  • ffmpeg获取rtsp h265,用ffmpeg从RTSP服务器拉流并保存各种格式文件

    ffmpeg:FFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward,是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。 库的组成: libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音

    2024年01月22日
    浏览(54)
  • chrome浏览器解码H265视频方法

    1、问题缘由: 项目系统的视频分析模块用户电脑无法使用浏览器打开。 用户电脑配置: 2、排查过程 使用了在站内及百度查询的方法 3、解决方案: gitlib中找到对应的chrome浏览器内核chromium 链接: https://github.com/StaZhu/enable-chromium-hevc-hardware-decoding/releases 点进链接下滑找到10

    2024年01月25日
    浏览(42)
  • 音视频数据处理-H265/HEVC视频码流分析

    一、H265概述 H265/HEVC(Hight Efficiency Video Coding)是由ITU-T和ISO/IEC两大组织在H264/AVC的基础之上推出的新一代高效视频编码标准,主要为应对高清和超高清视频在网络传输和数据存储方面带来的挑战。上一篇文章对H264/AVC视频码流进行了详细的分析,本文继续从数据处理的角度对

    2024年02月11日
    浏览(46)
  • vue使用vue-h265-player播放h265编码格式视频流

    GitHub地址 vue-h265-player 支持h265编码格式视频流播放 vue使用vue-h265-player 1、安装vue-h265-player 2、拷贝libDecoder.wasm文件到public目录下 复制node_modules/h265-player/lib/libDecoder.wasm文件到public目录下 3、示例代码 url: 需要播放的链接,播放器会根据该值的变化自动重启。 maxRetryCount: 最大尝

    2024年02月14日
    浏览(38)
  • Vue中使用EasyPlayer播放H265视频流

    需要在Vue2的项目中使用EasyPlayer进行H265视频流的播放。使用官方的最新版本加载H265会有问题。一直处于加载中… 引入easyplayer,这里最开始引入了最新版会有问题,因此引入的是3.3.12版本,可参照官方文档进行配置。 EasyPlayer示例及使用说明 在static文件夹中引入对应EasyPlayer.

    2024年02月03日
    浏览(37)
  • 基于GB28181-2022实现web无插件播放H265视频

            目前发布的GB28181-2022增加了对前端设备视频H265编码格式的支持,所以实现国标平台通过浏览器对H265视频流的无插件的解码播放将是未来的趋势。         目前大多的方案都是通过平台端把H265转码为H264,再推送到web前端进行解码播放,这种方式因为需要中间的媒体

    2024年02月06日
    浏览(46)
  • 基于Python的pyAV读取H265(HEVC)编码的视频文件

            利用海康威视相机拍出来的视频是H265格式的,相比于常规的H264编码,压缩率更高,但因此如果直接用之前的方法读取,会出现无法读取的情况,如下。         可以看到,对于帧间没有改变的部分,H265编码就只保存一份,因此直接解析出来就都是空白的,只

    2024年02月22日
    浏览(52)
  • opencv视频截取每一帧并保存为图片python代码CV2实现练习

    当涉及到视频处理时,Python中的OpenCV库提供了强大的功能,可以方便地从视频中截取每一帧并将其保存为图片。这是一个很有趣的练习,可以让你更深入地了解图像处理和多媒体操作。 使用OpenCV库,你可以轻松地读取视频文件,并在循环中逐帧读取视频的每一帧。随后,你可

    2024年02月12日
    浏览(55)
  • H265、VP9、AV1视频编码器性能对比

    目前在视频编解码器中,H264 已经成为绝对的主流,被大部分设备、浏览器所支持。虽然有更先进的编码器推出,但是受限于推广速度和设备支持成本,一直未能成为主流。 今年公司的目标是持续降本增效,现在将”屠刀“指向了视频业务的存储成本。视频文件存储主要两块

    2024年02月03日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包