موبائل ایپس میں ڈی کوڈنگ: یہ کیا ہے، بنیادی تصورات اور کام کا اصول

مصنف: IT Sectr اشاعت: 2026-05-25 مطالعے کا وقت: 10 منٹ

ڈی کوڈنگ کمپریسڈ میڈیا سٹریم کو ایک غیر کمپریسڈ فارمیٹ میں تبدیل کرنے کا عمل ہے جو اسکرین اور اسپیکرز پر آؤٹ پٹ کے لیے موزوں ہوتا ہے۔ موبائل آلات میں، ڈی کوڈنگ یا تو سافٹ ویئر کے ذریعے CPU پر یا ہارڈویئر کے ذریعے خصوصی GPU اور DSP بلاکس پر کی جاتی ہے۔ MDN Web Docs (2026) کے مطابق، جدید کوڈیک سٹریم کو 100–500 گنا کمپریس کرتے ہیں، اور ڈی کوڈنگ صحیح کمپریشن پروفائل کے انتخاب پر بغیر کسی نقصان کے اصل معیار کو بحال کرتا ہے۔

اہم نکات

  • ڈی کوڈنگ — آلات پر آؤٹ پٹ کے لیے کمپریسڈ میڈیا کو غیر کمپریسڈ PCM فارمیٹ میں تبدیل کرنا
  • کوڈیک H.264، H.265، VP9 اور AV1 مختلف کمپریشن الگورتھم اور کوالٹی پروفائل استعمال کرتے ہیں
  • ہارڈویئر ڈی کوڈنگ GPU/DSP پر کی جاتی ہے اور سافٹ ویئر سے 3–5 گنا کم توانائی استعمال کرتی ہے
  • سافٹ ویئر ڈی کوڈنگ FFmpeg کے ذریعے CPU لوڈ کی قیمت پر کسی بھی فارمیٹ کے ساتھ مطابقت کو یقینی بناتی ہے
  • ڈی کوڈر کا انتخاب پلے بیک وقت، ڈیوائس ہیٹنگ اور بیٹری لائف کو متاثر کرتا ہے

ڈی کوڈنگ کیا ہے؟

ڈی کوڈنگ کمپریسڈ ڈیجیٹل ڈیٹا کو واپس اس کے اصلی غیر کمپریسڈ فارمیٹ میں تبدیل کرنے کا عمل ہے۔ میڈیا کے سیاق و سباق میں، ڈی کوڈنگ ایک انکوڈر کے ذریعے بنائے گئے کمپریسڈ بٹ سٹریم سے ویڈیو فریموں کو بحال کرتا ہے۔ ڈی کوڈنگ کے بغیر، صارف ویڈیو نہیں دیکھ سکتے یا آڈیو نہیں سن سکتے، کیونکہ تمام جدید میڈیا فارمیٹ بینڈوتھ اور ڈسک کی جگہ بچانے کے لیے کمپریشن استعمال کرتے ہیں۔

5 Mbps بٹ ریٹ پر H.264 فارمیٹ میں ایک عام ویڈیو سٹریم اسی ریزولوشن کے غیر کمپریسڈ RGB سٹریم سے 100 گنا کم جگہ لیتا ہے۔ ڈی کوڈنگ الگورتھم کو انکوڈنگ کے نسبت الٹی ترتیب میں کوڈیک تصریح کی پیروی کرتے ہوئے ہر فریم کو اس کے اصل ریزولوشن اور رنگ کی جگہ پر بحال کرنا ہوتا ہے۔ ایسا کرنے کے لیے، ڈی کوڈر انٹرا فریم (I-frame) اور انٹر فریم (P-frame، B-frame) ڈیٹا پر کارروائی کرتا ہے۔

موبائل آلات پر، ڈی کوڈنگ یا تو CPU پر یا مخصوص ہارڈویئر بلاکس پر ہو سکتی ہے۔ Apple (A سیریز)، Qualcomm (Snapdragon) اور MediaTek (Dimensity) کے جدید SoC میں تمام مقبول فارمیٹس کے لیے بلٹ ان ڈی کوڈر ہوتے ہیں۔ ویڈیو پروسیسر الٹ مجرد کوزائن ٹرانسفارم اور موشن کمپنسیشن کا بھاری کام سنبھالتا ہے، CPU کو دیگر کاموں کے لیے آزاد کرتا ہے۔

ڈی کوڈنگ کیسے کام کرتی ہے؟

ڈی کوڈنگ کے عمل میں کئی متواتر مراحل ہوتے ہیں جو انکوڈنگ کے مراحل کو الٹ دیتے ہیں۔ پہلے، بٹ سٹریم سے ہیڈر اور کمپریشن پیرامیٹرز — پروفائل، سطح، ریزولوشن، رنگ کی جگہ — نکالے جاتے ہیں۔ پھر ڈی کوڈر متواتر طور پر کمپریسڈ میکرو بلاکس پر کارروائی کرتا ہے، ان پر الٹ ٹرانسفارم کا اطلاق کرتا ہے۔

ویڈیو سٹریم ڈی کوڈنگ کے مراحل

پہلا مرحلہ — اینٹروپی کوڈ نکالنا۔ اینٹروپی ڈی کوڈنگ مجرد کوزائن ٹرانسفارم گتانکوں کو بحال کرنے کے لیے CABAC یا CAVLC الگورتھم استعمال کرتی ہے۔ یہ مرحلہ ویڈیو ریزولوشن پر منحصر نہیں — یہ پکسلز نہیں بلکہ بٹس کا سٹریم پروسیس کرتا ہے، اور اس کی پیچیدگی فریم کے طول و عرض سے نہیں بلکہ بٹ ریٹ سے متعین ہوتی ہے۔

دوسرا مرحلہ — الٹ کوانٹائزیشن اور الٹ DCT۔ ڈی کوڈر کوانٹائزڈ گتانکوں کو کوانٹائزیشن سٹیپ سے ضرب دیتا ہے، قریبی DCT گتانک اقدار کو بحال کرتا ہے، اور پھر الٹ DCT ٹرانسفارم کا اطلاق کرتا ہے۔ الٹ DCT فریکوئنسی ڈومین سے مقامی ڈیٹا کو بحال کرتا ہے، پکسلز کا ایک میکرو بلاک تشکیل دیتا ہے۔ کرومہ اور لوما کے لیے ٹرانسفارم آزادانہ طور پر انجام دیا جاتا ہے۔

تیسرا مرحلہ — موشن کمپنسیشن۔ P- اور B-فریم کے لیے، ڈی کوڈر بٹ سٹریم سے نکالے گئے موشن ویکٹر استعمال کرتا ہے اور پہلے ڈی کوڈ شدہ ریفرنس فریموں کا حوالہ دیتا ہے۔ موشن کمپنسیشن موجودہ میکرو بلاک کے لیے ایک پیشن گوئی کرنے والا بناتا ہے، جس میں الٹ DCT کے بعد بقایا سگنل شامل کیا جاتا ہے۔ نتیجہ ایک مکمل بحال شدہ فریم ہے جو آؤٹ پٹ کے لیے تیار ہے۔

cpp
// ویڈیو فریم ڈی کوڈنگ کا بنیادی سیوڈوکوڈ
struct DecodedFrame {
    uint8_t* y_plane;
    uint8_t* u_plane;
    uint8_t* v_plane;
    int width, height;
};

class Decoder {
public:
    bool decodeNALUnit(const uint8_t* nalUnit, size_t size) {
        if (!parseNALUHeader(nalUnit, size))
            return false;
        
        int sliceType = parseSliceType(nalUnit);
        entropyDecode(nalUnit);
        inverseQuantize();
        inverseDCT();
        
        if (sliceType != I_SLICE)
            motionCompensation();
        
        return true;
    }
};

اوپر دی گئی مثال H.264 ڈی کوڈر کی بنیادی ساخت دکھاتی ہے۔ فنکشن decodeNALUnit ایک NAL یونٹ — کمپریسڈ H.264 سٹریم کا بنیادی بلاک — وصول کرتا ہے۔ ڈی کوڈر متواتر طور پر ہیڈر کو پارس کرتا ہے، سلائس کی قسم نکالتا ہے، اینٹروپی ڈی کوڈنگ، الٹ کوانٹائزیشن اور الٹ DCT کا اطلاق کرتا ہے۔ P- اور B-سلائس کے لیے، DPB بفر سے ریفرنس فریم استعمال کرتے ہوئے اضافی طور پر موشن کمپنسیشن انجام دی جاتی ہے۔

کمپریشن فارمیٹس اور کوڈیک

جدید ویڈیو کوڈیک کمپریشن الگورتھم، کارکردگی اور حسابی وسائل کی ضروریات میں مختلف ہوتے ہیں۔ فارمیٹ کا انتخاب براہ راست فائل کے سائز، تصویر کے معیار اور موبائل ڈیوائس پر ڈی کوڈنگ کے دوران بجلی کی کھپت کو متاثر کرتا ہے۔

کوڈیکسالکمپریشنہارڈویئر سپورٹ
H.26420031:100تمام جدید SoC
H.26520131:200Apple A8+، Snapdragon 805+
VP920131:180Snapdragon 820+، Exynos
AV120181:300Apple A17+، Snapdragon 8 Gen 2+

H.264 سب سے زیادہ پھیلا ہوا ویڈیو کوڈیک ہے، جو تمام موبائل آلات سے سپورٹڈ ہے۔ اس کا بنیادی فائدہ عالمگیریت ہے: کوئی بھی Android سمارٹ فون اور iPhone H.264 کو ہارڈویئر پر ڈی کوڈ کر سکتا ہے۔ تاہم، اسی بٹ ریٹ پر، H.264 H.265 اور AV1 جیسے جدید کوڈیک کے مقابلے معیار میں پیچھے رہ جاتا ہے، اسی بصری معیار کے لیے 30–50% زیادہ بٹ ریٹ کی ضرورت ہوتی ہے۔

H.265 اسی معیار پر H.264 کے مقابلے میں دوگنا کمپریشن فراہم کرتا ہے۔ H.265 ڈی کوڈنگ کے لیے زیادہ طاقتور ہارڈویئر بلاک کی ضرورت ہوتی ہے: iOS پر VideoToolbox iPhone 6 (A8) سے H.265 کو سپورٹ کرتا ہے، اور Android ڈیوائسز Snapdragon 805 اور اس سے اوپر سے۔ موبائل ایپ کے لیے H.265 منتخب کرتے وقت، ذہن میں رکھیں کہ پرانے آلات میں ہارڈویئر سپورٹ نہیں ہو سکتا اور وہ اس فارمیٹ کو سافٹ ویئر سے ڈی کوڈ کریں گے، جس سے بجلی کی کھپت تیزی سے بڑھ جاتی ہے۔

AV1 Alliance for Open Media کا ایک اوپن کوڈیک ہے، جو تمام جدید فارمیٹس میں بہترین کمپریشن فراہم کرتا ہے۔ AV1 اسی بصری معیار پر H.265 سے 30% اور H.264 سے 50% زیادہ کارآمد ہے۔ ہارڈویئر AV1 ڈی کوڈنگ صرف 2023+ SoC میں ظاہر ہوئی: Apple A17 Pro، Qualcomm Snapdragon 8 Gen 2 اور نئے۔ پرانے آلات کے لیے، AV1 ڈی کوڈنگ صرف dav1d لائبریری کے ذریعے سافٹ ویئر سے ممکن ہے، جو CPU پر اہم بوجھ ڈالتی ہے۔

سافٹ ویئر بمقابلہ ہارڈویئر ڈی کوڈنگ

سافٹ ویئر اور ہارڈویئر ڈی کوڈنگ کے درمیان انتخاب موبائل میڈیا پلیئر تیار کرتے وقت ایک اہم آرکیٹیکچرل فیصلہ ہے۔ ہر طریقہ کار کے اپنے فوائد اور حدود ہیں جن کا اطلاق ڈیزائن کرتے وقت خیال رکھنا ضروری ہے۔

کارکردگی اور بجلی کی کھپت

ہارڈویئر ڈی کوڈنگ خصوصی ویڈیو پروسیسنگ بلاکس پر کی جاتی ہے جو ایک ہی کام کو انجام دیتے وقت CPU سے نمایاں طور پر کم توانائی استعمال کرتے ہیں۔ Qualcomm کے مطابق، 4K ویڈیو چلاتے وقت ہارڈویئر H.265 ڈی کوڈر Snapdragon 8 Gen 1 CPU پر سافٹ ویئر ڈی کوڈنگ سے 5–10 گنا کم توانائی استعمال کرتا ہے۔ یہ موبائل آلات کے لیے اہم ہے جہاں ہر ملی واٹ بیٹری لائف کو متاثر کرتا ہے۔

دوسری طرف، سافٹ ویئر ڈی کوڈنگ زیادہ سے زیادہ لچک فراہم کرتی ہے۔ FFmpeg libavcodec لائبریری کے ساتھ درجنوں کوڈیک اور کنٹینر کو سپورٹ کرتا ہے، جن میں نایاب اور متروک فارمیٹ شامل ہیں جن میں ہارڈویئر سپورٹ نہیں ہے۔ ڈیولپر ڈی کوڈنگ پائپ لائن میں ترمیم کر سکتا ہے، چلتے چلتے پوسٹ پروسیسنگ اور فلٹر شامل کر سکتا ہے، جو بند ہارڈویئر بلاکس کے استعمال کے وقت ناممکن ہے۔

سافٹ ویئر ڈی کوڈنگ کب منتخب کریں

سافٹ ویئر ڈی کوڈنگ کئی منظرناموں میں جائز ہے: نایاب فارمیٹ (ProRes، DNxHD، Motion JPEG) چلاتے وقت، جب فریم پروسیسنگ کے ہر مرحلے پر عین کنٹرول کی ضرورت ہو، اور ہارڈویئر سپورٹ کے بغیر آلات پر AV1 ڈی کوڈ کرتے وقت۔ FFmpeg سے libavcodec تقریباً کسی بھی معروف فارمیٹ کو ڈی کوڈ کر سکتا ہے، جو اسے یونیورسل میڈیا پلیئر کے لیے ڈی فیکٹو معیار بناتا ہے۔

سافٹ ویئر ڈی کوڈنگ کی حد گرمی کا اخراج ہے۔ CPU پر مسلسل 4K ویڈیو ڈی کوڈنگ 10–15 منٹ میں ڈیوائس کو 45–50 ڈگری تک گرم کر سکتی ہے، جس سے تھروٹلنگ اور فریم ریٹ میں کمی آتی ہے۔ فعال کولنگ کے بغیر آلات (ٹیبلیٹ، فون) پر، یہ خاص طور پر نمایاں ہے۔ سافٹ ویئر ڈی کوڈنگ کے دوران CPU بجلی کی کھپت اسی سٹریم کی ہارڈویئر ڈی کوڈنگ کے دوران 0,3–0,5 W کے مقابلے میں 3–5 W تک پہنچ سکتی ہے۔

ہارڈویئر ڈی کوڈنگ کب منتخب کریں

ہارڈویئر ڈی کوڈنگ کسی بھی پروڈکشن میڈیا پلیئر کے لیے ڈیفالٹ انتخاب ہے۔ یہ کم سے کم بجلی کی کھپت پر 4K ویڈیو کے لیے مستحکم 60 fps فراہم کرتا ہے۔ iOS پر VideoToolbox اور Android پر MediaCodec ہارڈویئر ڈی کوڈنگ کے لیے مقامی API فراہم کرتے ہیں جو کوڈیک اور ریزولوشن کے لحاظ سے خود بخود بہترین پروسیسنگ بلاک منتخب کرتے ہیں۔

پلیٹ فارم API فریم بفر مینجمنٹ (Android پر surface pool، iOS پر CVPixelBufferPool)، ڈسپلے سنکرونائزیشن اور میموری آپٹیمائزیشن سنبھالتے ہیں۔ ڈیولپر کو صرف مطلوبہ پیرامیٹرز کے ساتھ ڈی کوڈر کھولنا اور تیار فریم وصول کرنا ہوتا ہے۔ ہارڈویئر ڈی کوڈنگ کم سے کم تاخیر کے ساتھ اینڈ ٹو اینڈ پائپ لائن کو سپورٹ کرتی ہے: بٹ سٹریم وصول کرنے سے اسکرین پر ظاہر کرنے تک 5–15 ms لگتے ہیں جبکہ سافٹ ویئر ڈی کوڈنگ میں 30–80 ms لگتے ہیں۔

ڈی کوڈنگ کوڈ کی مثالیں

آئیے دونوں موبائل پلیٹ فارم پر ڈی کوڈنگ کے عملی نفاذ کو دیکھتے ہیں۔ iOS پر، ہارڈویئر ڈی کوڈنگ VideoToolbox کے ذریعے اور سافٹ ویئر ڈی کوڈنگ FFmpeg کے ذریعے کی جاتی ہے۔ Android پر، ہارڈویئر ڈی کوڈنگ کے لیے MediaCodec استعمال کیا جاتا ہے۔

VideoToolbox کے ساتھ iOS پر ہارڈویئر ڈی کوڈنگ

objective-c
@interface VideoDecoder ()
@property (nonatomic) VTDecompressionSessionRef session;
@end

@implementation VideoDecoder

- (void)setupDecoder {
    CMVideoFormatDescriptionRef formatDesc;
    CMVideoCodecType codecType = kCMVideoCodecType_H264;
    
    OSStatus status = CMVideoFormatDescriptionCreate(
        NULL, codecType, 1920, 1080, NULL, &formatDesc
    );
    
    VTDecompressionOutputCallbackRecord callback;
    callback.decompressionOutputCallback = &decodingCallback;
    
    VTDecompressionSessionCreate(NULL, formatDesc, NULL,
        NULL, &callback, &_session);
}

- (void)decodeFrame: (uint8_t*)nalData length:(size_t)size {
    CMBlockBufferRef blockBuffer;
    CMBlockBufferCreateWithMemoryBlock(NULL, nalData,
        size, NULL, NULL, 0, size, 0, &blockBuffer);
    
    CMSampleBufferRef sampleBuffer;
    CMSampleBufferCreate(NULL, blockBuffer, true, NULL,
        NULL, NULL, 1, 0, NULL, 0, NULL, &sampleBuffer);
    
    VTDecompressionSessionDecodeFrame(_session,
        sampleBuffer, 0, NULL, 0);
}

@end

کوڈ iOS پر H.264 ہارڈویئر ڈی کوڈر کے ابتدائیے کو ظاہر کرتا ہے۔ VTDecompressionSessionCreate ایک ڈی کوڈنگ سیشن بناتا ہے، اور VTCreate تیار فریم آنے پر کال بیک کو کال کرتا ہے۔ سیشن خود بخود ہارڈویئر بلاک استعمال کرتا ہے اگر یہ مخصوص کوڈیک کے لیے دستیاب ہو۔ CVPixelBuffer فارمیٹ میں ڈی کوڈ شدہ فریم حاصل کرنے کے لیے، ایک کال بیک استعمال کیا جاتا ہے جو کم سے کم تاخیر کے ساتھ ہر تیار فریم کو پاس کرتا ہے۔

MediaCodec کے ساتھ Android پر ہارڈویئر ڈی کوڈنگ

java
MediaCodec decoder = MediaCodec.createDecoderByType("video/avc");
MediaFormat format = MediaFormat.createVideoFormat(
    "video/avc", 1920, 1080
);
format.setInteger(MediaFormat.KEY_FRAME_RATE, 30);

decoder.configure(format, surface, null, 0);
decoder.start();

ByteBuffer[] inputBuffers = decoder.getInputBuffers();
int inputIndex = decoder.dequeueInputBuffer(10000);

if (inputIndex >= 0) {
    ByteBuffer buffer = inputBuffers[inputIndex];
    buffer.clear();
    buffer.put(nalData);
    decoder.queueInputBuffer(inputIndex, 0, nalData.length, pts, 0);
}

Android پر، MediaCodec پکسل بفر کے بجائے آؤٹ پٹ کے لیے Surface استعمال کرتا ہے، GPU اور CPU کے درمیان ڈیٹا کاپی کو کم سے کم کرتا ہے۔ ڈی کوڈر کوڈیک کی قسم کی بنیاد پر خود بخود ہارڈویئر بلاک (OMX کمپوننٹ) منتخب کرتا ہے۔ H.264 کے لیے، OMX.google.h264.decoder استعمال کیا جاتا ہے، جو مینوفیکچرر کے نفاذ کے لحاظ سے ہارڈویئر یا سافٹ ویئر ہو سکتا ہے۔

