gpt4 book ai didi

python - 如何使用python从ffmpeg管道输出?

转载 作者:行者123 更新时间:2023-12-02 17:32:00 26 4
gpt4 key购买 nike

我正在尝试通过管道输出 FFmpeg python .我正在从视频采集卡中读取图像,并且成功地使用 dshow 从命令行将其读取到输出文件中。我正在尝试将图像从卡中抓取到我的 OpenCv 代码中,以便能够进一步使用数据。不幸的是,当我输出图像时,我只得到了视频的显示,如链接所示:

link: s000.tinyupload.com/?file_id=15940665795196022618.



我使用的代码如下所示:
import cv2
import subprocess as sp
import numpy
import sys
import os
old_stdout=sys.stdout
log_file=open("message.log","w")
sys.stdout=log_file

FFMPEG_BIN = "C:/ffmpeg/bin/ffmpeg.exe"
command = [ FFMPEG_BIN, '-y',
'-f', 'dshow', '-rtbufsize', '100M',
'-i', 'video=Datapath VisionAV Video 01' ,
'-video_size', '640x480',
'-pix_fmt', 'bgr24', '-r','25',
'-f', 'image2pipe', '-' ]
pipe = sp.Popen(command, stdout = sp.PIPE, bufsize=10**8)

while True:
# Capture frame-by-frame
raw_image = pipe.stdout.read(640*480*3)
# transform the byte read into a numpy array
image = numpy.frombuffer(raw_image, dtype='uint8')
print(image)
image = image.reshape((480,640,3))
if image is not None:
cv2.imshow('Video', image)

if cv2.waitKey(1) & 0xFF == ord('q'):
break
pipe.stdout.flush()
sys.stdout=old_stdout
log_file.close()
cv2.destroyAllWindows()

请为我提供一些解决此问题的指示。非常感谢您的帮助。

最佳答案

我在控制台应用程序 FFmpeg 上挣扎了更长时间,最后放弃了。
这个扩展更容易:

pip install ffmpeg-python

Karl Kroening 在这里发布了一个非常好的将 FFmpeg 集成到 Python 中。
有了这些例子,一个解决方案应该是可能的:
https://github.com/kkroening/ffmpeg-python

关于python - 如何使用python从ffmpeg管道输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55001241/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com