直接上代码:
import vlc
import ctypes
import time
import sys
import cv2
import numpy
from PIL import Image
vlcInstance = vlc.Instance()
m = vlcInstance.media_new("rtsp://admin:admin@172.16.1.60:554/h264/ch1/main/av_stream")
mp = vlc.libvlc_media_player_new_from_media(m)
VIDEOWIDTH = 1920
VIDEOHEIGHT = 1080
size = VIDEOWIDTH * VIDEOHEIGHT * 4
buf = (ctypes.c_ubyte * size)()
buf_p = ctypes.cast(buf, ctypes.c_void_p)
VideoLockCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_void_p))
@VideoLockCb
def _lockcb(opaque, planes):
#print("lock", file=sys.stderr)
planes[0] = buf_p
@vlc.CallbackDecorators.VideoDisplayCb
def _display(opaque, picture):
img