python 视频流分析,通过ffmpeg管道将视频输出流到Python脚本中进行分析。如何导入python?...

2023-11-02

我正在与其他库一起编写一个脚本,它需要RGB24格式的帧或图像。为了提高兼容性,我决定允许外部管道将帧流式传输到这个程序中。每次在代码中使用更改设备或源代码可能会变得乏味,使用解析器简单地指定源代码会导致语法错误。示例:ffmpeg -f dshow -i video="OEM Device" a.mpg

完全符合你的想法。但是在python的子进程中

^{pr2}$

编辑我已尝试手动拆分“python”设备内部也不工作。

导致“无效参数”OEM将OEM和设备分离为两个不同的变量/参数。我也试过另一个名字。在

这让我相信

是问题所在。

这让我通过终端将视频流导入python。在ffmpeg -i a.mpg -f image2pipe -vcode rawvideo -pix_fmt rgb24 - |python myscript.py

这是我在剧本里写的。在import subprocess as sp

import numpy

import sys

import os

pipe = sp.Popen('ffmpeg -f rawvideo -pix_fmt rgb24 -an -vcodec rawvideo -i - -f image2pipe -pix_fmt rgb24 -an -vcodec rawvideo -'.split(), stdin=sys.stdin, stderr=sp.PIPE, stdout=sp.PIPE)

#Assumeing 720x576 resolution

raw_img = pipe.stdout.read(720*576*3)

image = numpy.fromstring(raw_img, dtype='uint8')

img_load = image.reshape(576, 720, 3)

我知道上面的管是不需要的,可能可以用(我试过的)代替raw_img = sys.stdin.read(720*576*3)

不管这两种情况,它通常都会产生输出,结果image.reshape(576,720,3)

接收不规则尺寸,且不符合规定的720x576。我不得不承认这是第一次在python中使用管道。据我所知,当我指定image2pipe时,stderr被抑制。在