موبائل ایپ کے لیے ڈی کوڈر کیسے منتخب کریں

ڈی کوڈنگ حکمت عملی کا انتخاب ایپلیکیشن کے ہدف والے سامعین، سپورٹڈ فارمیٹس اور کارکردگی کی ضروریات پر منحصر ہے۔ بہترین حل میں اکثر ہائبرڈ طریقہ کار شامل ہوتا ہے: مرکزی فارمیٹس (H.264، H.265) کے لیے ہارڈویئر ڈی کوڈنگ اور نایاب کوڈیک کے لیے سافٹ ویئر فال بیک۔

ترجیحات کی بنیاد پر انتخاب کی حکمت عملی

اگر ایپلیکیشن زیادہ سے زیادہ مطابقت کے لیے ہے — H.264 استعمال کریں، جو کسی بھی ڈیوائس پر ہارڈویئر پر ڈی کوڈ ہونے کی ضمانت ہے۔ ویڈیو سٹریمنگ سروسز کے لیے، 2016 کے بعد کے آلات پر ہارڈویئر سپورٹ والا H.265 جائز ہے۔ AV1 ان خدمات کے لیے انتخاب ہے جہاں بینڈوتھ کی بچت اہم ہے: YouTube، Netflix اور دیگر بڑے پلیٹ فارم معیار کو برقرار رکھتے ہوئے CDN اخراجات کم کرنے کے لیے فعال طور پر AV1 اپنا رہے ہیں۔

ایک اہم پیرامیٹر ڈی کوڈر کا بفر سائز ہے۔ ہارڈویئر ڈی کوڈر کا ایک مقررہ بفر پول (عام طور پر 4–16 فریم) ہوتا ہے۔ زیادہ بٹ ریٹ سٹریم چلاتے وقت، بفر اوور فلو ہو سکتے ہیں، جس سے فریم ڈراپ ہوتا ہے۔ MediaCodec کسی مخصوص ڈیوائس پر حقیقی ڈی کوڈر کارکردگی کا تعین کرنے کے لیے getOutputFrameRate طریقہ فراہم کرتا ہے، جبکہ VideoToolbox kVTDecodeFrame_EnableAsynchronousDecompression کے ذریعے ریئل ٹائم ترجیح کو کنٹرول کرنے کی اجازت دیتا ہے۔

تھرمل تھروٹلنگ ایک اور عنصر ہے۔ طویل 4K HDR ویڈیو پلے بیک کے دوران ہارڈویئر ڈی کوڈنگ بھی ڈیوائس کو گرم کر سکتی ہے۔ iOS پر ProcessInfo اور Android پر BatteryManager کے ذریعے درجہ حرارت کی نگرانی کرنے، زیادہ گرمی پر معیار یا سٹریم ریزولوشن کم کرنے کی سفارش کی جاتی ہے۔ یہ خاص طور پر گیمز اور طویل دیکھنے کے سیشن والی سٹریمنگ ایپلیکیشنز کے لیے اہم ہے۔

اکثر پوچھے گئے سوالات

ڈی کوڈنگ انکوڈنگ سے کیسے مختلف ہے؟

انکوڈنگ غیر کمپریسڈ ڈیٹا کو کمپریسڈ فارمیٹ میں تبدیل کرتی ہے، جبکہ ڈی کوڈنگ کمپریسڈ سٹریم سے اصل ڈیٹا کو بحال کرتی ہے۔ یہ عمل ایک دوسرے کے الٹ ہیں اور ایک جیسے الگورتھم استعمال کرتے ہیں: DCT، کوانٹائزیشن، موشن کمپنسیشن۔ انکوڈر براہ راست تبدیلی کرتا ہے، ڈی کوڈر الٹی تبدیلی کرتا ہے۔

موبائل ایپ کے لیے کون سا کوڈیک بہترین ہے؟

زیادہ سے زیادہ مطابقت کے لیے — H.264، کیونکہ یہ 100% جدید آلات پر ہارڈویئر ڈی کوڈ ہوتا ہے۔ بہتر کمپریشن کے لیے — H.265 یا AV1۔ انتخاب سامعین پر منحصر ہے: اگر 80% صارفین کے پاس 2021+ کے آلات ہیں، تو H.265 کم بٹ ریٹ پر بہتر معیار فراہم کرے گا۔ AV1 2023+ سے ہارڈویئر سپورٹ والے فلیگ شپ آلات کے لیے جائز ہے۔

ہارڈویئر ڈی کوڈنگ سافٹ ویئر سے تیز کیوں ہے؟

ہارڈویئر ڈی کوڈر ایک خصوصی مائیکروچپ (ASIC) ہے جو صرف ڈی کوڈنگ کے لیے ڈیزائن کی گئی ہے۔ CPU کے برعکس، جو ترتیب وار ہدایات کے ساتھ ڈی کوڈنگ کرتا ہے، ہارڈویئر بلاک میکرو بلاکس کو متوازی طور پر پروسیس کرتا ہے۔ ہارڈویئر ڈی کوڈر کی بجلی کی کھپت 5–10 گنا کم ہے کیونکہ چپ کم فریکوئنسی پر کام کرتی ہے اور اس میں غیر ضروری پائپ لائن مراحل نہیں ہیں۔

H.264 میں پروفائل اور سطح کیا ہے؟

پروفائل انکوڈر کے ذریعے استعمال کردہ کمپریشن الگورتھم کے سیٹ کی وضاحت کرتی ہے: Baseline، Main، High۔ سطح زیادہ سے زیادہ سٹریم پیرامیٹرز مقرر کرتی ہے: ریزولوشن، بٹ ریٹ، بفر سائز۔ موبائل آلات کے لیے، High پروفائل اور سطح 4.1–5.2 تجویز کی جاتی ہے — یہ ہارڈویئر ڈی کوڈنگ کے ساتھ 1080p–4K ویڈیو کے لیے کافی ہے۔

ڈیوائس پر کوڈیک سپورٹ کیسے چیک کریں؟

Android پر، دستیاب کوڈیک کی فہرست حاصل کرنے اور یہ چیک کرنے کے لیے کہ کون سا ہارڈویئر ہے MediaCodecList استعمال کریں۔ iOS پر، مخصوص کوڈیک کے ساتھ CMVideoFormatDescription کے ذریعے سپورٹ چیک کریں — اگر VTDecompressionSessionCreate کامیاب ہوتا ہے، تو کوڈیک سپورٹڈ ہے۔ Android پر AV1 کے لیے، OMX.google.aomc.decoder کوڈیک یا اس کے ہارڈویئر ورژن کی موجودگی چیک کریں۔

خلاصہ

  • ڈی کوڈنگ — انکوڈنگ کا الٹ عمل: کمپریسڈ بٹ سٹریم سے اصلی غیر کمپریسڈ ویڈیو فریم بحال کیا جاتا ہے
  • ہارڈویئر ڈی کوڈنگ GPU/DSP بلاکس پر چلتی ہے، 5–10 گنا کم توانائی استعمال کرتی ہے، لیکن سپورٹڈ فارمیٹس تک محدود ہے
  • سافٹ ویئر ڈی کوڈنگ FFmpeg/libavcodec کے ذریعے کسی بھی کوڈیک کے ساتھ مطابقت فراہم کرتی ہے لیکن CPU لوڈ کرتی ہے اور گرمی کا سبب بنتی ہے
  • H.264 — تمام آلات پر ہارڈویئر سپورٹ کے ساتھ عالمگیر کوڈیک، زیادہ سے زیادہ مطابقت کے لیے بہترین
  • H.265 دوگنا کمپریشن فراہم کرتا ہے، 2016 کے بعد کے آلات پر ہارڈویئر سپورٹڈ
  • AV1 — 2023+ فلیگ شپ پر ہارڈویئر سپورٹ اور پرانے آلات پر dav1d کے ذریعے سافٹ ویئر کے ساتھ سب سے زیادہ کارآمد کوڈیک
  • منتخب کریں ہائبرڈ حکمت عملی: مرکزی فارمیٹس کے لیے ہارڈویئر ڈی کوڈنگ اور نایاب کوڈیک کے لیے سافٹ ویئر فال بیک

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں