কম্পিউটার টিউটোরিয়াল

পাইথন OpenCV-এ ভিডিও উল্টো চালানো (Reverse Playback)


OpenCV স্থাপন


pip install opencv-python
# Linux: sudo apt-get install python3-opencv

অ্যালগরিদম

  1. ভিডিও ফাইল খুলুন (cv2.VideoCapture)।
  2. সব ফ্রেম পড়ে একটি লিস্টে সংরক্ষণ করুন।
  3. লিস্টটি রিভার্স করুন।
  4. রিভার্সড লিস্ট থেকে ফ্রেমগুলো দেখান।

সম্পূর্ণ কোড


import cv2

def play_video_reverse(video_path):
    cap = cv2.VideoCapture(video_path)
    
    if not cap.isOpened():
        print("Error: Could not open video.")
        return
    
    frames = []
    while True:
        ret, frame = cap.read()
        if not ret:
            break
        frames.append(frame)
    
    cap.release()
    
    if not frames:
        print("No frames found.")
        return
    
    print(f"Total frames: {len(frames)}. Playing in reverse...")
    
    # উল্টো চালানো
    for frame in reversed(frames):
        cv2.imshow('Reverse Video', frame)
        # 25ms ডিলে (≈40 FPS), 'q' চাপলে বের হবে
        if cv2.waitKey(25) & 0xFF == ord('q'):
            break
    
    cv2.destroyAllWindows()

# ব্যবহার
if __name__ == "__main__":
    play_video_reverse("input_video.mp4")  # আপনার ভিডিও ফাইল পথ দিন

মেমরি-দক্ষ সংস্করণ (জেনারেটর)

বড় ভিডিওর জন্য সব ফ্রেম র‍্যামে রাখা সম্ভব নয়। ফাইল থেকে পিছনের দিকে সিক (seek) করে পড়া যায়, কিন্তু OpenCV-এ এটি ধীর এবং কখনো কখনো অনির্ভরযোগ্য। বড় ভিডিওর জন্য:

  • ফ্রেমগুলো ডিস্কে ছবি হিসেবে সংরক্ষণ করুন।
  • ফিরে উল্টো ক্রমে লোড করুন।
  • বা ffmpeg ব্যবহার করে রিভার্সড ভিডিও তৈরি করুন: ffmpeg -i input.mp4 -vf reverse output.mp4

OpenCV VideoCapture প্রপার্টি


cap = cv2.VideoCapture('video.mp4')
print("Width:", cap.get(cv2.CAP_PROP_FRAME_WIDTH))
print("Height:", cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print("FPS:", cap.get(cv2.CAP_PROP_FPS))
print("Frame count:", cap.get(cv2.CAP_PROP_FRAME_COUNT))
print("FourCC:", cap.get(cv2.CAP_PROP_FOURCC))

সাধারণ সমস্যা

  1. পাইথনে OpenCV ব্যবহার করে টেমপ্লেট ম্যাচিং

  2. পাইথনে OpenCV ব্যবহার করে ইমেজ অ্যাডিশন ও ব্লেন্ডিং

  3. পাইথন OpenCV মডিউল ব্যবহার করে হিস্টোগ্রাম ইকুয়ালাইজেশন

  4. পাইথন OpenCV-এ জ্যামিতিক আকৃতি আঁকা

কপিরাইট © https://bd.wsxdn.com সমস্ত অধিকার সংরক্ষিত
সমস্যাসমাধান
ভিডিও খুলছে নাপথ চেক করুন, কোডেক সাপোর্ট (H.264, MJPEG) নিশ্চিত করুন
ফ্রেম কাউন্ট ০কিছু কন্টেইনারে ফ্রেম কাউন্ট মেটাডেটা থাকে না; লুপে পড়ুন
প্লেব্যাক ধীরwaitKey মান সামঞ্জস্য করুন, রিসাইজ করুন
অডিও নেইOpenCV অডিও প্লে করে না; ffmpeg বা pygame.mixer ব্যবহার করুন