যখন আমরা একটি ভিডিও সংরক্ষণ করতে চাই, তবে সংরক্ষণের লোকেশন নির্দিষ্ট করতে হয়। তারপর FourCC নির্দিষ্ট করতে হয়, FourCC বলতে 'Four Character Code'-কে বোঝায়। এটি ৪-বাইট ক্যারেক্টারের একটি সিকোয়েন্স যা ডেটা ফরম্যাট শনাক্ত করে। ভিডিও সংরক্ষণের জন্য FPS ঘোষণা করতে হয় এবং ফ্রেম আকারও জরুরি। নিচের প্রোগ্রামটি ডিফল্ট ক্যামেরা থেকে রিয়েল-টাইম ভিডিও স্ট্রিম নিয়ে C ড্রাইভে ভিডিও সংরক্ষণ করে।
OpenCV-এ C++ ব্যবহার করে আপনার কম্পিউটারে ভিডিও সংরক্ষণ করার প্রোগ্রাম
#include<opencv2/opencv.hpp> // VideoCapture ক্লাস এবং VideoWriter ব্যবহার করার জন্য OpenCV হেডার
#include<iostream>
using namespace std;
using namespace cv;
int main() {
Mat myImage; // ফ্রেম সংরক্ষণের জন্য ম্যাট্রিক্স
VideoCapture cap(0); // ডিফল্ট ক্যামেরা থেকে ভিডিও ক্যাপচারের VideoCapture ক্লাস অবজেক্ট
namedWindow("Video Player"); // ভিডিও দেখানোর উইন্ডো
if (!cap.isOpened()) { // ভিডিও স্ট্রিম না পাওয়া গেলে এরর মেসেজ
cout << "Failed to access the camera" << endl;
system("pause");
return -1;
}
int frame_width = cap.get(CAP_PROP_FRAME_WIDTH); // ফ্রেম প্রস্থ পাওয়া
int frame_height = cap.get(CAP_PROP_FRAME_HEIGHT); // ফ্রেম উচ্চতা পাওয়া
VideoWriter video("video1.mp4", 10, 17, Size(frame_width, frame_height)); // VideoWriter ক্লাস অবজেক্ট
while (true) { // ভিডিও দেখানোর জন্য চিরকাল লুপ
cap >> myImage;
if (myImage.empty()) { // ভিডিও ফ্রেম না পাওয়া গেলে লুপ ব্রেক
break;
}
video.write(myImage); // ভিডিও লিখা
imshow("Video Player", myImage); // ভিডিও দেখানো
char c = (char)waitKey(25);
if (c == 27) {
break;
}
}
cap.release(); // বাফার মেমোরি রিলিজ
video.release();
return 0;
}
এই প্রোগ্রামটি নির্ধারিত ডিরেক্টরিতে নির্দিষ্ট নাম এবং ফরম্যাটে ভিডিও সংরক্ষণ করবে।