- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道是否可以使用 OpenCV 来“流式传输”数据 VideoWriter
Python中的类?
通常为了处理内存中的数据,否则我会使用 BytesIO(或 StringIO)。
我尝试使用 BytesIO 失败了:
import cv2
from io import BytesIO
stream = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc('x264')
data = BytesIO()
# added these to try to make data appear more like a string
data.name = 'stream.{}'.format('av1')
data.__str__ = lambda x: x.name
try:
video = cv2.VideoWriter(data, fourcc=fourcc, fps=30., frameSize=(640, 480))
start = data.tell()
# Check if camera opened successfully
if (stream.isOpened() == False):
print("Unable to read camera feed", file=sys.stderr)
exit(1)
# record loop
while True:
_, frame = stream.read()
video.write(frame)
data.seek(start)
# do stuff with frame bytes
# ...
data.seek(start)
finally:
try:
video.release()
except:
pass
finally:
stream.release()
BytesIO
对象我最终得到以下消息:
Traceback (most recent call last):
File "video_server.py", line 54, in talk_to_client
video = cv2.VideoWriter(data, fourcc=fourcc, fps=fps, frameSize=(width, height))
TypeError: Required argument 'apiPreference' (pos 2) not found
cv2.VideoWriter(data, apiPreference=0, fourcc=fourcc, fps=30., frameSize=(640, 480))
时(我读到 0 表示自动,但我也尝试过
cv2.CAP_FFMPEG
),但我收到以下错误:
Traceback (most recent call last):
File "video_server.py", line 54, in talk_to_client
video = cv2.VideoWriter(data, apiPreference=0, fourcc=fourcc, fps=fps, frameSize=(width, height))
TypeError: bad argument type for built-in operation
cv2.VideoWriter
编写编码视频?内存中的类,如果是,它是如何完成的?
最佳答案
不幸的是,OpenCV 不支持对内存进行编码(或解码)。您必须写入(或读取)磁盘才能让 VideoWriter(或 VideoCapture)工作。
关于python - 使用 OpenCV VideoWriter 和 Python BytesIO 在内存中流式传输视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51052268/
我在 Python 中从 BytesIO 对象编写 .tar.gz 文件时遇到问题。只编写一个普通的 tarfile 效果很好,但是如果我将写入模式更改为 .tar.gz(或 bz 或 xz),它不会
我使用PyPDF4来合并pdf文件,然后使用合并后的pdf作为HttpResponse。我使用 BytesIO 来获取 PdfFileMerger 的结果。 我使用这段代码让它工作 def merge
当我尝试使用 python "c:\Django\blongo\blongo\blog\manage.py" runserver 我得到: File "C:\Python27\lib\site-pac
我无法理解这两个 BytesIO 对象的区别。如果我这样做: f = open('decoder/logs/testfile.txt', 'rb') file = io.BytesIO(f.read(
我正在尝试在我的程序中使用 Pillow 将相机中的字节串保存到文件中。这是一个示例,其中包含来 self 的相机的一个小原始字节字符串,它应该表示分辨率为 10x5 像素的灰度图像,使用 LSB 和
我有以下代码: 这部分在内存中生成 CSV: def to_csv(events: list) -> io.BytesIO(): if not events: return N
IOBase.truncate 的文档方法说: truncate(size=None) Resize the stream to the given size in bytes (or the cur
尝试在 python3.0 中对字符串进行标记化时,为什么在标记开始之前会出现前导 'utf-8'? 来自python3 docs , tokenize 现在应该按如下方式使用: g = tokeni
我正在开发 Scrapy Spider,尝试使用 slate 从目录中的多个 PDF 文件中提取文本。我对将实际的 PDF 保存到磁盘没有兴趣,因此建议我查看 io.bytesIO 子类 https:
在 OSX 上的 Python 3.5.1 上运行: import io b = io.BytesIO() b.write(b'222') print(b.getvalue()) b.truncate
我想试试 python BytesIO 类。 作为一个实验,我尝试写入内存中的 zip 文件,然后从该 zip 文件中读取字节。因此,我没有将文件对象传递给 gzip,而是传递了一个 BytesIO
我有一个包含 excel 文档数据的 BytesIO 对象。我要使用的库不支持 BytesIO 并且需要一个 File 对象。如何获取我的 BytesIO 对象并将其转换为 File 对象? 最佳答案
我目前正在尝试创建一个用于深度学习的大型数据集,其中包含大量存储在一起的压缩 mp3 文件,因此我没有 10 万个文件必须单独加载。 x = b'' with open("file1.mp3", "r
我想使用 io 中的 BytesIO 类来创建数据流,但是如果我通过它传输大量数据,它会占用大量内存,所以我问是否可以释放“旧”使用的内存“我已经阅读过的数据。 如果 io 模块无法做到这一点,我愿意
查看底部的更新 - 问题略有变化 我正在尝试使用 boto3 的 .download_fileobj 方法将文件从 s3 下载到类似文件的对象,但是当我尝试检查下载的字节流时,它是空的。但是我不确定我
我正在尝试使用 discord.py 发送一个文本文件,但是当我发送该文件时,它似乎是空的。 一个示例片段: bytes = BytesIO() test = b'sadfasdfsa' bytes.
我正在用 python 2.7 制作一个项目,但由于文档是用 python 3.5 编写的,所以它开始在最后部分给我带来一些错误。所以我将所有内容更改为 python 3.5,但由于 bytesIO,
我想直接在模型保存中上传生成的图像,而不必先将其保存到文件中。 型号: avatar = models.ImageField(upload_to="img/", null=True, blank=Tr
有一段不错的、经过测试的 python PyPDF2 代码,一个 .py 设计用于在“真实”操作系统文件上运行。调试完所有内容后,我现在正尝试将其合并到 plPython 函数中,用 io.Bytes
我想将 BytesIO 对象用作连续缓冲区(常见用例)。但是,是否可以从头部删除不再需要的字节? 看起来不像,因为只有一个 truncate() 方法。 ['__class__', '__delatt
我是一名优秀的程序员,十分优秀!