FFmpeg

 
 

ওপেন সোর্স মাল্টিমিডিয়া প্রক্রিয়াকরণ ফ্রেমওয়ার্ক

FFmpeg API মাধ্যমে অডিও ও ভিডিও ফাইল এনকোড, ডিকোড, ট্রান্সকোড, স্ট্রিম এবং রূপান্তর করুন।

FFmpeg কী?

FFmpeg হল একটি শীর্ষস্থানীয় ওপেন সোর্স মাল্টিমিডিয়া ফ্রেমওয়ার্ক যা ডেভেলপারদের অডিও ও ভিডিও কন্টেন্ট রেকর্ড, কনভার্ট এবং স্ট্রিম করতে সক্ষম করে। এতে একটি বিস্তৃত লাইব্রেরি সেট অন্তর্ভুক্ত—যেমন libavcodec, libavformat, libavutil, libavfilter, libswscale, এবং libswresample—যা বিভিন্ন মাল্টিমিডিয়া কাজ পরিচালনার জন্য শক্তিশালী টুল সরবরাহ করে। শত শত কোডেক ও ফরম্যাটের সমর্থন সহ, FFmpeg অগণিত অ্যাপ্লিকেশনকে শক্তি প্রদান করে, ভিডিও এডিটিং সফটওয়্যার থেকে স্ট্রিমিং সার্ভার এবং মিডিয়া প্লেয়ার পর্যন্ত।

FFmpeg তার নমনীয়তা, পারফরম্যান্স এবং সক্রিয় কমিউনিটি সমর্থনের কারণে বিভিন্ন শিল্পে ব্যাপকভাবে গ্রহণ করা হয়েছে। এটি সহজ ফরম্যাট রূপান্তর থেকে জটিল ভিডিও ফিল্টারিং এবং রিয়েল-টাইম স্ট্রিমিং পর্যন্ত সবকিছু পরিচালনা করে। আপনি মিডিয়া সার্ভার, ডেস্কটপ প্লেয়ার, অথবা ক্লাউড-ভিত্তিক ট্রান্সকোডিং পাইপলাইন তৈরি করুন না কেন, FFmpeg নির্ভরযোগ্য, উচ্চমানের প্রক্রিয়াকরণ ক্ষমতা প্রদান করে। ffmpeg, ffplay এবং ffprobe এর মতো কমান্ড-লাইন টুলগুলি স্ক্রিপ্ট এবং অটোমেশন ওয়ার্কফ্লোতে সহজে সংযুক্ত করা যায়, আর এর C API এবং বাইন্ডিংস (যেমন, পাইথনের জন্য) গভীর প্রোগ্রাম্যাটিক নিয়ন্ত্রণের সুযোগ দেয়।

Previous Next

FFmpeg দিয়ে শুরু করা

FFmpeg ব্যবহার শুরু করতে, আপনার সিস্টেমের প্যাকেজ ম্যানেজার (যেমন, Ubuntu-তে `apt install ffmpeg`, macOS-এ `brew install ffmpeg`) এর মাধ্যমে এটি ইনস্টল করুন অথবা অফিসিয়াল সাইট থেকে প্রি-বিল্ট বাইনারি ডাউনলোড করুন। প্রোগ্রাম্যাটিক ব্যবহারের জন্য, `pip install ffmpeg-python` কমান্ড দিয়ে পাইথন র‍্যাপার ইনস্টল করুন অথবা অফিসিয়াল C লাইব্রেরি হেডার ব্যবহার করুন। FFmpeg গিটহাবেও উপলব্ধ আছে [FFmpeg গিটহাব](https://github.com/FFmpeg/FFmpeg) এ, যেখানে আপনি কাস্টম কনফিগারেশনের জন্য সোর্স থেকে বিল্ড করতে পারেন। এর হালকা পদচিহ্ন এবং ক্রস-প্ল্যাটফর্ম সমর্থন এটিকে ডেস্কটপ, সার্ভার এবং এমবেডেড ডিপ্লয়মেন্টের জন্য আদর্শ করে তোলে।

প্যাকেজ ম্যানেজার ব্যবহার করে FFmpeg ইনস্টল করুন

# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg

# macOS (Homebrew)
brew install ffmpeg

# Python wrapper
pip install ffmpeg-python

মিডিয়া ফরম্যাটের মধ্যে রূপান্তর করুন

FFmpeg শত শত ফরম্যাট এবং কোডেকের মধ্যে মিডিয়া ফাইল রূপান্তরে উৎকৃষ্ট। আপনি MP4 থেকে WebM-এ ভিডিও ট্রান্সকোড করতে পারেন, ভিডিও ফাইল থেকে অডিও বের করতে পারেন, অথবা রি-এনকোডিং ছাড়া (স্ট্রিম কপি) কন্টেইনার ফরম্যাট পরিবর্তন করতে পারেন। এর বুদ্ধিমান ডিফল্ট সেটিংস উচ্চ মান নিশ্চিত করে, আর উন্নত অপশনগুলো আপনাকে বিটরেট, রেজোলিউশন, ফ্রেম রেট এবং কোডেক প্যারামিটারগুলো সূক্ষ্মভাবে সামঞ্জস্য করতে দেয়। আপনি ওয়েব স্ট্রিমিং, আর্কাইভিং, অথবা নির্দিষ্ট ডিভাইসে প্লেব্যাকের জন্য কন্টেন্ট প্রস্তুত করুন না কেন, FFmpeg আউটপুট মান এবং সামঞ্জস্যতার উপর সুনির্দিষ্ট নিয়ন্ত্রণ প্রদান করে। কমান্ড-লাইন ইন্টারফেস রিসাইজিং, ক্রপিং এবং রূপান্তরের সময় ইফেক্ট প্রয়োগের জন্য জটিল ফিল্টার চেইন সমর্থন করে।

FFmpeg দিয়ে MP4 কে WebM-এ কীভাবে রূপান্তর করবেন?

ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus output.webm

রিয়েল-টাইম স্ট্রিমিং ও লাইভ ব্রডকাস্টিং

FFmpeg RTMP, HLS, এবং SRT এর মতো প্রোটোকল ব্যবহার করে লাইভ মিডিয়া ইনজেস্ট, ট্রান্সকোড এবং স্ট্রিমিং সমর্থন করে। এটি ওয়েবক্যাম, মাইক্রোফোন বা নেটওয়ার্ক সোর্স থেকে ক্যাপচার করে এবং YouTube, Twitch অথবা কাস্টম RTMP সার্ভারের মতো প্ল্যাটফর্মে স্ট্রিম পাঠাতে পারে। কম লেটেন্সি অপশন এবং অ্যাডাপটিভ বিটরেট স্ট্রিমিংয়ের মাধ্যমে, FFmpeg ইভেন্ট, গেমিং এবং নজরদারির জন্য লাইভ ব্রডকাস্টিং পাইপলাইনকে শক্তিশালী করে। একাধিক ইনপুট হ্যান্ডল করা, গ্রাফিক্স ওভারলে করা এবং রিয়েল-টাইম ফিল্টার প্রয়োগ করার ক্ষমতা এটিকে প্রফেশনাল-গ্রেড স্ট্রিমিং সেটআপের জন্য আদর্শ করে তোলে। আপনি এছাড়াও DASH/HLS এর জন্য আউটপুট সেগমেন্ট করে মোবাইল ও ওয়েব ক্লায়েন্টে অ্যাডাপটিভ প্লেব্যাক পেতে পারেন।

কিভাবে একটি ভিডিও ফাইলকে ইউটিউব লাইভে স্ট্রিম করবেন?

ffmpeg -re -i input.mp4 -c:v libx264 -preset veryfast -maxrate 3000k -bufsize 6000k -g 50 -c:a aac -b:a 160k -f flv "rtmp://a.rtmp.youtube.com/live2/your_stream_key"

ভিডিও ফিল্টারিং ও পোস্ট-প্রসেসিং

FFmpeg-এর libavfilter ফ্রেমওয়ার্কটি শক্তিশালী রিয়েল-টাইম ভিডিও ফিল্টারিংকে সক্ষম করে, যা ফিল্টারগুলোর একটি দিকনির্দেশিত অ্যাসাইক্লিক গ্রাফের মাধ্যমে করা হয়। আপনি ক্রপ, স্কেল, রোটেট, ডি-ইন্টারলেস, ডিনয়েজ, ওয়াটারমার্ক ওভারলে, টেক্সট যোগ, রঙ সামঞ্জস্য এবং স্লো মোশন বা টাইম-ল্যাপ্সের মতো জটিল ইফেক্ট প্রয়োগ করতে পারেন—সম্পূর্ণ স্ট্রিম পুনরায় এনকোড না করেই। ফিল্টারগুলোকে একাধিক স্তরের প্রক্রিয়াকরণের জন্য চেইন করা যায়, এবং হার্ডওয়্যার ত্বরান্বিত (যেমন, NVENC, VAAPI, VideoToolbox) আধুনিক GPU-তে পারফরম্যান্স নিশ্চিত করে। এটি FFmpeg-কে ভিডিও এডিটর, কন্টেন্ট ক্রিয়েটর এবং মিডিয়া প্রসেসিং পাইপলাইন তৈরি করা ডেভেলপারদের জন্য অপরিহার্য করে তোলে, যাদের ভিজ্যুয়াল উন্নতি বা ফরম্যাট নরমালাইজেশন প্রয়োজন।

কিভাবে একটি ভিডিওকে ক্রপ, স্কেল এবং ওয়াটারমার্ক যোগ করবেন?

ffmpeg -i input.mp4 -i watermark.png -filter_complex "[0:v]crop=1280:720:0:0[scaled];[scaled][1:v]overlay=10:10" -c:a copy output.mp4

মেটাডেটা ও সাবটাইটেল বের করা ও পরিবর্তন করা

FFmpeg মিডিয়া ফাইলগুলিতে এমবেড করা মেটাডেটা (ট্যাগ) এবং সাবটাইটেলের উপর পূর্ণ নিয়ন্ত্রণ প্রদান করে। আপনি সহজ কমান্ড ব্যবহার করে মেটাডেটা (যেমন শিরোনাম, শিল্পী, অ্যালবাম, GPS ডেটা) বের করতে, সম্পাদনা করতে বা মুছে ফেলতে পারেন, অথবা SRT, ASS এবং VTT এর মতো ফরম্যাটের মধ্যে সাবটাইটেল রূপান্তর করতে পারেন। এটি ভিডিওতে সাবটাইটেল বর্ণনা সংযোজন বা আলাদা ট্র্যাক হিসেবে এমবেড করার সমর্থন করে। অ্যাক্সেসিবিলিটি এবং লোকালাইজেশন ওয়ার্কফ্লোর জন্য, FFmpeg সাবটাইটেল ফাইলের ব্যাচ প্রক্রিয়াকরণ, সময় সমন্বয় এবং ভাষা ট্র্যাক ব্যবস্থাপনা সম্ভব করে। এটি সাবটাইটেল লোকালাইজেশন, মিডিয়া সম্পদ ব্যবস্থাপনা এবং এমবেডেড মেটাডেটা প্রয়োজনীয় সম্প্রচার মানদণ্ডের সাথে সামঞ্জস্যের জন্য আদর্শ।

কিভাবে একটি ভিডিও ফাইল থেকে সাবটাইটেল বের করবেন?

ffmpeg -i input.mkv -map 0:s:0 -c:s srt output.srt
 বাংলা