PyQt5は、VLCを使用して、RTSPビデオストリーミングを組み込み

需要:ウェブカメラのビデオフレームを埋め込むことがPyQt5で読みます

リファレンス接続

解決策1:使用OpenCVの

使用したネットワークカメラフレーム(Local Area Network)を取得した後、タイマーを使用してOpenCVの、画面は定期的に更新されます。

以下は、キーコードです:

import cv2



self.timer_camera = QTimer()  # 初始化定时器
self.cap = cv2.VideoCapture()  # 初始化摄像头
self.timer_camera.timeout.connect(self.show_camera) #当计时器到了一定的时间调用show_camera函数


def show_camera(self):
    flag, self.image = self.cap.read()
    show = cv2.resize(self.image, (600, 350))
    show = cv2.cvtColor(show, cv2.COLOR_BGR2RGB)
    showImage = QImage(show.data, show.shape[1], show.shape[0], QImage.Format_RGB888)
    self.cameraLabel.setPixmap(QPixmap.fromImage(showImage)) #在Label标签上显示图像

def openCamera(self):
    flag = self.cap.open("rtsp url")
    if flag == False:
        print("请检测相机与电脑是否连接正确")
    else:
        self.timer_camera.start(30)  #设置计时间隔并启动(1000ms == 1s)
def closeCamera(self):
    self.timer_camera.stop() #停止计时器
    self.cap.release()   #释放camera
    self.cameraLabel.clear()  #清空画面

本実施の形態と同じローカルカメラを得、ローカルカメラキャップ= cv2.VideoCapture(0)を使用すると同様に、ローカルカメラがテスト中に取得することができるが、RTSPウェブカムストリームを取得していません。問題は、(カメラ自体が恐怖の問題かもしれない)ですそして、ビデオカメラを再生するために使用することができますRTSPアドレスVLCソフトウェアを使用して、私は知りません。また、第二の選択肢と考えられています。

対処方法2:VLCを使用します

参考
VLCをインストールします

python -m pip install python-vlc

if args:
    self.instance = vlc.Instance(*args)
    self.mediaplayer = self.instance.media_player_new()
else:
    self.mediaplayer = vlc.MediaPlayer()

if platform.system() == "Windows":
    self.mediaplayer.set_hwnd(self.cameraLabel.winId())  #在cameraLabel显示帧



def openCamera(self):
    url = "rtsp url"
    self.mediaplayer.set_mrl(url)
    self.mediaplayer.play()
def closeCamera(self):
    self.mediaplayer.stop()
    self.mediaplayer.release()
公開された93元の記事 ウォンの賞賛0 ビュー20000 +

おすすめ

転載: blog.csdn.net/Dream_xd/article/details/104220780