ঠিক আছে। আমরা কয়েক সপ্তাহ আগে শিখেছিলাম VirtualDub ফিল্টার ব্যবহার করে ভিডিও রিসাইজ করতে। শুধু সৌন্দর্যपूर्ण প্রয়োজন এবং হয়তো আপনার আউটপুট মিডিয়া ছোট করার ইচ্ছা ছাড়া, ভিডিও রিসাইজ করা সত্যিকারের মনে হয় নাও চাইতে পারে। কিন্তু কী হবে যদি আপনার একটি খুব স্পেশাল প্রয়োজন হয়, যেমন বলুন বুলেট-টাইম স্লো-মোশন ভিডিও তৈরি করা, এবং সফ্টওয়্যারটি যা শুধু সেটি করে সেটি নির্দিষ্ট ফরম্যাট এবং সাইজ চায়?
চিন্তা নয়, আমরা গত টিউটোরিয়ালে সেই বাধা দূর করেছি। এবং আজ, আমি আপনাকে দেখাব কীভাবে স্লো মোশন ভিডিও তৈরি করতে হয়। VirtualDub আছে। এবং আমরা আরেকটি হ্যাণ্ডসম প্রোগ্রাম AviSynth-কে পরিচিত হব। এই প্রোগ্রামটি ভিডিও পোস্ট-প্রোডাকশনের জন্য একটি শক্তিশালী ইউটিলিটি। এর কোনো ফ্রন্টএন্ড নেই, যার মানে আপনাকে কমান্ড-লাইন এবং স্ক্রিপ্টের জন্য সেটল করতে হবে। Oooh, শুনতে ভয়ানক, কিন্তু চিন্তা করবেন না, আমি এটিকে সহজ করব।
AviSynth, ইনস্টলেশন, প্রস্তুতি, কনফিগারেশন
VirtualDub ব্যবহার করার আগে, আমাদের AviSynth কনফিগার করতে হবে। ডাউনলোড এবং ইনস্টল, למדি সিম্পল। কিন্তু আমাদের একটি এক্সট্রা প্লাগইন দরকার যার নাম mvtools যা বেসিক প্যাকেজে উপলব্ধ নেই। একবার এটি হলে, আপনি AviSynth ব্যবহার করার জন্য রেডি।
AviSynth ব্যবহার করা
কোনো ফ্রন্টএন্ড (GUI) নেই, জিনিসগুলো করার কোনো ফ্যান্সি বা সহজ উপায় নেই। এখনও, আপনাকে কমান্ড লাইন থেকে ডরতে হবে না। একটি টেক্সট এডিটর খুলুন এবং কমান্ড লিখতে শুরু করুন—অথবা ওয়েবে রেডি স্ক্রিপ্ট খুঁজে বের করুন এবং সেগুলি কপি করুন। আমি কোনো এক্সপার্ট নই, কিন্তু আমি কোড পড়তে পারি এবং গুগল দিয়ে আমার পথ খুঁজে বের করতে পারি।
আমি Nerds Central-এ স্লো-মোশন স্ক্রিপ্টটি পেলাম এবং আমার নিজের ব্যবহারের জন্য এটি অ্যাডাপ্ট করলাম। লেখক বিস্তারিত ব্যাখ্যা করেছেন স্ক্রিপ্টটি কী করে, তাই কমান্ডগুলো একে একে ব্যাখ্যা করার কোনো পয়েন্ট নেই। শুধু মনে রাখবেন, AviSynth একটি ডি-ফ্যাক্টো প্রোগ্রামিং ল্যাঙ্গুয়েজ তার নিজস্ব সিন্ট্যাক্সের সাথে। আপনি একটা জানলে, আপনি সকল জানেন।
এখানে আমার কাজ, মূলত উপরের উদাহরণের সাথে অভিন্ন:
LoadPlugin("Path to mvtools.dll")
source=AVISource("Path to source.avi",false)
oSource=source
source=ConvertToYV12(source)
source=AssumeFPS(source,25)
backward_vec=source.MVAnalyse(isb=true,truemotion=true,pel=2,idx=1)
forward_vec=source.MVAnalyse(isb=false,truemotion=true,pel=2,idx=1)
cropped=source.crop(4,4,-4,-4) # by half of block size 8
backward_vec2=cropped.MVAnalyse(isb=true,truemotion=true,pel=2,idx=2)
forward_vec2=cropped.MVAnalyse(isb=false,truemotion=true,pel=2,idx=2)
fSource=source.MVFlowFps2(backward_vec,forward_vec,
backward_vec2,forward_vec2,num=250,idx=1,idx2=2)
fSource=AssumeFPS(fSource,25)
return fSource
তবে, কিছু পয়েন্টার, যা আপনার মনোযোগ দাবি করে:
আপনাকে আপনার mvtools.dll এবং সোর্স ফাইলটি সঠিকভাবে পয়েন্ট করতে হবে। দ্বিতীয়, সোর্সকে YV12 ফরম্যাটে কনভার্ট করার ইনস্ট্রাকশন আছে। আপনি এই লাইনটি এডিট করতে পারেন যদি আপনার ফাইল ইতিমধ্যে সঠিক ফরম্যাটে থাকে—অথবা VirtualDub ব্যবহার করুন।
source=ConvertToYV12(source)
আপনি কীভাবে জানবেন এই YV12 জিনিসটি কী? অথবা আপনাকে কেন এটা দরকার? উত্তর হল, আপনাকে সত্যিকারের দরকার নেই, কিন্তু ভিডিও প্রসেসিং-এর জন্য এটি ভালো। গিকি টার্মসে যা আপনাকে ইমপ্রেস করা উচিত, YV12 একটি প্লানার ফরম্যাট, যার মানে প্রতিটি ইমেজের জন্য, সকল পিক্সেলের লুমা ডেটা ক্রমাগত সংরক্ষিত থাকে, তারপর ক্রোমা ডেটা, যা ইমেজ প্রসেসিং টেকনিকের জন্য আদর্শ। এখন, এই শেষ বাক্যটি ভুলে যান।
যাহোক, আরও তথ্যের জন্য যেকোনো ফরম্যাট YV12 সাপোর্ট করে কিনা, AviSynth FAQ আপনার বন্ধু। সাধারণTERMS-এ, MPEG-4 with XviD ঠিকমতো কাজ করা উচিত।
আপনি যদি একটু ভুল করেন কোনো কারণে, তবে আপনি এই এররটি পাবেন যখন আপনি স্ক্রিপ্টটি VirtualDub-এ লোড করার চেষ্টা করবেন—যেমন আপনি সেটি কীভাবে করবেন সেটি আমরা শীঘ্রই দেখব:
ক্রপিং
এটি একটি ট্রিকি এক। আপনার কাছে যদি একটি ভিডিও ফাইল থাকে যার প্রস্থ চার দিয়ে বিভাজ্য নয়, তবে VirtualDub থেকে স্ক্রিপ্ট লোড করার চেষ্টা করার সময় আপনি একটি এরর পাবেন, এই Arithmetic জিনিসটি নিয়ে কামপ্লেইন করবে:
আপনি আপনার স্ক্রিপ্টে cropped প্যারামিটার লাইনটি কমেন্ট আউট করতে সিদ্ধান্ত নিতে পারেন, যা কাজ করতে পারে, কিন্তু নিশ্চিত করুন আপনার স্ক্রিপ্টের লজিক পরিবর্তন করা হয়েছে, যাতে আপনি কোনো অনডিফাইনড ভেরিয়েবলে খুলে না পড়েন।
কিন্তু আরও ভালো, VirtualDub-এ রিসাইজ ফিল্টার ব্যবহার করে আপনার ভিডিও রিসাইজ করুন! যা ঠিকই আমরা গতবার শিখেছিলাম! এখন আপনি জানেন কেন আমরা সেটি করেছিলাম।
MVFlowFPS2 প্যারামিটারটি নির্ধারণ করবে আপনার স্লোডাউন ভিডিওতে কত ফ্রেম থাকবে, তবে, আসল স্লোডাউন আউটপুট ফ্রেমরেটের ওপর নির্ভর করে। নিশ্চিত, চূড়ান্তে, আউটপুট AssumeFPS-এ মনোযোগ দিন, কারণ এটি চূড়ান্তভাবে নির্ধারণ করবে আপনার ভিডিও কত দ্রুত বা ধীর হবে, এর দৈর্ঘ্য এবং আকারসহ। আপনি এই প্যারামিটার যত চাইতেই খেলতে পারেন, দেখতে কীভাবে সেরা ফলাফল দেয়।
fSource=AssumeFPS(fSource,25)
VirtualDub-এ স্ক্রিপ্ট লোড করুন
নিশ্চিত, উপরের কোনো এররই, eh, দেখাবে না যতক্ষণ না আপনি আপনার টেক্সট ফাইলটি .avs এক্সটেনশন সহ একটি স্ক্রিপ্ট হিসেবে সেভ করুন এবং VirtualDub-এ খুলুন, যেভাবে আপনি যেকোনো অন্য ফাইল খোলেন। আপনি যদি কোনো এরর না করেন, তবে ভিডিও লোড হবে, একটি নির্দিষ্ট ফ্যাক্টর অফ ফ্রেম ইনসার্টের সাথে। উপরের উদাহরণ আপনাকে x10 ফ্যাক্টর দেয়, কিন্তু আপনি যেকোনো সংখ্যক FPS দিয়ে কাজ করতে পারেন এটি পরিবর্তন করতে, যেন x2, x5, ইত্যাদি।
চূড়ান্ত ফলাফল
আমার AviSynth-এ কাজের চূড়ান্ত কাটগুলো ইউটিউবে উপলব্ধ। লিংক এক এবং দুই। তাই হপ বাই করুন এবং আমার কাজের কোয়ালিটি চেক করুন। আপনি ইন্টিরিয়র ডিজাইন গ্যালারিতে আগ্রহী হবেন যেটি এই ভিডিওগুলো ফিচার করে।
আপনি লক্ষ্য করবেন ভিডিওর প্রান্তে কিছু ব্লারিং আছে, কারণ ফ্রেমের মাঝপথে ইন্টারপোলেশন। মূল রেকর্ডিং ছিল সিংগেল ক্যামেরা ফ্রেমের একটি সংগ্রহ, ২৫ ফ্রেম পার সেকেন্ডে রিস্যাম্পল করা, তারপর দশ গুণ স্লো ডাউন করা। তাই আপনার কাছে সফ্টওয়্যারটি ফ্রেমের মাঝপথে প্রায় ২৫০ বার গ্যাপ পূরণ করছে, যা একটি সিম্পল ডিল নয়। আপনি মোশন ভিডিওর সাথে অনেক ভালো ফলাফল পাবেন, যেগুলি ইতিমধ্যে কিছু ব্লারিং ফিচার করে, প্লাস এই কেসে সেটি আশা করা হয়।
কিন্তু আমি অনুমান করি এটি একটি ডিসেন্ট কাজ। এবং আপনি জানেন কীভাবে করতে হয়, এখন।
উপসংহার
এসে গেল, আরেকটি মাল্টিমিডিয়া টিউটোরিয়াল স্লাইস এন্ড ডাইস করা হলো। এখন পর্যন্ত, আপনি একটি ভিডিও সু-শেফ। সিরিয়াস নোটে, VirtualDub একটি খুব শক্তিশালী এবং অত্যন্ত এক্সটেনসিবল টুল মিডিয়া ফাইল নিয়ে কাজ করার জন্য, সকল ধরনের ফিল্টার সহ। AviSynth-এ কম্বাইন করে, আপনি আপনার হোম-মেড ভিডিওতে ম্যাট্রিক্স, অথবা আপনি যদি জন উ পছন্দ করেন, ইফেক্টস দিতে পারেন, আপনার প্রতিবেশী এবং কাজের সহকর্মীদের বীট করে।
AviSynth সবচেয়ে সিম্পল ইউটিলিটি নয়, কারণ এর GUI নেই, কিন্তু এটি ভালো কাজ করে। শুধু বেসিক লেয়ারড অ্যাপ্রোচ মনে রাখুন। VirtualDub ব্যবহার করুন ফার্স্ট-লেভেল চেঞ্জ এবং ফিক্স এবং অতিরিক্ত প্রসেসিং এবং ট্রান্সকোডিং-এ। পরবর্তীতে, উপলব্ধ ফিল্টার ব্যবহার করুন এক্সট্রা ইফেক্ট অর্জন করতে। চূড়ান্তে, থার্ড-পার্টি মডিউল ব্যবহার করুন ফাইনাল টাচের জন্য। ঠিক আছে, সেটিই সব। মজা করুন।
চিয়ার্স।