حاسبة حجم ملفات RAW
تقدّر حاسبة حجم صور RAW هذه المساحة التي تحتاج إليها لقطة مستشعر غير مضغوطة عندما تعرفون دقة الكاميرا بالميغابكسل وعمق البت المخزّن لكل بكسل.
شغّل الأداة مجانًا
وهي تحوّل هاتين المواصفتين إلى عدد تقريبي من وحدات byte وإلى ميغابايت عشرية وميبيبايت ثنائية. تفيد النتيجة في تخطيط التخزين وتقدير النقل ومقارنة مسارات العمل الفوتوغرافية. إنها عملية تقدير رياضية واضحة، وليست تنبؤًا بكل تنسيق RAW احتكاري، لأن الملفات الفعلية قد تستخدم الضغط أو البيانات الوصفية أو الحشو أو المعاينات أو أساليب التعبئة الخاصة بالشركة المصنّعة.
أدخلوا دقة المستشعر وعمق البت المخزّن
ابدؤوا بعدد الميغابكسل الفعلي المستخدم في الصورة، لا بالضرورة بالرقم التسويقي المقرّب المكتوب على جسم الكاميرا. تُفسَّر قيمة 24 ميغابكسل على أنها 24,000,000 بكسل في المستشعر. ثم أدخلوا عدد البتات غير المضغوطة المخصصة لكل عينة بكسل. تشمل القيم الشائعة 12 و14 و16 بت، لكن الحاسبة تقبل أي قيمة موجبة محدودة لتشمل المستشعرات العلمية والصناعية غير المعتادة. لا يساوي عمق البت هنا عدد البتات لكل قناة في صورة RGB نهائية. يسجل مستشعر Bayer النموذجي عينة مرشحة واحدة عند كل موقع ضوئي قبل إزالة الفسيفساء، ولذلك يستخدم التقدير البسيط عينة واحدة لكل بكسل مستشعر. كلا الحقلين إلزامي ويجب أن تكون قيمته موجبة. وتُقبل القيم العشرية أيضًا، مثل دقة فعلية منشورة مقدارها 24.2 ميغابكسل.
افهموا طريقة الحساب والوحدات المعروضة
تضرب الحاسبة عدد الميغابكسل في 1,000,000 للحصول على عدد البكسلات، ثم تضرب الناتج في عمق البت وتقسمه على ثمانية لتحويل البتات إلى وحدات byte. تشغل عينة 16 بت وحدتي byte بلا ضغط، بينما تشغل عينة 12 بت المعبأة بإحكام وحدة ونصف في المتوسط. يتضمن الناتج العدد التقديري للبكسلات ووحدات byte كي تتمكنوا من مراجعة الحساب مباشرة. كما يعرض الميغابايت العشرية، حيث يساوي MB واحد 1,000,000 byte، والميبيبايت الثنائية، حيث يساوي MiB واحد 1,048,576 byte. يستخدم مصنعو التخزين غالبًا الوحدات العشرية، بينما قد تعرض الأنظمة وحدات ثنائية. لا يجري التقريب إلا لإنتاج JSON ثابت ومقروء؛ ولا تضيف الصيغة معامل ضغط أو هامش أمان أو صورًا مصغرة أو بيانات وصفية.
استخدموا التقدير في التخطيط العملي للتخزين
تعاملوا مع النتيجة بوصفها خط أساس للقطة غير مضغوطة، ثم عدّلوها بما يلائم مسار العمل الفعلي الذي تخططون له. اضربوا عدد وحدات byte لكل صورة في العدد المتوقع للإطارات لتقدير جلسة أو تصوير متتابع أو بطاقة ذاكرة أو أرشيف أو نسخة احتياطية. خصصوا مساحة إضافية لنظام الملفات وقواعد بيانات الفهارس والملفات الجانبية والمعاينات والتعديلات وهامش فراغ مناسب. قد تكون ملفات RAW الفعلية أصغر عند استخدام الضغط، أو أكبر عند حشو العينات في كلمات 16 بت أو تضمين معاينات كبيرة وبيانات وصفية كثيرة وبكسلات خارج مساحة الصورة الاسمية. وقد تخزّن أوضاع اللقطات المتعددة وبعض المستشعرات المتخصصة أكثر من عينة لكل بكسل ناتج. ولتوقع تشغيلي أدق، قارنوا التقدير بعدة ملفات من الكاميرا نفسها ووضع RAW نفسه وإعداد الاقتصاص وإصدار البرنامج الثابت ذاته.
حالات الاستخدام
اختيار سعة بطاقة الذاكرة
قدّروا المساحة غير المضغوطة لكل تعريض قبل تحديد عدد البطاقات اللازمة لفعالية أو جلسة حياة برية أو يوم في الاستوديو.
تخطيط الأرشيف والنسخ الاحتياطي
حوّلوا مواصفات الكاميرا إلى خط أساس متسق لتحديد حجم التخزين الأساسي والنسخ المحلية والنسخ البعيدة.
مقارنة أحمال بيانات الكاميرات
قارنوا الحمولة التقريبية لمستشعرات ذات دقات وأعماق بت مختلفة من دون الاعتماد على سلوك الضغط الاحتكاري.
الأسئلة الشائعة
ما تكلفة استخدام الحاسبة؟
سعر API هو $0.002 لكل طلب. تنفذ حاسبة المتصفح العملية الحتمية نفسها من دون رفع صورة فوتوغرافية.
لماذا يكون ملف RAW الفعلي أصغر من التقدير؟
تطبّق كاميرات كثيرة ضغط RAW من دون فقد أو مع فقد. تتعمد الحاسبة تقدير خط أساس غير مضغوط ولا تفترض نسبة ضغط خاصة بكاميرا معينة.
لماذا قد يكون ملف RAW الفعلي أكبر؟
قد تضيف البيانات الوصفية ومعاينات JPEG وحشو الصفوف والبكسلات المحجوبة وكلمات التخزين الأوسع وحدات byte إضافية.
هل تعبئ ملفات RAW ذات 14 بت كل عينة في 14 بت دائمًا؟
لا. تعبئ بعض التنسيقات العينات بإحكام، بينما تحشوها تنسيقات أخرى في وحدات أوسع. يفترض هذا التقدير التعبئة المحكمة.
ما الفرق بين MB وMiB؟
يساوي MB العشري 1,000,000 byte، ويساوي MiB الثنائي 1,048,576 byte؛ لذلك تختلف القيم العددية للملف نفسه.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/image/raw-file-estimate-size \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"megapixels":24,"bit_depth":14}'const res = await fetch("https://api.kit.forhosting.com/image/raw-file-estimate-size", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"megapixels": 24,
"bit_depth": 14
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/raw-file-estimate-size",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"megapixels": 24,
"bit_depth": 14
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/raw-file-estimate-size", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"megapixels":24,"bit_depth":14}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"megapixels":24,"bit_depth":14}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/raw-file-estimate-size", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"megapixels": 24,
"bit_depth": 14
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.raw_file_estimate_size",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 15 |
max_megapixels | 12 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |