একাধিক ব্রাউজার সমর্থন করার জন্য, আপনার .mov
ফাইলটিকে দুটি ভিন্ন পাত্রে রূপান্তর করতে আপনাকে FFmpeg ব্যবহার করতে হবে: একটি MP4 ধারক এবং একটি WebM ধারক৷ প্রকৃত অনুশীলনে, আপনি সম্ভবত একই সময়ে একটি কোডেক নির্দিষ্ট করবেন। আপাতত, আমরা FFmpeg কে এর ডিফল্ট ব্যবহার করতে দিচ্ছি।
যদি এই ধারণাগুলি আপনার কাছে নতুন হয়, তাহলে আরও যাওয়ার আগে আপনার মিডিয়া ফাইলের মূল বিষয়গুলি পড়া উচিত। অতিরিক্তভাবে, আপনার যদি FFmpeg ইনস্টল না থাকে তবে এটি ডকারের সাথে সেট আপ করার জন্য মিডিয়া অ্যাপ্লিকেশন বেসিক পড়ুন।
আমরা media
ডিরেক্টরির ভিতরে যোগ করা ওয়েবের জন্য প্রস্তুত মিডিয়া ফাইল থেকে প্রস্তাবিত ডকার ইনস্টল এবং glocken.mov ফাইলটি ব্যবহার করছি। আমরা এই বিভাগের সমস্ত কমান্ডের জন্য FFmpeg সংস্করণ 4.3.2 ব্যবহার করেছি।
পাত্রে
প্রথমত, আমাদের .mov
ফাইল থেকে .mp4
এবং .webm
ফাইল এক্সটেনশন সহ ফাইলের ভিতরে একটি অডিও এবং ভিডিও উভয় স্ট্রিম সহ আমাদের দুটি কন্টেইনার তৈরি করতে হবে। আপনি যদি তাদের মধ্যে পার্থক্য না জানেন তবে কন্টেইনার এবং স্ট্রীম সম্পর্কে আরও জানতে মিডিয়া ফাইলের মৌলিক বিষয়গুলি পর্যালোচনা করুন৷
MP4
/media # ffmpeg -i glocken.mov glocken.mp4
ওয়েবএম
/media # ffmpeg -i glocken.mov glocken.webm
WebM তৈরি করতে MP4 এর চেয়ে বেশি সময় নেয়। আপনি ফলাফল তাকান যখন এটি আশ্চর্যজনক নয়. যদিও MP4 মূল ফাইলের আকারের প্রায় 83%
কম্প্রেস করে, WebM মূল ফাইলের আকারের 78%
থেকে নিচে, কিন্তু অনেক ছোট হতে পারে। আপনার ফলাফল পরিবর্তিত হবে. এটা বলা গুরুত্বপূর্ণ যে FFmpeg 4.2.2
ডিফল্ট ভিডিও বিটরেট 200k
এ সেট করে এবং 4.3.2
এ এটি একটি ডিফল্ট বিটরেট সেট করে না। তাই ভিডিওটি আর আসলটির মাত্র 4%
নয়। আপনার মিডিয়া ফাইলগুলি যে ফোল্ডারে অবস্থিত সেখানে ls -a
bash কমান্ড ব্যবহার করে আপনি এটি নিজের জন্য দেখতে পারেন।
যেমন:
/media # ls -l
-rw-r--r-- 1 root root 12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root root 10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root root 9503301 Mar 7 18:30 glocken.webm
একটি ছোট ফাইল পেতে, আপনি পরিবর্তে এটি করবেন:
/media # ffmpeg -i glocken.mov -b:v 200k glocken.webm
...
frame= 300 fps=3.6 q=0.0 Lsize= 483kB time=00:00:10.01 bitrate= 395.0kbits/s speed=0.121x
video:359kB audio:117kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.356068%
/media # ls -l
-rw-r--r-- 1 root root 12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root root 10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root root 494497 Mar 7 18:45 glocken.webm
আপনার কাজ পরীক্ষা করুন
আপনার ফলাফল যাচাই করতে, FFmpeg এবং Shaka প্যাকেজার ব্যবহার করুন যেমনটি ইতিমধ্যে মিডিয়া অ্যাপ্লিকেশন বেসিকগুলিতে দেখানো হয়েছে:
/media # packager input=glocken.mp4 --dump_stream_info
/media # ffmpeg -i glocken.mp4
কোডেক
পরবর্তী, কোডেক. মিডিয়া ফাইল বেসিকগুলিতে যেমন বলা হয়েছে, একটি কোডেক একটি ধারক (ফাইলের প্রকার) হিসাবে একই জিনিস নয় । একই ধারক ধরনের দুটি ফাইল বিভিন্ন কোডেক ব্যবহার করে সংকুচিত ডেটা ধরে রাখতে পারে। উদাহরণ স্বরূপ WebM ফরম্যাট Vorbis বা Opus ব্যবহার করে অডিওকে এনকোড করার অনুমতি দেয়। কোডেক পরিবর্তন করতে আমরা FFmpeg ব্যবহার করি। উদাহরণস্বরূপ, এই কমান্ডটি একটি vorbis
অডিও কোডেক এবং একটি av1
ভিডিও কোডেক সহ একটি .mkv
ফাইল আউটপুট করে।
/media # ffmpeg -i glocken.mov -c:a vorbis -c:v av1 glocken.mkv
এই উদাহরণে, -c:a
পতাকা এবং -c:v
যথাক্রমে অডিও এবং ভিডিও কোডেক নির্দিষ্ট করার জন্য।
মিডিয়া রূপান্তর পৃষ্ঠা কোডেক রূপান্তর করতে প্রয়োজনীয় কমান্ড তালিকাভুক্ত করে। নীচের টেবিলগুলি WebM এবং MP4 ফাইলগুলির জন্য কোডেক রূপান্তরগুলি সম্পাদন করতে FFmpeg-এ ব্যবহৃত লাইব্রেরিগুলির সংক্ষিপ্ত বিবরণ দেয়৷ এগুলি যথাক্রমে DASH এবং HLS-এর জন্য প্রস্তাবিত ফর্ম্যাট৷
ভিডিও
কোডেক | এক্সটেনশন | লাইব্রেরি |
---|---|---|
av1 | ওয়েবএম, এমকেভি | libaom-av1 |
h264 | MP4 | libx264 |
vp9 | ওয়েবএম | libvpx-vp9 |
অডিও
কোডেক | এক্সটেনশন | লাইব্রেরি |
---|---|---|
aac | MP4 | aac |
রচনা | ওয়েবএম | লিবোপাস |
ভর্বিস | ওয়েবএম | libvorbis |
এরপরে, আমরা আপনাকে দেখাব কিভাবে আপনার নতুন তৈরি করা ফাইলের বিটরেট পরিবর্তন করতে হয়।