吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2132|回复: 8
收起左侧

[求助] python 视频播放器播放很慢

[复制链接]
woaixuexi7 发表于 2021-2-3 07:28
我自己做了一个视频播放器,但是播放时的时候播放的很慢,尝试播放了很多视频,都播放的很慢,
不知道是怎么回事,知道的请帮我解决一下。

代码:
[Python] 纯文本查看 复制代码
import tkinter as tk
from tkinter import filedialog
from PIL import Image, ImageTk
from cv2 import cv2

def play_func():
    moviePath = filedialog.askopenfilename()
    pBtn.place_forget()
    movie = cv2.VideoCapture(moviePath)
    while movie.isOpened():
        ret, readyFrame = movie.read()
        if ret:
            movieFrame = cv2.cvtColor(readyFrame, cv2.COLOR_BGR2RGBA)
            newImage = Image.fromarray(movieFrame).resize((1080, 720))
            newCover = ImageTk.PhotoImage(image=newImage)
            videoLable.configure(image=newCover)
            videoLable.image = newCover
            root.update_idletasks()
            root.update()

root = tk.Tk()
root.title("Video Player")
root.geometry("1080x720")
root["bg"] = "#333333"
root.iconbitmap("./img/play.ico")

movieImage = Image.open("./img/movie.jpg")
cover = ImageTk.PhotoImage(image=movieImage)

videoLable = tk.Label(root, width=1080, height=720, bd=0, image=cover)
videoLable.place(x=0, y=0)

pImg = Image.open("./img/play.png").resize((64, 64))
pImgTk = ImageTk.PhotoImage(image=pImg)

pBtn = tk.Button(root, image=pImgTk, cursor='hand2', command=play_func)
pBtn.place(x=508, y=328)

pBar = tk.Scale(root, from_=0, to=90, length=1080, orient=tk.HORIZONTAL,
    resolution=0.1, showvalue=0, bd=0, cursor="hand2")
pBar.place(x=0, y=700)

root.mainloop()

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
lxhyjr + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

arq2020 发表于 2021-2-3 07:58
谢谢楼主代码,我去试试
zhukun1980 发表于 2021-2-3 08:31
BLE 发表于 2021-2-3 09:03
按正常的播放器,都是会有一个提前解析缓存的
52soft 发表于 2021-2-3 10:36
有这么牛逼
ccwuax 发表于 2021-2-3 10:46
用你的代码替换掉图片后播放MPG正常呀,没觉得慢呀?你电脑配置可能不高吧
sitiger 发表于 2021-2-3 11:04
不错不错,好想法
123412341233 发表于 2021-2-3 11:38
你这个如何打包成软件?EXE的那种程序
 楼主| woaixuexi7 发表于 2021-2-3 20:15
是不是获取每一帧的图片获取的很慢,所以播放的就很慢呢?
可不可以用多线程每一次多获取视频的帧呢?
这样要怎么弄?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 07:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表