می توانید از این تکنیک برای ساختن یک پخش کننده ویدیوی ساده یا ادغام یک پخش کننده در یک برنامه پیچیده تر استفاده کنید.
راههای مختلفی برای پخش ویدیوها در رایانهتان وجود دارد، از جمله استفاده از پخشکنندههای ویدیوی داخلی، سایر نرمافزارهای پخشکننده رسانه یا افزونههای مرورگر. همچنین میتوانید با استفاده از یک اسکریپت ساده پایتون که میتوانید در خط فرمان اجرا کنید، یک ویدیو پخش کنید.
با استفاده از ماژول cv2 می توانید فایل های ویدئویی را در پایتون پخش کنید. این ماژول عملکردهای متعددی را ارائه می دهد که به شما امکان نمایش فایل های ویدئویی با فرمت های مختلف را می دهد. این شامل بارگذاری ویدیو، نمایش آن بر روی صفحه و کنترل پخش آن است.
ماژول cv2 در پایتون چیست؟
ماژول cv2 یک کتابخانه پایتون منبع باز است که می توانید از آن برای پردازش تصاویر و فیلم ها استفاده کنید. این به شما امکان می دهد فایل های تصویری و ویدئویی را در فرمت های مختلف بخوانید، دستکاری و نمایش دهید.
ماژول cv2 در بالای OpenCV (کتابخانه چشم انداز کامپیوتری منبع باز) توسعه یافته است که منبع باز نیز می باشد. ابزارهای از پیش ساخته شده برای کمک به تشخیص اشیا و تشخیص چهره را فراهم می کند.
اگر با پایتون آشنایی ندارید، می توانید ترفندهای بیشتری برای نوشتن کدهای بهتر پایتون بیاموزید. همچنین می توانید مخازن دیگر Python GitHub را کاوش کنید.
نحوه باز کردن یک پنجره پخش کننده ویدیوی جدید با استفاده از cv2
با استفاده از این اسکریپت پایتون می توانید یک پنجره جدید باز کنید. پنجره ویدیوی انتخابی شما را پخش می کند.
می توانید با استفاده از این نسخه GitHub نمونه را مشاهده کنید.
- در یک اسکریپت جدید پایتون به نام videoPlayer.py، ماژول cv2 را در بالای فایل وارد کنید: import cv2
- در داخل یک تابع جدید به نام playVideo()، از ماژول cv2 برای باز کردن یک پنجره خالی جدید استفاده کنید: def playVideo(): cv2.namedWindow(“پنجره خالی”، cv2.WINDOW_NORMAL)
- اندازه پنجره خود را به عرض و ارتفاع دلخواه خود تغییر دهید: cv2.resizeWindow(“پنجره خالی”، 270، 480)
- از تابع WaitKey() ماژول برای منتظر ماندن برای هر ورودی کاربر به طور نامحدود استفاده کنید. با این کار میتوانید دکمههای خاصی مانند کلید Escape را در حالی که پنجره باز است فشار دهید: cv2.waitKey(0)
- وقتی کاربر کلیدی را فشار میدهد، از ()DestroyAllWindows برای بستن پنجره استفاده کنید: cv2.destroyAllWindows()
- تابع playVideo() را در انتهای اسکریپت فراخوانی کنید: playVideo()
- در یک خط فرمان، به پوشه ای که اسکریپت پایتون خود را در آن ذخیره کرده اید بروید. به عنوان مثال: سی دی دسکتاپ
- از دستور پایتون برای اجرای اسکریپت پایتون و مشاهده پخش کننده پنجره استفاده کنید: python videoPlayer.py
import cv2
def playVideo():
cv2.namedWindow("Empty Window", cv2.WINDOW_NORMAL)
cv2.resizeWindow("Empty Window", 270, 480)
cv2.waitKey(0)
cv2.destroyAllWindows()
playVideo()
cd Desktop
python videoPlayer.py
نحوه پخش یک فایل محلی انتخابی با استفاده از پنجره پخش کننده ویدیو
از پخش کننده پنجره خالی برای پخش یک ویدیوی ذخیره شده در رایانه محلی خود استفاده کنید.
- تابع playVideo() را تغییر دهید. در ابتدای عملکرد، از کاربر بخواهید مسیر فایل یک فایل ویدئویی را وارد کند: file = input(“مسیر فایل ویدئویی MP4 را وارد کنید:”)
- یک شیء جدید ضبط ویدیو از فایل انتخابی ایجاد کنید. این شیء خود ویدیو را نشان می دهد و می توانید از آن برای دسترسی به فریم هایی که ویدیو را تشکیل می دهند استفاده کنید. ضبط ویدیو را راهاندازی و باز کنید: cap = cv2.VideoCapture(file)
- پس از ایجاد و تغییر اندازه پنجره، از یک حلقه برای بررسی اینکه آیا شیء ضبط ویدیو مقداردهی اولیه و باز شده است یا خیر استفاده کنید: cv2.namedWindow(“Video Player”, cv2.WINDOW_NORMAL) cv2.resizeWindow(“Video Player”, 270, 480) cap.isOpened()):
- در داخل حلقه while، از تابع read() برای خواندن فریم بعدی ویدیو استفاده کنید. این تابع وضعیت موفقیت فریم خوانده شده و مقدار فریم واقعی را برمی گرداند: success، frame = cap.read()
- اگر فریم خواندن موفقیت آمیز بود، از تابع imshow() برای نشان دادن قاب در پنجره استفاده کنید: اگر موفقیت آمیز بود: cv2.imshow(‘Video Player’, frame)
- تابع WaitKey() را جایگزین کنید. اگر کاربر دکمه q را روی صفحه کلید فشار دهد یا دکمه X را در سمت راست بالای پنجره فشار دهد، پخش کننده ویدیو را ببندید: quitButton = cv2.waitKey(25) و 0xFF == ord(‘q’) closeButton = cv2.getWindowProperty(‘Video Player’, cv2.WND_PROP_VISIBLE) < 1 if quitButton or closeButton: شکست
- برای بررسی اینکه آیا فریم خوانده شده موفقیت آمیز نبود، یک عبارت else اضافه کنید. اگر شکست خورد، از حلقه while خارج شوید تا از خطاهای زمان اجرا جلوگیری کنید: دیگر: break
- پس از حلقه while، ضبط و ویدیو را متوقف کنید و پنجره را ببندید: cap.release() cv2.destroyAllWindows()
- در یک خط فرمان، به پوشه ای که اسکریپت پایتون خود را در آن ذخیره کرده اید بروید. به عنوان مثال: سی دی دسکتاپ
- از دستور پایتون برای اجرای اسکریپت پایتون استفاده کنید: python videoPlayer.py
- مسیر فایل mp4 خود را برای شروع پخش ویدیو وارد کنید: C:\Users\Sharl\Desktop\script\DogWithDragons.mp4
file = input("Enter the path to the MP4 video file: ")
cap = cv2.VideoCapture(file)
cv2.namedWindow("Video Player", cv2.WINDOW_NORMAL)
cv2.resizeWindow("Video Player", 270, 480)
while(cap.isOpened()):
success, frame = cap.read()
if success:
cv2.imshow('Video Player', frame)
quitButton = cv2.waitKey(25) & 0xFF == ord('q')
closeButton = cv2.getWindowProperty('Video Player', cv2.WND_PROP_VISIBLE) < 1
if quitButton or closeButton:
break
else:
break
cap.release()
cv2.destroyAllWindows()
cd Desktop
python videoPlayer.py
C:\Users\Sharl\Desktop\script\DogWithDragons.mp4
پخش فیلم در پایتون
پخش یک فایل ویدئویی تنها یکی از بسیاری از کارهای مفید و جالبی است که می توانید با اسکریپت پایتون انجام دهید. برای ادامه بهبود مهارت ها و ارتقای توانایی های خود، مهم است که به تمرین با استفاده از پروژه های دیگری که می توانید ایجاد کنید ادامه دهید.