সিআরএফ-ভিত্তিক এনকোডগুলির জন্য, নীচে স্নিপেটে নিম্নলিখিত যুক্তিগুলি এফএফপিপেতে পাস করুন:
-c:v h264_nvenc -rc:v vbr_hq -cq:v 19 -b:v 2500k -maxrate:v 5000k -profile:v high
অবশ্যই, আপনি লক্ষ্য বিট হার এবং একটি নির্দিষ্ট cq
মান জন্য সামঞ্জস্য করতে হবে । 19 হ'ল এটির দৃষ্টিভঙ্গি 0-এর সমান হিসাবে প্রস্তাবিত সেটিংস, তবুও ফাইল আকারে ভাল সংকোচনের বাণিজ্য সংরক্ষণ করে। সিআরএফ কী করে সে সম্পর্কে আরও জানতে এই লিখনটি দেখুন।
নোট করুন যে -cq
স্কেলটি লোগারিথমিক, এর অর্থ 0 0 মূলত ক্ষয়হীন এবং 51 এর চূড়ান্ত খারাপ।
বি-ফ্রেমগুলির মতো বিকল্পগুলি যোগ করে গুণমানের আরও উন্নতি করা যেতে পারে (এটি সর্বাধিক 3 এ সীমাবদ্ধ করুন এবং এটির জন্য H.264 প্রধান প্রোফাইল প্রয়োজন হয় Base বেসলাইন প্রোফাইলগুলি বি-ফ্রেমগুলিকে সমর্থন করে না this এটি করতে পাস -bf {uint}
করুন ভিডিও এনকোডার, এর -bf:v 4
ফলে 4 বি-ফ্রেম ব্যবহার করে এনকোডার হবে।
এখানে মূল অংশগুলি হ'ল -cq:v 19
এবং -rc:v vbr_hq
যুক্তি, যা 19 এর সিআরএফ মান মেনে চলার সময় আপনাকে প্রিসেট ভেরিয়েবল বিটরেট এবং সর্বাধিক অনুমোদিতযোগ্য বিটরেট ( -b:v
এবং -maxrate:v
) উভয় দিয়ে এনকোডার টিউন করতে দেয় ।
এবং এখন, এনভিইএনসি সম্পর্কে ছোট ছোট নোট এবং উচ্চ মানের এনকোডের জন্য এটি টিউন করছে:
অন্যান্য হার্ডওয়্যার-ভিত্তিক এনকোডারের মতো এনভিইএনসি-রও বেশ কয়েকটি সীমাবদ্ধতা রয়েছে এবং বিশেষত এইচভিসি-র সাথে, এখানে সীমাবদ্ধতাগুলি রয়েছে:
পাস্কালে:
এইচভিসি এনকোডের জন্য, নিম্নলিখিত সীমাবদ্ধতাগুলি প্রযোজ্য:
- 32-র উপরে সিটিইউ আকারগুলি সমর্থিত নয়।
- এইচইভিসিতে বি-ফ্রেমগুলিও সমর্থিত নয়।
- এনভিইএনসি এনকোডার দ্বারা সমর্থিত টেক্সচার ফর্ম্যাটগুলি এনকোডারটি যে রঙের সাথে কাজ করতে পারে তা সীমাবদ্ধ করে। আপাতত, আমাদের 4: 2: 0 (8-বিট) এবং 4: 4: 4 (10-বিটের জন্য) সমর্থন রয়েছে। 4: 2: 2 10-বিটের মতো বহিরাগত ফর্ম্যাটগুলি সমর্থিত নয়। এটি এমন কিছু ওয়ার্কফ্লোগুলিকে প্রভাবিত করবে যেখানে এই জাতীয় রঙের স্থান প্রয়োজন।
- দেখুন সামনের নিয়ন্ত্রণটিও 32 ফ্রেমের মধ্যে সীমাবদ্ধ। আপনি আরও বিশদের জন্য এই সম্পাদকীয়টি দেখতে চাইতে পারেন ।
টুরিংয়ের পাসকালের কাছে সমস্ত বর্ধিতাংশ রয়েছে, যার মধ্যে এইচইভিসির জন্য বি-ফ্রেম সমর্থন এবং রেফারেন্স হিসাবে বি-ফ্রেম ব্যবহার করার ক্ষমতা রয়েছে। এই সক্ষমতা সম্পর্কে উদাহরণের জন্য এই উত্তরটি দেখুন ।
এবং ম্যাক্সওয়েল জেনার 2 (GM200x সিরিজ জিপিইউ) তে:
এইচভিসি এনকোডিংয়ে নিম্নলিখিত বৈশিষ্ট্যগুলির অভাব রয়েছে:
ম্যাক্সওয়েলের জন্য এখানে প্রভাবটি হ'ল বিচ্ছিন্ন বিট্রেটের অধীনে HEVC এর সাথে মোশন ভারী দৃশ্যগুলি অনুপস্থিত লুকোহেড ফাংশন এবং অভিযোজিত স্যাম্পল অফসেট (SAO) লুপ ফিল্টারিং ক্ষমতাগুলির কারণে আর্টিফ্যাক্টিং (ব্লকনেস) হতে পারে। এই সক্ষমতাটিতে পাস্কেল কিছুটা উন্নত হয়েছে, তবে ভিডিও এনকোডারটি এসডিকে যে সংস্করণ দিয়ে নির্মিত হয়েছিল তার উপর নির্ভর করে সমস্ত বৈশিষ্ট্য উপলব্ধ নাও হতে পারে।
উদাহরণস্বরূপ, পাস্কলে এইচ .264 এনকোডের জন্য ভার্টেড প্রেডিকশন মোডের জন্য এনভিইএনসি এসডিকে 8.0x বা তার বেশি প্রয়োজন এবং এই এনকোড মোডটি বি-ফ্রেম সমর্থনও অক্ষম করবে। তেমনি, এনভিইএনসি-র সাথে এনভিডিয়া পারফরম্যান্স প্রিমিটিভস (এনপিপি) চালিত হার্ডওয়্যার-ভিত্তিক স্কেলারের সংমিশ্রণ স্কেলিং আর্টিফ্যাক্টিংয়ের ব্যয়ে ভিডিও স্কেলিং অ্যাপ্লিকেশনগুলির সাথে বিশেষত উত্সাহিত সামগ্রী সহ পারফরম্যান্স উন্নতিগুলি প্রবর্তন করতে পারে। এনপিপির স্কেলিং ফাংশনগুলি জিপিইউতে সিডিডিএ কোরগুলি বন্ধ করে দেওয়ার কারণে ভিডিও এনকোড পাইপলাইনটি একই প্রভাবিত করে এবং যেমন অতিরিক্ত লোড দ্বারা প্রবর্তিত পারফরম্যান্সের প্রভাবটি কেস-বাই কেস ভিত্তিতে বিশ্লেষণ করা উচিত পারফরম্যান্স-গুণমানটি নির্ধারণ করার জন্য বাণিজ্য বন্ধ গ্রহণযোগ্য।
এটি মনে রাখবেন: একটি হার্ডওয়্যার-ভিত্তিক এনকোডার সর্বদা একটি সমতুল্য সফ্টওয়্যার-ভিত্তিক প্রয়োগের তুলনায় কিছুটা কম কাস্টমাইজেশন সরবরাহ করবে এবং যেমন, আপনার মাইলেজ এবং গ্রহণযোগ্য আউটপুট মানের সর্বদা পৃথক হবে।
এবং আপনার রেফারেন্সের জন্য:
FFmpeg এর সাহায্যে আপনি সর্বদা কাস্টমাইজেশনের জন্য কোনও এনকোডার এর সেটিংস উল্লেখ করতে পারেন:
ffmpeg -h encoder {encoder-name}
সুতরাং, এনভিএনসি-ভিত্তিক এনকোডারগুলির জন্য, আপনি চালাতে পারেন:
ffmpeg -h encoder=hevc_nvenc
ffmpeg -h encoder=h264_nvenc
আপনি এনভিএনসি-ভিত্তিক সমস্ত এনকোডার এবং এনপিপি-ভিত্তিক স্কেলারগুলি (যদি এটি নির্মিত হয়) চালিয়েও দেখতে পারেন:
for i in encoders decoders filters; do
echo $i:; ffmpeg -hide_banner -${i} | egrep -i "npp|cuvid|nvenc|cuda"
done
আমার টেস্টবেডের নমুনা আউটপুট:
encoders:
V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_hevc NVIDIA NVENC hevc encoder (codec hevc)
V..... hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)
decoders:
V..... h263_cuvid Nvidia CUVID H263 decoder (codec h263)
V..... h264_cuvid Nvidia CUVID H264 decoder (codec h264)
V..... hevc_cuvid Nvidia CUVID HEVC decoder (codec hevc)
V..... mjpeg_cuvid Nvidia CUVID MJPEG decoder (codec mjpeg)
V..... mpeg1_cuvid Nvidia CUVID MPEG1VIDEO decoder (codec mpeg1video)
V..... mpeg2_cuvid Nvidia CUVID MPEG2VIDEO decoder (codec mpeg2video)
V..... mpeg4_cuvid Nvidia CUVID MPEG4 decoder (codec mpeg4)
V..... vc1_cuvid Nvidia CUVID VC1 decoder (codec vc1)
V..... vp8_cuvid Nvidia CUVID VP8 decoder (codec vp8)
V..... vp9_cuvid Nvidia CUVID VP9 decoder (codec vp9)
filters:
... hwupload_cuda V->V Upload a system memory frame to a CUDA device.
... scale_npp V->V NVIDIA Performance Primitives video scaling and format conversion
slow
করতে পারেনfast
। সিআরএফ কার্যকর করা হয়নিnvenc
।