最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python制作簡(jiǎn)易視頻播放器

 更新時(shí)間:2024年11月18日 09:27:08   作者:天颶  
本文將用python-pyqt5-opencv做出來的簡(jiǎn)易視頻播放器,主要實(shí)現(xiàn)本地視頻文件播放、本地?cái)z像頭播放和遠(yuǎn)程攝像頭播放三個(gè)功能,需要的可以參考下

先上效果圖:

 這個(gè)就是用python-pyqt5-opencv做出來的簡(jiǎn)易視頻播放器,主要實(shí)現(xiàn)本地視頻文件播放、本地?cái)z像頭播放和遠(yuǎn)程攝像頭播放三個(gè)功能。

核心代碼:

def ShowCamera(self, url):
    try:
        if url == None:
            self.cap = cv2.VideoCapture(0)
        else:
            self.cap = cv2.VideoCapture(url)
 
        print('攝像頭是否開啟: {}'.format(self.cap.isOpened()))
        if self.cap.isOpened:
            self.cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
            self.cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
            self.cap.set(cv2.CAP_PROP_FPS, 25)
 
            print(self.cap.get(3))
            print(self.cap.get(4))
            print(self.cap.get(5))
            print('開始讀取攝像頭數(shù)據(jù)......')
 
            while(True):
                ret, color_frame = self.cap.read()
                if ret == False:
                    return
                if url == None:
                    color_frame = cv2.flip(color_frame, 1)
                cv2.waitKey(1)
                im = cv2.cvtColor(color_frame, cv2.COLOR_RGB2BGR)
                a = QImage(im.data, im.shape[1], im.shape[0], QImage.Format_RGB888)
                self.setPic(a)
 
            self.cap.release()
        else:
            print('camera open failed')
    except Exception as e:
        print(str(e))

三類播放使用的都是同一個(gè)showcamera()函數(shù),唯一的區(qū)別就是函數(shù)中的url參數(shù)不同。

文件播放:url=文件名

本地相機(jī):url=0

網(wǎng)絡(luò)串流:url=‘rtsp://……’

除了這個(gè)核心代碼,打開文件使用的是QFileDialog,打開網(wǎng)絡(luò)串流使用的是自定義的QinputDialog,兩個(gè)代碼如下:

def OpenFile(self):
    fileName, filetype = QFileDialog.getOpenFileName(self, '選擇文件')
    print(fileName, filetype)
    self.ShowCamera(fileName)
def Remote(self):
    input_dialog = QtWidgets.QInputDialog(self)
    input_dialog.setInputMode(QInputDialog.TextInput)
    input_dialog.setWindowTitle('打開網(wǎng)絡(luò)串流')
    input_dialog.setLabelText('請(qǐng)輸入網(wǎng)絡(luò)串流地址rtsp://')
    input_dialog.setFixedSize(500, 100)
    input_dialog.show()
    if input_dialog.exec_() == input_dialog.Accepted:
        text = input_dialog.textValue()
        if text != '':
            print(text)
            self.ShowCamera(text)
        else:
            print('地址錯(cuò)誤或空')

最后,是用Qlabel加載圖片的代碼:

def setPic(self, image):
    self.label.setPixmap(QPixmap.fromImage(image))

剩下的就是UI界面的定義了

