在 python 中创建了一个 rtsp 客户端,它接收 h264 流并以二进制字符串形式返回单个 h264 原始帧。我正在尝试即时处理每个 h264 帧。
我尝试了几种方法来将此帧转换为 numpy 数组进行处理,但均未成功。
到目前为止,我知道 cv2.VideoCapture 只接受一个文件名作为它的参数,而不是一个框架,也不是一个 StringIO 对象(像指向缓冲区的指针的文件),但我需要将我的字符串传递给它。
我也尝试过类似的事情:
nparr = np.fromstring(frame_bin_str, np.uint8)
img_np = cv2.imdecode(nparr, cv2.CV_LOAD_IMAGE_COLOR)
Run Code Online (Sandbox Code Playgroud)
尝试了不同的标志。但也惨败。
在许多其他失败的尝试之后,我用完了想法。
总结一下我需要做的事情:我在一个变量中有一个 h264 原始帧,我需要为其创建一个 openvc 有效的 numpy 数组,或者以某种方式最终得到一个包含该单个帧的 VideoCapture 对象,以便我可以处理该帧。
任何指针将不胜感激。
希望这一切都有意义。
先感谢您