rockchip-linux / mpp

Media Process Platform (MPP) module
468 stars 156 forks source link

如何在Python中使用MPP #364

Open jadehh opened 1 year ago

jadehh commented 1 year ago

1.后续会提供mpp的python的Wheel吗? 2.mpp解码RTSP视频流和opencv解码RTSP视频流对CPU占用会有效降低吗?

eyu11 commented 1 year ago

同问,咋没人回复?

eyu11 commented 1 year ago

响应速度太慢了~~体验真心不好

HouLingLXH commented 5 months ago

同问, 怎么在python中使用啊!!

zhaodaye2022 commented 4 months ago

同问,怎么在python中使用啊!!

sztukai commented 1 month ago

同问

HermanChen commented 1 month ago

目前不支持 python,需要做图像拷贝会影响效率

sztukai commented 1 month ago

可以接受python的mpp速度比C++的慢,再慢也不能比软解码慢吧。

happyme531 commented 3 weeks ago

用apt装python3-opencv(不要用pip,把已经用pip装的卸掉),然后看下面代码:

import cv2
import os
import time

print(cv2.getBuildInformation())

filename = 'video.mp4'

# 软解
# cap = cv2.VideoCapture(filename)

# mpp硬解
os.environ["GST_VIDEO_CONVERT_USE_RGA"] = "1"
cap = cv2.VideoCapture(F"filesrc location={filename} ! qtdemux !  video/x-h264 ! h264parse ! mppvideodec arm-afbc=0 ! video/x-raw, format=NV12 ! videoconvert ! video/x-raw, format=BGR ! appsink sync=false")

frames = 0
cur = time.time()
while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break
    frames += 1
    if frames % 100 == 0:
        print(f"fps: {100 / (time.time() - cur)}")
        cur = time.time()
    # cv2.imshow('frame', frame)
    # if cv2.waitKey(1) & 0xFF == ord('q'):
    #     break
rga_api version 1.9.2_[1]
[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (924) open OpenCV | GStreamer warning: unable to query duration of stream
[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (961) open OpenCV | GStreamer warning: Cannot query video position: status=1, value=0, duration=-1
fps: 503.11865374534733
fps: 535.0041327795749
fps: 531.8630596267337
fps: 541.6534082691076
fps: 532.7223262300371

赚点零花钱,需要代码调试帮助/RKNN模型转换部署/Python C++代码编写/RK3588 GPU模型部署/多线程优化/杂七杂八的技术支持问题 +q 2302004040