到此這篇關(guān)于基于Python制作簡(jiǎn)易視頻播放器的文章就介紹到這了,更多相關(guān)Python視頻播放器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python刪除文本中行數(shù)標(biāo)簽的方法

    python刪除文本中行數(shù)標(biāo)簽的方法

    這篇文章主要為大家詳細(xì)介紹了python刪除文本中行數(shù)標(biāo)簽的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • python3實(shí)現(xiàn)Dijkstra算法最短路徑的實(shí)現(xiàn)

    python3實(shí)現(xiàn)Dijkstra算法最短路徑的實(shí)現(xiàn)

    這篇文章主要介紹了python3實(shí)現(xiàn)Dijkstra算法最短路徑的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 一篇文章從零開始創(chuàng)建conda環(huán)境、常用命令的使用及pycharm配置項(xiàng)目環(huán)境

    一篇文章從零開始創(chuàng)建conda環(huán)境、常用命令的使用及pycharm配置項(xiàng)目環(huán)境

    在Conda中創(chuàng)建新環(huán)境是一個(gè)非常有用的做法,尤其是當(dāng)你需要為不同的項(xiàng)目安裝不同版本的軟件包時(shí),這篇文章主要給大家介紹了關(guān)于從零開始創(chuàng)建conda環(huán)境、常用命令的使用及pycharm配置項(xiàng)目環(huán)境的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • Python3基于plotly模塊保存圖片表格

    Python3基于plotly模塊保存圖片表格

    這篇文章主要介紹了Python3基于plotly模塊保存圖片表格,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python調(diào)用edge-tts實(shí)現(xiàn)在線文字轉(zhuǎn)語音效果

    Python調(diào)用edge-tts實(shí)現(xiàn)在線文字轉(zhuǎn)語音效果

    edge-tts是一個(gè) Python 模塊,允許通過Python代碼或命令的方式使用 Microsoft Edge 的在線文本轉(zhuǎn)語音服務(wù),這篇文章主要介紹了Python調(diào)用edge-tts實(shí)現(xiàn)在線文字轉(zhuǎn)語音效果,需要的朋友可以參考下
    2024-03-03
  • Pthon批量處理將pdb文件生成dssp文件

    Pthon批量處理將pdb文件生成dssp文件

    這篇文章主要介紹了Pthon批量處理將pdb文件生成dssp文件,通過本例主要學(xué)習(xí)遍歷目錄下文件的方法,需要的朋友可以參考下
    2015-06-06
  • 淺析pandas隨機(jī)排列與隨機(jī)抽樣

    淺析pandas隨機(jī)排列與隨機(jī)抽樣

    這篇文章主要介紹了pandas隨機(jī)排列與隨機(jī)抽樣的相關(guān)資料,幫助大家更好的利用pandas進(jìn)行數(shù)據(jù)分析,感興趣的朋友可以了解下
    2021-01-01
  • 使用Python實(shí)現(xiàn)跳一跳自動(dòng)跳躍功能

    使用Python實(shí)現(xiàn)跳一跳自動(dòng)跳躍功能

    這篇文章主要介紹了使用Python實(shí)現(xiàn)跳一跳自動(dòng)跳躍功能,本文圖文并茂通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 謹(jǐn)慎使用Python進(jìn)行矩陣計(jì)算解析

    謹(jǐn)慎使用Python進(jìn)行矩陣計(jì)算解析

    這篇文章主要介紹了使用Python進(jìn)行矩陣計(jì)算原理解析,真正的單位矩陣,只有對(duì)角線元素為1,其他元素為0,用 np.identity(N) 生成單位矩陣,需要的朋友可以參考下
    2023-08-08
  • Python使用稀疏矩陣節(jié)省內(nèi)存實(shí)例

    Python使用稀疏矩陣節(jié)省內(nèi)存實(shí)例

    這篇文章主要介紹了Python使用稀疏矩陣節(jié)省內(nèi)存實(shí)例,矩陣中非零元素的個(gè)數(shù)遠(yuǎn)遠(yuǎn)小于矩陣元素的總數(shù),并且非零元素的分布沒有規(guī)律,則稱該矩陣為稀疏矩陣,需要的朋友可以參考下
    2014-06-06

最新評(píng)論

梅州市| 田阳县| 晋州市| 时尚| 中方县| 西吉县| 武宁县| 互助| 蒙阴县| 高阳县| 阿拉尔市| 东丽区| 青河县| 洛阳市| 阿克陶县| 偏关县| 哈尔滨市| 廊坊市| 那曲县| 锦屏县| 济阳县| 农安县| 濮阳县| 惠东县| 马边| 东方市| 博客| 南投市| 阆中市| 昭通市| 化德县| 蓝田县| 德化县| 九龙县| 阳曲县| 花莲市| 张家港市| 阿克陶县| 固始县| 新野县| 南汇区|