Puteți folosi această tehnică pentru a construi un player video simplu sau pentru a integra un player într-o aplicație mai complicată.
Există diferite moduri în care puteți reda videoclipuri pe computer, inclusiv folosind playere video încorporate, alt software de redare media sau pluginuri de browser. De asemenea, puteți reda un videoclip folosind un script Python simplu pe care îl puteți rula pe linia de comandă.
Puteți reda fișiere video în Python folosind modulul cv2. Acest modul oferă numeroase funcții care vă permit să afișați fișiere video de diferite formate. Aceasta include încărcarea videoclipului, afișarea lui pe ecran și controlul redării acestuia.
Ce este modulul cv2 în Python?
Modulul cv2 este o bibliotecă Python open-source pe care o puteți utiliza pentru a procesa imagini și videoclipuri. Vă permite să citiți, să manipulați și să afișați fișiere imagine și video în diferite formate.
Modulul cv2 este dezvoltat pe lângă OpenCV (Open Source Computer Vision Library), care este, de asemenea, open-source. Oferă instrumente prefabricate pentru a ajuta la detectarea obiectelor și recunoașterea feței.
Dacă nu sunteți familiarizat cu Python, puteți afla mai multe trucuri pentru scriind cod Python mai bun. Puteți explora și altele Arhivele Python GitHub.
Cum să deschideți o nouă fereastră de player video folosind cv2
Puteți deschide o nouă fereastră folosind acest script Python. Fereastra va reda videoclipul selectat.
Puteți vizualiza exemplul folosind aceasta GitHub repro.
- Într-un nou script Python numit videoPlayer.py, importați modulul cv2 din partea de sus a fișierului:
import cv2
- În interiorul unei noi funcții numită playVideo(), utilizați modulul cv2 pentru a deschide o nouă fereastră goală:
defrulează video():
cv2.namedWindow(„Fereastra goală”, cv2.WINDOW_NORMAL) - Redimensionați fereastra la lățimea și înălțimea dorite:
cv2.resizeWindow(„Fereastra goală”, 270, 480)
- Utilizați funcția waitKey() a modulului pentru a aștepta orice intrare de utilizator pe termen nelimitat. Acest lucru vă va permite să apăsați anumite butoane, cum ar fi tasta Escape în timp ce fereastra este deschisă:
cv2.waitKey(0)
- Când utilizatorul apasă o tastă, folosește destroyAllWindows() pentru a închide fereastra:
cv2.destroyAllWindows()
- Apelați funcția playVideo() la sfârșitul scriptului:
rulează video()
- Pe o linie de comandă, navigați la folderul în care ați stocat scriptul Python. De exemplu:
cd Desktop
- Utilizați comanda python pentru a rula scriptul Python și pentru a vizualiza player-ul ferestrei:
python videoPlayer.py
Cum să redați un fișier local ales folosind fereastra Video Player
Utilizați fereastra goală pentru a reda un videoclip stocat pe computerul local.
- Modificați funcția playVideo(). La începutul funcției, cereți utilizatorului să introducă calea fișierului către un fișier video:
fisier = intrare("Introduceți calea către fișierul video MP4: ")
- Creați un nou obiect de captură video din fișierul selectat. Acest obiect reprezintă videoclipul în sine și îl puteți folosi pentru a accesa cadrele care compun videoclipul. Inițializați și deschideți captura video:
cap = cv2.VideoCapture (fișier)
- După crearea și redimensionarea ferestrei, utilizați o buclă pentru a verifica dacă obiectul de captură video este inițializat și deschis:
cv2.namedWindow("Video player", cv2.WINDOW_NORMAL)
cv2.resizeWindow("Video player", 270, 480)
in timp ce(cap.isOpened()): - În bucla while, utilizați funcția read() pentru a citi următorul cadru al videoclipului. Funcția returnează starea de succes a cadrului citit și valoarea cadrului actual:
succes, frame = cap.read()
- Dacă cadrul citit a avut succes, utilizați funcția imshow() pentru a afișa cadrul în fereastră:
dacă succes:
cv2.imshow('Video player', cadru) - Înlocuiți funcția waitKey(). Dacă utilizatorul apasă pe q butonul de pe tastatură sau apăsați tasta X butonul din colțul din dreapta sus al ferestrei, închideți playerul video:
quitButton = cv2.waitKey(25) & 0xFF == ord('q')
closeButton = cv2.getWindowProperty('Video player', cv2.WND_PROP_VISIBLE) < 1dacă QuitButton sau closeButton:
pauză - Adăugați o declarație else pentru a verifica dacă citirea cadrului nu a avut succes. Dacă nu a reușit, ieșiți din bucla while pentru a preveni orice eroare de rulare:
altfel:
pauză - După bucla while, opriți captura și videoclipul și închideți fereastra:
cap.release()
cv2.destroyAllWindows() - Pe o linie de comandă, navigați la folderul în care ați stocat scriptul Python. De exemplu:
cd Desktop
- Utilizați comanda python pentru a rula scriptul Python:
python videoPlayer.py
- Introdu calea către fișierul mp4 pentru a începe redarea videoclipului:
C:\Utilizatori\Sharl\Desktop\script\DogWithDragons.mp4
Redarea videoclipurilor în Python
Redarea unui fișier video este doar unul dintre multele lucruri utile și interesante pe care le puteți realiza cu un script Python. Pentru a continua să vă îmbunătățiți abilitățile și să vă dezvoltați abilitățile, este important să continuați să exersați folosind alte proiecte pe care le puteți crea.