如何让ffmpeg为python提供所需的维度,或者为子进程提供语法,这样就可以在给定的命令中使用“,而不会拆分值或导致语法错误?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 视频流分析,通过ffmpeg管道将视频输出流到Python脚本中进行分析。如何导入python?... 的相关文章

  • STM32F103ZET6【标准库】----- 04串口5的IO口收发数据实验测试

    链接 串口1的两组IO口收发数据实验 链接 串口2的两组IO口收发数据实验 链接 串口3的三组IO口收发数据实验 链接 串口4的一组IO口收发数据实验 一 硬件介绍 本次实验用到的单片机是STM32F103ZET6 正点原子战舰开发板 用到
  • Linux 网桥支持LLDP 透传的解决方法

    inux 虚拟网桥默认会悄悄地删除LLDP消息 发送到LLDP Multicast地址01 80 C2 00 00 0E 和01 80 C2 00 00 xx范围内的其他控制帧 原因可以在802 1AB标准中找到 该标准规定 the des
  • Window 通过cmd查看端口占用、相应进程、杀死进程

    一 查看所有进程占用的端口 在开始 运行 cmd 输入 netstat ano 可以查看所有进程 二 查看占用指定端口的程序 当你在用IIS发布程序时 经常会遇到端口80被占用的情况 我们想知道是哪个程序或进程占用了端口 可以用该命令 ne
  • java——为什么重写hashCode还需要重写equals

    hashCode与equals方法的作用其实一样 在java里面我们都是用它们来比较两个对象是否一致 那为和我们还需要使用hashCode 这里其实使用hashCode是为了提高效率 采取重写hashcode方法 先进行hashcode比较
  • 中学计算机课小课题,中学信息技术课题题目

    中学信息技术课题题目 分类 课题研究 发表时间 2019 04 19 10 27 信息技术是主要用于管理和处理信息所采用的各种技术的总称 在中学信息技术教学过程中 会遇到一些难以解决的问题 成为我们研究课题的选择对象范围 当然确定研究选题
  • 【mysql】日常遇到的问题解决

    目录 MySQL 删除数据库报错 1010 Error dropping database can t rmdir ERR 1452 Cannot add or update a child row a foreign key constr
  • Java常用API(十)——多线程基础

    多线程 允许 同时 执行多段代码 实际上多线程是并发运行的 每段代码都是走走停停的 CPU会在这些线程间快速切换 保证每段代码都有进度 从而感官上是同时运行 线程的创建 第一种创建方式 定义一个线程类并继承线程Thread 然后重写run方
  • SSH概述

    ssh是web开发中常见的一种框架 s struts s spring h hibernate 其中struts在框架中充当控制器 实现MVC 主要用来处理用户的请求 和跳转页面 使项目结构清晰 开发者只需要关注业务逻辑的实现即可 spri
  • windows DiskPart 磁盘分区命令工具参考

    DiskPart Windows 7 Disk Administration Partition a disk This page documents the Windows 7 2008 version of Diskpart an ea
  • 基于mbedtls的AES加密(C/C++)

    环境 操作系统 WSL2 Ubuntu22 04 加密库 mbedtls Base64 在线AES计算网站 SSLeye 代码中需要用到mbedtls和Base64 可以根据上述链接获取 简介 高级加密标准 Advanced Encrypt
  • !windows11

    啊啊啊 win11来了 似乎是泄漏版 晚上在图书馆看到的 后来回宿舍一看正好有个群里正在讨论此事 就试着安装了一下 还挺顺利 下面是几张美图
  • 终于,在Excel里也能直接写python了

    之前在处理数据的时候 最开始都是在excel里处理 后来当数据量上了一个级别后就用python导入excel文件接着处理了 很多人会说 excel有自带VBA语言 可以用那个来处理呀 不好意思 VBA不仅处理数据速度慢而且还非常麻烦 但是
  • 【51单片机实验笔记】前篇(三) 模块功能封装汇总(持续更新)

    文章目录 通用函数 public h public c 延时函数 delay h delay c LED模块 数码管模块 smg h smg c LED点阵模块 独立按键模块 矩阵按键模块 外部中断模块 定时器模块 串口通讯模块 ADC模块
  • 独家

    作者 宋莹 本文长度为10427字 建议阅读20 分钟 本文为你介绍数据挖掘的知识及应用 引言 最近笔者学到了一个新词 叫做 认知折叠 就是将复杂的事物包装成最简单的样子 让大家不用关心里面的细节就能方便使用 作为数据科学领域从业者 我们所
  • Jupyter notebook从电脑本地读取csv文件

    在菜单中打开Anaconda Prompt 然后输入 jupyter notebook generate config 打开输出的路径的配置文件 找到 c NotebookApp notebook dir 然后将 去掉 并且在 中写入想要存
  • Java poi导出word文件

    Java在导出word文件时主要对表格中内容垂直居中处理做以记录方便后续碰到类似问题解决 maven pom xml中添加poi依赖
  • 使用IDEA导入SpringBoot项目

    有时候会拿到别人现成的 springboot 项目 而不是从头自己做一个 这个时候 就需要用导入的方式来 import 这么一个项目了 1 IDEA 导入 SpringBoot 项目办法 1 菜单 gt File gt New gt Pro
  • 2021-05-05 星期三 常用的算法的时间复杂度和空间复杂度

    常用的算法的时间复杂度和空间复杂度
  • 变分推断和指数族分布

    一 变分推断基础 首先 对数先验概率有 ln p X ln p X Z p Z X ln p X Z q Z q Z p Z X ln p X Z q Z ln q Z p Z X 1 2 3 1 l n p

