Μπορείτε να χρησιμοποιήσετε αυτήν την τεχνική για να δημιουργήσετε ένα απλό πρόγραμμα αναπαραγωγής βίντεο ή για να ενσωματώσετε ένα πρόγραμμα αναπαραγωγής σε μια πιο περίπλοκη εφαρμογή.
Υπάρχουν διάφοροι τρόποι με τους οποίους μπορείτε να αναπαράγετε βίντεο στον υπολογιστή σας, συμπεριλαμβανομένης της χρήσης ενσωματωμένων προγραμμάτων αναπαραγωγής βίντεο, άλλου λογισμικού προγράμματος αναπαραγωγής πολυμέσων ή προσθηκών προγράμματος περιήγησης. Μπορείτε επίσης να αναπαράγετε ένα βίντεο χρησιμοποιώντας ένα απλό σενάριο Python που μπορείτε να εκτελέσετε στη γραμμή εντολών.
Μπορείτε να αναπαράγετε αρχεία βίντεο στην Python χρησιμοποιώντας τη μονάδα cv2. Αυτή η ενότητα προσφέρει πολλές λειτουργίες που σας επιτρέπουν να εμφανίζετε αρχεία βίντεο διαφορετικών μορφών. Αυτό περιλαμβάνει τη φόρτωση του βίντεο, την εμφάνισή του στην οθόνη και τον έλεγχο της αναπαραγωγής του.
Τι είναι η μονάδα cv2 στην Python;
Η λειτουργική μονάδα cv2 είναι μια βιβλιοθήκη Python ανοιχτού κώδικα που μπορείτε να χρησιμοποιήσετε για την επεξεργασία εικόνων και βίντεο. Σας δίνει τη δυνατότητα να διαβάζετε, να χειρίζεστε και να εμφανίζετε αρχεία εικόνας και βίντεο σε διάφορες μορφές.
Η μονάδα cv2 έχει αναπτυχθεί πάνω από το OpenCV (Open Source Computer Vision Library), το οποίο είναι επίσης ανοιχτού κώδικα. Παρέχει προκατασκευασμένα εργαλεία που βοηθούν στην ανίχνευση αντικειμένων και την αναγνώριση προσώπου.
Εάν δεν είστε εξοικειωμένοι με την Python, μπορείτε να μάθετε περισσότερα κόλπα για γράφοντας καλύτερο κώδικα Python. Μπορείτε επίσης να εξερευνήσετε άλλα Αποθετήρια Python GitHub.
Πώς να ανοίξετε ένα νέο παράθυρο προγράμματος αναπαραγωγής βίντεο χρησιμοποιώντας το cv2
Μπορείτε να ανοίξετε ένα νέο παράθυρο χρησιμοποιώντας αυτό το σενάριο Python. Το παράθυρο θα παίξει το επιλεγμένο βίντεο.
Μπορείτε να δείτε το παράδειγμα χρησιμοποιώντας αυτό GitHub repro.
- Σε ένα νέο σενάριο Python που ονομάζεται videoPlayer.py, εισαγάγετε τη λειτουργική μονάδα cv2 στην κορυφή του αρχείου:
εισαγωγή cv2
- Μέσα σε μια νέα συνάρτηση που ονομάζεται playVideo(), χρησιμοποιήστε τη μονάδα cv2 για να ανοίξετε ένα νέο κενό παράθυρο:
defπαίξε το βίντεο():
cv2.namedWindow("Άδειο παράθυρο", cv2.WINDOW_NORMAL) - Αλλάξτε το μέγεθος του παραθύρου σας στο επιθυμητό πλάτος και ύψος:
cv2.resizeWindow("Άδειο παράθυρο", 270, 480)
- Χρησιμοποιήστε τη συνάρτηση waitKey() της λειτουργικής μονάδας για να περιμένετε επ' αόριστον οποιαδήποτε είσοδο χρήστη. Αυτό θα σας επιτρέψει να πατήσετε ορισμένα κουμπιά, όπως το πλήκτρο Escape ενώ το παράθυρο είναι ανοιχτό:
cv2.waitKey(0)
- Όταν ο χρήστης πατήσει ένα πλήκτρο, χρησιμοποιήστε την καταστροφήAllWindows() για να κλείσετε το παράθυρο:
cv2.destroyAllWindows()
- Καλέστε τη συνάρτηση playVideo() στο τέλος του σεναρίου:
παίξε το βίντεο()
- Σε μια γραμμή εντολών, μεταβείτε στο φάκελο όπου αποθηκεύσατε το σενάριο Python. Για παράδειγμα:
cd Επιτραπέζιος υπολογιστής
- Χρησιμοποιήστε την εντολή python για να εκτελέσετε το σενάριο Python και να προβάλετε το πρόγραμμα αναπαραγωγής παραθύρων:
python videoPlayer.py
Πώς να παίξετε ένα επιλεγμένο τοπικό αρχείο χρησιμοποιώντας το παράθυρο του προγράμματος αναπαραγωγής βίντεο
Χρησιμοποιήστε το κενό πρόγραμμα αναπαραγωγής παραθύρων για να αναπαράγετε ένα βίντεο που είναι αποθηκευμένο στον τοπικό σας υπολογιστή.
- Τροποποιήστε τη συνάρτηση playVideo(). Στην αρχή της λειτουργίας, ζητήστε από το χρήστη να εισαγάγει τη διαδρομή αρχείου σε ένα αρχείο βίντεο:
αρχείο = είσοδος("Εισαγάγετε τη διαδρομή προς το αρχείο βίντεο MP4: ")
- Δημιουργήστε ένα νέο αντικείμενο λήψης βίντεο από το επιλεγμένο αρχείο. Αυτό το αντικείμενο αντιπροσωπεύει το ίδιο το βίντεο και μπορείτε να το χρησιμοποιήσετε για να αποκτήσετε πρόσβαση στα καρέ που απαρτίζουν το βίντεο. Αρχικοποιήστε και ανοίξτε τη λήψη βίντεο:
cap = cv2.VideoCapture (αρχείο)
- Αφού δημιουργήσετε και αλλάξετε το μέγεθος του παραθύρου, χρησιμοποιήστε έναν βρόχο για να ελέγξετε εάν το αντικείμενο λήψης βίντεο έχει αρχικοποιηθεί και ανοίξει:
cv2.namedWindow("Βίντεο", cv2.WINDOW_NORMAL)
cv2.resizeWindow("Βίντεο", 270, 480)
ενώ(cap.isOpened()): - Μέσα στον βρόχο while, χρησιμοποιήστε τη συνάρτηση read() για να διαβάσετε το επόμενο καρέ του βίντεο. Η συνάρτηση επιστρέφει την κατάσταση επιτυχίας του πλαισίου ανάγνωσης και την τιμή του πραγματικού πλαισίου:
επιτυχία, πλαίσιο = cap.read()
- Εάν η ανάγνωση του πλαισίου ήταν επιτυχής, χρησιμοποιήστε τη συνάρτηση imshow() για να εμφανίσετε το πλαίσιο στο παράθυρο:
αν επιτυχία:
cv2.imshow('Βίντεο', πλαίσιο) - Αντικαταστήστε τη συνάρτηση waitKey(). Εάν ο χρήστης πατήσει το q κουμπί στο πληκτρολόγιο ή πατήστε το Χ κουμπί στην επάνω δεξιά γωνία του παραθύρου, κλείστε το πρόγραμμα αναπαραγωγής βίντεο:
quitButton = cv2.waitKey(25) & 0xFF == Ord('q')
closeButton = cv2.getWindowProperty('Βίντεο', cv2.WND_PROP_VISIBLE) < 1αν Κουμπί τερματισμού ή Κλείσιμο Κουμπί:
Διακοπή - Προσθέστε μια άλλη δήλωση για να ελέγξετε εάν η ανάγνωση του πλαισίου δεν ήταν επιτυχής. Εάν απέτυχε, βγείτε από τον βρόχο while για να αποτρέψετε τυχόν σφάλματα χρόνου εκτέλεσης:
αλλού:
Διακοπή - Μετά τον βρόχο while, σταματήστε τη λήψη και το βίντεο και κλείστε το παράθυρο:
cap.release()
cv2.destroyAllWindows() - Σε μια γραμμή εντολών, μεταβείτε στο φάκελο όπου αποθηκεύσατε το σενάριο Python. Για παράδειγμα:
cd Επιτραπέζιος υπολογιστής
- Χρησιμοποιήστε την εντολή python για να εκτελέσετε το σενάριο Python:
python videoPlayer.py
- Εισαγάγετε τη διαδρομή προς το αρχείο mp4 για να ξεκινήσει η αναπαραγωγή του βίντεο:
C:\Users\Sharl\Desktop\script\DogWithDragons.mp4
Αναπαραγωγή βίντεο σε Python
Η αναπαραγωγή ενός αρχείου βίντεο είναι μόνο ένα από τα πολλά χρήσιμα και ενδιαφέροντα πράγματα που μπορείτε να επιτύχετε με ένα σενάριο Python. Για να συνεχίσετε να βελτιώνετε τις δεξιότητές σας και να προάγετε τις ικανότητές σας, είναι σημαντικό να συνεχίσετε να εξασκείτε χρησιμοποιώντας άλλα έργα που μπορείτε να δημιουργήσετε.