WebConverter کیسے کام کرتا ہے
ہر تبدیلی آپ کے براؤزر کے اندر چلتی ہے۔ کوئی فائل کبھی اپلوڈ نہیں ہوتی۔ یہاں بتایا گیا ہے کہ فائل تبدیل کرتے وقت بالکل کیا ہوتا ہے۔
مختصر ورژن
جب آپ WebConverter پر کوئی فائل چھوڑتے ہیں، تو اسے آپ کی ڈسک سے براؤزر میموری میں پڑھا جاتا ہے، WebAssembly کے طور پر چلنے والے مرتب شدہ C++ کوڈ کے ذریعے پروسیس کیا جاتا ہے، اور ایک نئی فائل کے طور پر واپس آپ کی ڈسک پر محفوظ کیا جاتا ہے۔ پوری پائپ لائن آپ کے CPU پر چلتی ہے — کچھ بھی آپ کا آلہ نہیں چھوڑتا۔
آپ اس کی تصدیق کر سکتے ہیں: اپنے براؤزر کے ڈیولپر ٹولز → نیٹ ورک ٹیب کھولیں، پھر فائل تبدیل کریں۔ آپ کو فائل ڈیٹا لے جانے والے صفر آؤٹ باؤنڈ ریکوسٹ نظر آئیں گے۔
تصویر کی تبدیلی
تصویر کی تبدیلی Magnum C++ گرافکس لائبریری سے چلتی ہے، جسے Emscripten استعمال کرکے WebAssembly میں کمپائل کیا گیا ہے۔ Magnum فارمیٹس کی وسیع رینج کے لیے جنگ میں آزمائے ہوئے ڈیکوڈرز اور انکوڈرز فراہم کرتا ہے — وہی کوڈ جو مقامی ڈیسک ٹاپ ایپلیکیشنز میں استعمال ہوتا ہے۔
تبدیلی کا بہاؤ:
- File API استعمال کرکے آپ کی فائل کو
ArrayBufferمیں پڑھا جاتا ہے - بفر چار متوازی Web Workers میں سے ایک کو بھیجا جاتا ہے
- Worker کے اندر، WASM ماڈیول ماخذ فارمیٹ کو ڈیکوڈ کرتا ہے اور ٹارگٹ فارمیٹ میں دوبارہ انکوڈ کرتا ہے
- نتیجہ مرکزی تھریڈ میں واپس منتقل کیا جاتا ہے اور ڈاؤن لوڈ کے طور پر شروع کیا جاتا ہے
چار Workers متوازی طور پر چلتے ہیں، اس لیے درجنوں فائلوں کی بیچ تبدیلی صفحے کو منجمد کیے بغیر تیزی سے مکمل ہوتی ہے۔
تعاون یافتہ تصویری فارمیٹس
- ان پٹ (14 فارمیٹس): BMP, DDS, GIF, HDR, ICO, JPEG, KTX, KTX2, PGM, PIC, PNG, PPM, PSD, TGA, WebP
- آؤٹ پٹ (8 فارمیٹس): PNG, JPEG, BMP, TGA, HDR, EXR, KTX2, WebP
آڈیو کی تبدیلی
آڈیو اور ویڈیو سے آڈیو کی تبدیلی ماخذ فائل کو ڈیکوڈ کرنے کے لیے براؤزر کی بلٹ ان AudioContext.decodeAudioData() استعمال کرتی ہے، پھر Web Worker میں ٹارگٹ فارمیٹ میں انکوڈ کرتی ہے۔
- MP3 اور OGG انکوڈنگ wasm-media-encoders استعمال کرتی ہے — LAME (MP3) اور libvorbis (OGG) کے WebAssembly بلڈز
- WAV انکوڈنگ خالص JavaScript ہے — ایک RIFF ہیڈر پلس 16-بٹ PCM انٹرلیوڈ سیمپلز
- FLAC انکوڈنگ براؤزر کی مقامی
AudioEncoderAPI (Chrome 107+) استعمال کرتی ہے، غیر معاون براؤزرز کے لیے WAV فال بیک کے ساتھ
ان پٹ فارمیٹس میں MP4, M4A, WAV, OGG, FLAC, WebM اور MP3 شامل ہیں — کوئی بھی کنٹینر جسے براؤزر مقامی طور پر ڈیکوڈ کر سکتا ہے۔
PDF کی تبدیلی
تصویر سے PDF کی تبدیلی pdf-lib استعمال کرتی ہے، خالص JavaScript PDF لائبریری جو براؤزر میں PDF دستاویزات بناتی اور ان میں ردوبدل کرتی ہے۔ ہر تصویر Canvas API کے ذریعے ڈیکوڈ کی جاتی ہے، JPEG میں دوبارہ انکوڈ کی جاتی ہے، اور PDF میں مکمل صفحے کے طور پر ایمبیڈ کی جاتی ہے۔
جب OCR فعال ہے، Tesseract.js — معروف اوپن سورس OCR انجن — ہر تصویر میں ٹیکسٹ کا تجزیہ کرتا ہے اور اسے PDF میں ایک غیر مرئی قابل انتخاب پرت کے طور پر رکھتا ہے۔ OCR ماڈل (~10 MB) مانگ پر ڈاؤن لوڈ ہوتا ہے اور براؤزر کیش کرتا ہے۔
کلائنٹ سائیڈ کیوں؟
رازداری
آپ کی فائلیں کبھی آپ کا آلہ نہیں چھوڑتیں۔ کوئی ہیک ہونے والا سرور نہیں، کوئی خلاف ورزی ہونے والا ڈیٹا بیس نہیں، «30 منٹ بعد فائلیں حذف کر دی جاتی ہیں» کا کوئی وعدہ نہیں جس پر بھروسہ کرنا پڑے۔ سرور پر مبنی کنورٹرز کے رازداری کے خطرات کے بارے میں مزید پڑھیں۔
رفتار
سرور پر مبنی ٹول کو فائل اپلوڈ کرنے، قطار میں انتظار کرنے اور نتیجہ ڈاؤن لوڈ کرنے کی ضرورت ہوتی ہے۔ WebConverter تینوں کو چھوڑ دیتا ہے۔ 50 MB کی تصویر ایک سیکنڈ سے کم میں تبدیل ہوتی ہے۔
کوئی حد نہیں
چونکہ ادائیگی کے لیے کوئی سرور انفراسٹرکچر نہیں ہے، فائل سائز کی کوئی حد نہیں، کوئی یومیہ تبدیلی کوٹہ نہیں، اور کوئی «پرو میں اپگریڈ کریں» رکاوٹ نہیں۔
آف لائن کام کرتا ہے
WebConverter کو Progressive Web App کے طور پر انسٹال کیا جا سکتا ہے۔ انسٹال ہونے کے بعد، یہ بغیر انٹرنیٹ کنکشن کے کام کرتا ہے — آپ ہوائی جہاز میں، دیہی علاقے میں یا نیٹ ورک آؤٹیج کے وقت فائلیں تبدیل کر سکتے ہیں۔
کم ماحولیاتی اثر
کوئی ڈیٹا ٹرانسفر نہیں کا مطلب کوئی نیٹ ورک توانائی نہیں۔ کوئی سرور پروسیسنگ نہیں کا مطلب کوئی ڈیٹا سینٹر بجلی نہیں۔ سرور پر مبنی کنورٹرز کی چھپی ہوئی توانائی لاگت کے بارے میں پڑھیں۔
اوپن سورس
WebConverter مفت اور اوپن سورس ہے۔ آپ GitLab پر کوڈ کا معائنہ کر سکتے ہیں، مسائل کی رپورٹ کر سکتے ہیں اور تعاون کر سکتے ہیں۔