随机推荐

  • JDK 安装 与环境变量配置 详细教程

    1 JDK jre 8u161 windows x64 exe 下载 所有平台 http www oracle com technetwork java javase downloads jdk8 downloads 2133151 htm
  • 微信小程序登录授权

    一般的微信小程序登录都会先前端调用wx login生成code传给后端 后端通过code获取到openid和session key并返回给前端 前端调用wx getUserInfo获取对象参数等信息 由于需求问题 我所写的小程序登录直接由前
  • java中unexpected token

    文章目录 问题 问题 public class People int m 10 n 1 n 200 2 void f if m n n m 3 else n n m 4 这道题问的是 下列哪行代码有错误 一开始并没有发现问题的所在 放了编辑
  • 寻找环形链表的入口点

    如果链表中有某个节点 可以通过连续跟踪 next 指针再次到达 则链表中存在环 为了表示给定链表中的环 我们使用整数来表示链表尾连接到链表中的位置 索引从 0 开始 先定义一个节点 struct ListNode int val struc
  • 通讯协议与即时通讯

    转自 https www jianshu com p ca4aeabf55f6 推送服务一般有三种实现方式 1 轮询方式 客户端不断的查询服务器 检索新内容 这种方式的缺点十分明显 如果轮询频率过快 会大量消耗网络带宽和电池 2 长连接方式
  • FPGA学习---3.IP核使用,Counter IP核

    三 LPM counter IP核使用 小结 counter IP核 cin进位输入 clock时钟信号 cout进位输出 q当前计数值 FPGA设计方式 调用IP核 路径放到prj的ip文件夹下 名字叫counter就行 几位的计数器 计
  • Ubuntu 中vi下方向键变成ABCD, backspace无法删除字符的解决办法

    转载自 https blog csdn net sunzz pku article details 40581881 在linux中安装完VIM后 发现在insert模式下 按下四个方向键在屏幕中会输出ABCD这样的字符 并且Backspa
  • Java学习笔记 --- IDEA

    一 IDEA介绍 1 IDEA全称IntelliJ IDEA 2 在业界被公认为最好的Java开发工具 3 IDEA是JetBrains公司的产品 总部位于捷克的首都布拉格 4 除了支持Java开发 还支持HTML CSS PHP MySQ
  • Sonar 配置代码扫描规则 与 质量配置,设置各个语言默认的扫描规则

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 配置代码扫描规则 质量配置 设置各个语言默认的扫描规则 代码规则设置 如果认为有些扫描规则太严格了 可以把它 挂起 以后再构建的代码扫描项目时就不会再使用本规则 例如挂起J
  • electron-14版后remote废除

    文章目录 前言 安装与配置 前言 Electron最近的版本变迁比较频繁 在升级到14 0 0版本后 废除了很多旧有的API 而其中最主要的就是remote模块从旧有的模块里抽出 变成了一个需要新安装的模块 electronic remot
  • Android升级到7.0使得webview加载页面为空白页

    前段时间 公司一哥们把他的手机拿给我看 问到公司的软件加载进去是空白页 等了好久也是空白 我也为是网络出现了问题 排查没问题啊 看看是不是缓存问题 又是清缓存 又是卸载重装 结果还是空白页面 想了一下是不是系统问题 问他有没有更新过系统 结
  • Android:RecyclerView 的使用,有这一篇就够了

    谨以文章记录学习历程 如有错误还请指明 RecyclerView 简介 首先 可以理解 RecyclerView 是 ListView 的升级版 更加灵活 同时由于封装了 ListView 的部分实现 导致其使用更简单 结构更清晰 从名字
  • 金融数据时间序列分析——模型准确率过高怎么办

    多少年后 小f想起了自己还是刚刚出道的小萌新时候犯的一个错误 当时模型的准确率贼高 高的离谱 就像下面这种情况 precision recall f1 score support 1 1 1 1 1934 0 1 1 1 535 1 1 1
  • LoadStdProfileSettings -- 加载MRU

    如何为自己的应用程序加入最近文件列表功能呢 最简单的方法就是在你新建工程的时候选择包含最近文件列表功能 也就是在 MFC AppWizard 的第 4 步的时候使 How many files would you like on your
  • 06.RabbitMQ重试机制

    RabbitMQ重试机制 补偿机制 在消费中如果发生异常了 RabbitMQ会使用补偿机制 重试 如果消息没消费成功 会一直重复发送 直到消费成功为止 我们以之前的P2P例子为例 Component RabbitListener queue
  • antd中Form.Item无法获取到对应的表单值解决

    antd中Form Item无法获取到对应的表单值解决 前言 问题代码示例 解决 前言 本文章讲的解决方案只是其中一种 无法获得对应表单的原因有很多 只能在今后的道路上慢慢采坑然后避免 问题代码示例 import React Compone
  • Retrofit中的注解原理项目实战

    今天我们来聊聊这个最近很火的网络请求库retrofit 在此基础上会延伸出一些列的知识点 现在关于retrofit的文章很多 我之所以写这篇文章的原因在于 8月份负责假设新客户端底层的过程中首次尝试使用该库 并取得非常不错的效果 不到20天
  • 计算机视觉最新技术:YOLOv8等前沿算法推荐!

    计算机视觉最新技术 YOLOv8等前沿算法推荐 计算机视觉是人工智能领域中的一个重要方向 它涉及到图像 视频等多媒体形式的信息处理 而随着人工智能技术的不断发展 计算机视觉领域也不断涌现出新的算法和模型 其中 YOLOv8等一系列算法被认为
  • 初识springcloud(微服务)

    1 微服务的定义 microservice 1 多个微服务开发的依然是一个完整的应用 2 微服务都会独立运行在一个独立的进程里面 3 微服务之间通常会采用轻量级的通信机制来进行通信 比如http https socket netty dub
  • python 视频流分析,通过ffmpeg管道将视频输出流到Python脚本中进行分析。如何导入python?...

    我正在与其他库一起编写一个脚本 它需要RGB24格式的帧或图像 为了提高兼容性 我决定允许外部管道将帧流式传输到这个程序中 每次在代码中使用更改设备或源代码可能会变得乏味 使用解析器简单地指定源代码会导致语法错误 示例 ffmpeg f d