আপনি যদি সর্বোচ্চ মানের এবং ন্যূনতম ফাইলের আকার চান তবে আপনার একটি সংক্ষেপণ-দক্ষ কোডেক ব্যবহার করা উচিত। তবে আপনাকে প্রথমে চিন্তা করতে হবে আপনি কোনও (গাণিতিকভাবে) ক্ষতিহীন, চাক্ষুষরূপে ক্ষতিহীন, বা ক্ষতিকারক এনকোডটি করতে চান কিনা:
লসলেস এনকোড অবশ্যই উচ্চতর ফাইলের আকারের ফলস্বরূপ আসবে তবে তারা মূল তথ্য সংরক্ষণের সুবিধা দেয়। তারপরে আপনি কোনও মানের ক্ষতি ছাড়াই ভিডিও থেকে পৃথক ফ্রেমগুলি বের করতে পারেন can এখানে, HuffYUV বা FFV1 এর মতো কোডেক ব্যবহার করা যেতে পারে। এগুলি প্রায়শই সংরক্ষণাগার উদ্দেশ্যে ব্যবহার করা হয়, যেখানে মূল উপাদান সংরক্ষণ করা দরকার এবং প্রজন্মের ক্ষতি এড়ানো উচিত। libx264
(এইচ libx265
.264 ), (এইচইভিসি) এবং libvpx-vp9
লসলেস মোডেও ব্যবহার করা যেতে পারে:
ffmpeg -i <input> -c:v huffyuv output.avi
ffmpeg -i <input> -c:v ffv1 output.avi
ffmpeg -i <input> -c:v libx264 -crf 0 output.mp4
ffmpeg -i <input> -c:v libx265 -crf 0 output.mp4
ffmpeg -i <input> -c:v libvpx-vp9 -lossless 1 output.webm
ভিজ্যুয়াল লসলেস এনকোডগুলি কিছু ডেটা ফেলে দেয় তবে গুণাগুণটি এমনভাবে সংরক্ষণ করে যাতে মানুষ সম্ভবত আসল এবং এনকোডযুক্ত ভিডিওর মধ্যে কোনও পার্থক্য লক্ষ্য না করে। তথাকথিত "ইন্টারমিডিয়েট" কোডেক যেমন প্রোআর ( এখানে দেখুন ) প্রায়শই এই উদ্দেশ্যে ব্যবহৃত হয়। এছাড়াও আপনি চাক্ষুষরূপে কি করতে পারেন অবচয়হীন সঙ্গে এনকোড libx265
বা libx264
কম যথেষ্ট CRF মান (নির্দিষ্ট করে CRF এখানে ব্যাখ্যা x264 জন্য 10 থেকে 18 মধ্যে), যেমন।
ffmpeg -i <input> -c:v prores -profile:v 3 output.mov
ffmpeg -i <input> -c:v libx264 -crf 10 -preset ultraslow output.mp4
...
লসী কোডেক, প্রচুর আছে are আপনি যদি মান ত্যাগ করতে পারেন তবে আপনি ফাইলের আকার হ্রাস করতে পারেন। ভিপি 9 এবং এইচইভিসি এইচ 264 এর চেয়ে বেশি দক্ষ যে তাদের কতটা জায়গার প্রয়োজন তা বিবেচনা করে তবে তারা এনকোড করতে আরও সময় নিতে পারে। থিওরা এবং ভিপি 8 সম্পর্কে ভুলে যান। ভিপি 9, এইচইভিসি এবং এইচ .264 (কমপক্ষে ffmpeg এ উপলব্ধ এনকোডারগুলির সাথে) দিয়ে আপনি একটি সিআরএফ প্যারামিটার সেট করতে পারেন যা আপনাকে পছন্দসই মানের দেয়। আপনার উদ্দেশ্যে ক্ষতির পরিমাণ খুব বেশি তীব্র নয় তা নিশ্চিত করার জন্য আপনার আউটপুটটি চাক্ষুষভাবে দেখতে হবে। জন্য libx264
, 18 থেকে 23 এর মধ্যে সিআরএফের মানগুলি "ভাল" দেখায়।
ffmpeg -i <input> -c:v libx264 -crf 23 -preset ultraslow output.mp4
ffmpeg -i <input> -c:v libvpx-vp9 -crf 10 -b:v 0 output.webm
...
সাধারণত, আপনি যদি সামগ্রী সংরক্ষণাগার তৈরির লক্ষ্যে বসে থাকেন তবে আপনার কেবলমাত্র একটি লক্ষ্য বিটরেট নির্দিষ্ট করা উচিত নয়। পরিবর্তে, আপনি একটি ধ্রুবক মানের মোড ব্যবহার করতে চান , যেখানে এনকোডারটি যতটা বিট ব্যবহার করতে পারে ততক্ষণ ইমেজের গুণমান বজায় রাখতে (নির্দিষ্ট সীমার মধ্যে) প্রয়োজন। বিশেষত এইচ .২64 or বা এইচইভিসি এনকোডারগুলির সাথে libx264
এবং একটি একক-পাস এনকোডের জন্য libx265
ব্যবহার -b:v
করার পরামর্শ দেওয়া হয় না, কারণ এটি সময়ের সাথে সাথে বিশাল মানের বৈচিত্রের কারণ হতে পারে। (আমি এখানে বিভিন্ন রেট কন্ট্রোল মোডগুলিতে একটি নিবন্ধ লিখেছি ।) সংক্ষিপ্তসার হিসাবে, আপনি সংরক্ষণাগারটি রাখলে কেবল একটি ধ্রুবক সিআরএফ মান সন্ধান করুন।
এটি খুব গুরুত্বপূর্ণ যে আপনি ভিডিওটিকে পুনরায় আকার না দিন, যেহেতু এটি অস্পষ্টতার পরিচয় দেয় (যখন আপসক্লিং করা হয়), বা ডেটা ফেলে দেয় (যখন ডাউনস্কলিং হয়)। -s:v
আপনার চিত্রগুলি ভিডিওর চেয়ে খুব বড় না হলে কেবল বিকল্পটি ছেড়ে দিন ।
শেষ পর্যন্ত, দৃষ্টিহীন ক্ষতিহীন বা ক্ষতিকারক এনকোডগুলি সম্পাদন করার সময়, আপনি সংক্ষেপণের দক্ষতার বিরুদ্ধে গতি ছাড়িয়ে বাণিজ্য করতে পারেন। অন্য কথায়, আপনি যদি আরও অপেক্ষা করেন তবে আপনি ফাইলের আকার আরও ছোট করতে পারেন। এখানে preset
বিকল্পগুলি খেলতে আসে: আপনি যদি প্রিসেটটি পছন্দ করেন ultraslow
তবে এনকোডিং প্রক্রিয়াটি দীর্ঘ সময় নিতে চলেছে, তবে ফলস্বরূপ ফাইল - প্রদত্ত সিআরএফ ধরে নেওয়া - ছোট হবে, যদিও এটি একই মানের রয়েছে। ভিপি 9 এর গতি নিয়ন্ত্রণ করতে বিভিন্ন বিকল্প রয়েছে, এখানে দেখুন ।
আরও একটি জিনিস: এর সাহায্যে libx264
আপনি -tune stillimage
চিত্রগুলির জন্য এনকোডকে অনুকূল করতে বিকল্পটি ব্যবহার করতে পারেন । এছাড়াও, প্রয়োজনীয় সর্বনিম্ন ফ্রেম হার চয়ন করা অবশ্যই ফাইলের আকার বাঁচাতে সহায়তা করবে।
কিছু ডকুমেন্টেশন: