簡體   English   中英

Pygame / MoviePy - 視頻以可怕的幀率顯示,窗口大小比我的屏幕大

[英]Pygame/MoviePy - The video displays with a terrible framerate and the window size is bigger than my screen

由於一個新的故事視頻游戲項目,我一直在尋找一種方法來尋找一種在Pygame中顯示視頻的方法。 我終於偶然發現了Moviepy,它的工作正常......除了視頻顯示每秒只顯示24幀中的一幀,它顯示的窗口大於屏幕。 (在具有11英​​寸(我認為)屏幕的Windows 10筆記本電腦上)

聲音沒問題,但視頻也太快,因此不同步。

我已經嘗試過如文檔中所述的調整大小功能,但它沒有效果。

我找不到與幀率有關的任何事情。

所以我需要一種方法來縮小窗口並修正幀速率。

這是我使用的代碼:

from moviepy.editor import VideoFileClip
from moviepy.video.fx.resize import resize
import pygame

pygame.display.set_caption('My video!')

clip = VideoFileClip('Eleeza Crafter And The Cloud Colours Trailer.mp4')
clip.fx(resize, width=240)
clip.preview(fps=24)
pygame.quit()

任何幫助,將不勝感激。 謝謝 :)

編輯:我以相同的幀速率測試了不同的視頻,它的工作原理完美嗎? 然后,這只是一條圍繞屏幕飛行的簡單線條。

2秒谷歌給了我這個鏈接

它指出 :

可以按如下方式預覽剪輯

my_clip.preview() # preview with default fps=15
my_clip.preview(fps=25)
my_clip.preview(fps=15, audio=False) # don't generate/play the audio.
my_audio_clip.preview(fps=22000)

另外(取決於您的導入方法:

這樣你就可以使用clip.resize(width=240)而不是更長的clip.fx( resize, width=240)

仍然來自文檔:

對於高級圖像處理,您將需要一個或多個這些包。 例如,使用方法clip.resize要求安裝ScipyPILPillowOpenCV中的至少一個。

我不知道這是不是問題,但對於屏幕尺寸,你應該使用pygame.display.set_mode((WIDTH, HEIGHT)) (將WIDTH值改為你想要的寬度,將HEIGHT值改為你想要的高度。另外,我注意到pygame的一些東西是大窗戶有很多滯后,所以可能會推薦一個較小的窗口尺寸。我發現500x500是沒有延遲的最大尺寸(至少在我的筆記本電腦上)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM