U kunt deze techniek gebruiken om een eenvoudige videospeler te bouwen of om een speler te integreren in een meer gecompliceerde app.
Er zijn verschillende manieren waarop u video's op uw computer kunt afspelen, waaronder het gebruik van ingebouwde videospelers, andere mediaspelersoftware of browserplug-ins. U kunt ook een video afspelen met behulp van een eenvoudig Python-script dat u op de opdrachtregel kunt uitvoeren.
U kunt videobestanden afspelen in Python met behulp van de cv2-module. Deze module biedt tal van functies waarmee u videobestanden van verschillende formaten kunt weergeven. Dit omvat het laden van de video, het weergeven op het scherm en het regelen van het afspelen ervan.
Wat is de cv2-module in Python?
De cv2-module is een open-source Python-bibliotheek die u kunt gebruiken om afbeeldingen en video's te verwerken. Hiermee kunt u beeld- en videobestanden in verschillende formaten lezen, manipuleren en weergeven.
De cv2-module is ontwikkeld bovenop OpenCV (Open Source Computer Vision Library), dat eveneens open-source is. Het biedt vooraf gebouwde hulpmiddelen om te helpen bij objectdetectie en gezichtsherkenning.
Als u niet bekend bent met Python, kunt u meer trucs leren voor betere Python-code schrijven. Je kunt ook andere verkennen Python GitHub-opslagplaatsen.
Een nieuw videospelervenster openen met behulp van cv2
U kunt een nieuw venster openen met behulp van dit Python-script. Het venster speelt uw geselecteerde video af.
Hiermee kunt u het voorbeeld bekijken GitHub-reproductie.
- Importeer in een nieuw Python-script genaamd videoPlayer.py de cv2-module bovenaan het bestand:
importeren cv2
- Gebruik in een nieuwe functie genaamd playVideo() de cv2-module om een nieuw leeg venster te openen:
defvideo afspelen():
cv2.namedWindow("Leeg raam", cv2.WINDOW_NORMAL) - Verklein uw venster naar de gewenste breedte en hoogte:
cv2.resizeWindow("Leeg raam", 270, 480)
- Gebruik de functie waitKey() van de module om voor onbepaalde tijd te wachten op gebruikersinvoer. Hierdoor kunt u op bepaalde knoppen drukken, zoals de Escape-toets terwijl het venster open is:
cv2.waitKey(0)
- Wanneer de gebruiker toch op een toets drukt, gebruikt u de destroyAllWindows() om het venster te sluiten:
cv2.destroyAllWindows()
- Roep de functie playVideo() op aan het einde van het script:
video afspelen()
- Navigeer op een opdrachtregel naar de map waarin u uw Python-script hebt opgeslagen. Bijvoorbeeld:
cd-bureaublad
- Gebruik de opdracht python om het Python-script uit te voeren en de vensterspeler te bekijken:
python videoPlayer.py
Een gekozen lokaal bestand afspelen met behulp van het videospelervenster
Gebruik de lege vensterspeler om een video af te spelen die is opgeslagen op uw lokale computer.
- Pas de functie playVideo() aan. Vraag de gebruiker aan het begin van de functie om het bestandspad naar een videobestand in te voeren:
bestand = invoer("Voer het pad naar het MP4-videobestand in: ")
- Maak een nieuw video-opnameobject van het geselecteerde bestand. Dit object vertegenwoordigt de video zelf en u kunt het gebruiken om toegang te krijgen tot frames waaruit de video bestaat. Initialiseer en open de video-opname:
cap = cv2.VideoCapture (bestand)
- Nadat u het venster hebt gemaakt en de grootte ervan hebt gewijzigd, gebruikt u een lus om te controleren of het video-opnameobject is geïnitialiseerd en geopend:
cv2.namedWindow("Video speler", cv2.WINDOW_NORMAL)
cv2.resizeWindow("Video speler", 270, 480)
terwijl(cap.isOpened()): - Gebruik binnen de while-lus de functie read() om het volgende frame van de video te lezen. De functie retourneert de successtatus van het gelezen frame en de waarde van het daadwerkelijke frame:
succes, frame = cap.read()
- Als het lezen van het frame is gelukt, gebruikt u de functie imshow() om het frame in het venster weer te geven:
als succes:
cv2.imshow('Video speler', kader) - Vervang de waitKey() functie. Als de gebruiker op de Q op het toetsenbord, of drukt u op de X knop in de rechterbovenhoek van het venster, sluit de videospeler:
quitButton = cv2.waitKey(25) & 0xFF == volgorde('Q')
closeButton = cv2.getWindowProperty('Video speler', cv2.WND_PROP_VISIBLE) < 1als quitknop of closeButton:
pauze - Voeg een else-instructie toe om te controleren of het lezen van het frame niet is gelukt. Als het mislukt, onderbreek dan de while-lus om runtime-fouten te voorkomen:
anders:
pauze - Stop na de while-lus de opname en video en sluit het venster:
cap.release()
cv2.destroyAllWindows() - Navigeer op een opdrachtregel naar de map waarin u uw Python-script hebt opgeslagen. Bijvoorbeeld:
cd-bureaublad
- Gebruik de python-opdracht om het Python-script uit te voeren:
python videoPlayer.py
- Voer het pad naar je mp4-bestand in om de video af te spelen:
C:\Users\Sharl\Desktop\script\DogWithDragons.mp4
Video's afspelen in Python
Het afspelen van een videobestand is slechts een van de vele nuttige en interessante dingen die u kunt bereiken met een Python-script. Om je vaardigheden te blijven verbeteren en je vaardigheden te verbeteren, is het belangrijk om te blijven oefenen met andere projecten die je kunt maken.