দয়া করে FFmpeg এর জন্য ডকুমেন্টেশন পড়ুন এবং ffmpeg -h full
বিকল্পগুলির তালিকার জন্য চালনা করুন। এছাড়াও, আমি নিবন্ধিত এই নিবন্ধটি একবার দেখুন, যা এক্স 264 এবং x265 এর মতো এনকোডারগুলিতে রেট নিয়ন্ত্রণ মোডের মধ্যে পার্থক্য দেখায় ।
সাধারণত, এখানে বিকল্পগুলির অর্থ কী:
-b:v
(বা -vb
, একই) এনকোডারটি ব্যবহারের জন্য লক্ষ্য গড় বিট রেট নির্দিষ্ট করে:
-b
<int>
E..VA
। বিটরেট সেট করুন (বিট / গুলি) (0 থেকে INT_MAX পর্যন্ত)
-minrate
ব্যবহার করার জন্য ন্যূনতম সহনশীলতা নির্দিষ্ট করে:
-minrate
<int>
E..VA
। সর্বনিম্ন বিটরেট সহনশীলতা সেট করুন (বিট / গুলি)। সিবিআর এনকোড স্থাপনে সর্বাধিক কার্যকর। অন্যথায় এটি খুব কম ব্যবহার হয়। (INT_MIN থেকে INT_MAX পর্যন্ত)
-maxrate
সর্বাধিক সহনশীলতা নির্দিষ্ট করে। যাইহোক, ডকুমেন্টেশনটি ইঙ্গিত হিসাবে, এটি কেবলমাত্র এর সাথে ব্যবহার করে bufsize
:
-maxrate
<int>
E..VA
। সর্বাধিক বিটরেট সহনশীলতা সেট করুন (বিট / গুলি)। প্রয়োজন bufsize
সেট হওয়ার। (INT_MIN থেকে INT_MAX পর্যন্ত)
-bufsize
<int>
E..VA
। রেটকন্ট্রোল বাফার আকার সেট করুন (বিটগুলিতে) (INT_MIN থেকে INT_MAX এ)
এটি কেবলমাত্র পরিবর্তনশীল বিট রেট এনকোডিংয়ের জন্য অর্থবোধ করে, যেখানে একটি ধ্রুবক বিট রেট বা ধ্রুবক মানের মডেল ব্যবহার না করে এনকোডারটি ডিকোডারে একটি ভার্চুয়াল বাফারের সাথে সংক্রমণকে সিমুলেট করে। -minrate
/ -maxrate
/ -bufsize
বিকল্প বাফারের আকার নিয়ন্ত্রণ করে। আপনি সাধারণত স্ট্রিমিংয়ের জন্য এই মোডটি ব্যবহার করেন, যেহেতু কৌশলটি বিট রেটকে নির্দিষ্ট মান অতিক্রম করতে বাধা দেয় যা ডিকোডার বাফারকে ওভার-ফ্লাওয়ার বা প্রবাহের কারণ হতে পারে।
সংক্ষিপ্তসার হিসাবে, আপনার কাছে বিটরেট সীমাবদ্ধ করার জন্য বেশ কয়েকটি বিকল্প রয়েছে:
একটি সিবিআর প্রক্রিয়া সেট আপ করতে, আপনাকে এনকোডারটি কী প্রস্তাব দেয় তা পরীক্ষা করতে হবে। সাধারণত, আপনি একটি "নিখুঁত" ধ্রুবক বিটরেট অর্জন করতে পারবেন না, যেহেতু এনকোডার বিটগুলি অপচয় করবে না। সেট করা -b:v
, -minrate
এবং -maxrate
একই স্তরে এটি অর্জন করবে, উদাহরণস্বরূপ libx264 এর জন্য:
ffmpeg -i input.mp4 -c:v libx264 -x264-params "nal-hrd=cbr" -b:v 1M -minrate 1M -maxrate 1M -bufsize 2M output.ts
সতর্কতা: এর ফলে এনকোড করা শক্ত এমন ভিডিওর জন্য নিম্নমানের হতে পারে এবং এটি বিটগুলি নষ্ট করবে। যদি আপনার ধ্রুবক হারের আউটপুট অর্জন করতে না পারে তবে এই বিকল্পটি ব্যবহার করবেন না।
স্ট্রিমিংয়ের জন্য একটি সীমাবদ্ধ / পরিবর্তনশীল বিট রেট প্রক্রিয়া সেট আপ করুন। -b:v 3500K -maxrate 3500K -bufsize 1000K
উদাহরণস্বরূপ ব্যবহার করুন । আপনাকে প্রসঙ্গের সাথে স্পষ্টতই হার এবং বাফার মাপগুলি সামঞ্জস্য করতে হবে। বাফারের আকার যত বেশি, অনুমোদিত বিটরেটের প্রকরণের পরিমাণ তত বেশি।
একটি স্থির মানের লক্ষ্য ব্যবহার করুন এবং কেবল স্পাইকগুলি ধরতে বিটরেট সীমাবদ্ধ করুন। উদাহরণস্বরূপ, -c:v libx264 -crf 23 -maxrate 4M -bufsize 4M
23 এর টার্গেট সিআরএফ সহ ভেরিয়েবল বিটরেটে এনকোড ব্যবহার করুন , তবে আউটপুট সর্বাধিক 4 এমবিট / সেকেন্ডে সীমাবদ্ধ করুন।