حساب موضع العلامة المائية للفيديو
ضعوا شعارا بمقاس 240 في 120 في الزاوية اليمنى السفلى لإطار 1920 في 1080 بهامش 32 بكسل، لتحصلوا على نقطته العليا اليسرى x 1648 وy 928، مع التحقق من أنه يتسع كاملا داخل الإطار. مجاني في المتصفح.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
تعيد حاسبة موضع العلامة المائية إحداثيات البكسل العلوي الأيسر اللازمة لوضع شعار أو رمز أو صورة علامة تجارية في زاوية محددة من الفيديو. أدخلوا أبعاد إطار الفيديو والعلامة المائية والزاوية والهامش الموحد لتحصلوا على قيم x وy ثابتة وجاهزة للتصيير أو الترميز. وتتحقق الحاسبة أيضاً من بقاء الصورة كاملة داخل الإطار كي لا يُقتطع أو يختفي أي جزء منها.
فهم نتيجة الإحداثيات
تحدد أنظمة التركيب عادة موضع الطبقة المضافة اعتماداً على البكسل العلوي الأيسر منها. تتبع هذه الحاسبة القاعدة نفسها: تمثل x المسافة الأفقية من الحافة اليسرى للإطار، وتمثل y المسافة العمودية من الحافة العليا. عند اختيار الزاوية العليا اليسرى تساوي القيمتان الهامش المطلوب.
وفي الزاوية العليا اليمنى تبقى y مساوية للهامش، بينما تساوي x عرض الفيديو ناقص عرض العلامة والهامش. وتطبق الزوايا السفلية المنطق نفسه عمودياً. يمكن نقل النتيجة مباشرة إلى مرشح فيديو أو لوحة رسم أو قالب رسوم متحركة أو مسار ترميز.
جميع القيم بوحدات بكسل صحيحة، فلا توجد مواضع كسرية أو عمليات تقريب ضمنية. وتكرر الاستجابة الموضع والهامش الفعلي لتسهيل قراءة السجلات. تنفذ الأداة حساباً هندسياً فقط؛ فلا تفحص محتوى البكسلات ولا تراعي الحواف الشفافة الداخلية ولا تعدل الملفات الأصلية.
اختيار الأبعاد والهامش الآمن
استخدموا الأبعاد الفعلية للإطار المشفر، لا الحجم الذي يعرضه المشغل. يظل مصدر بأبعاد 1920 في 1080 مستخدماً لنظام الإحداثيات هذا عند عرضه بحجم أصغر ما لم تُغير مرحلة المعالجة حجمه صراحة. ينبغي أن تصف أبعاد العلامة حجمها وقت إضافتها.
فإذا كان المسار يصغر الشعار أولاً، أدخلوا العرض والارتفاع بعد التصغير. الهامش إزاحة موحدة إلى الداخل من حافتي الزاوية المختارة. تجعل القيمة صفر المستطيل ملاصقاً للحافتين، بينما تنقله القيمة الموجبة إلى الداخل.
يُرفض الطلب إذا تجاوز أي بُعد للعلامة البُعد المناظر للإطار، أو إذا منع الهامش الصورة من البقاء كاملة داخله. يفيد هذا التحقق مع الفيديو العمودي الضيق والشعارات الكبيرة والدفعات متعددة النسب. وتظل البكسلات الشفافة جزءاً من المستطيل؛ لذلك اقتطعوا الحواف الشفافة غير اللازمة إذا بدت العلامة المرئية بعيدة عن الطرف.
تطبيق الإحداثيات في مسارات الإنتاج
ضعوا x وy في مرحلة إضافة الطبقة بعد اكتمال تغيير الحجم أو تصحيح الاتجاه. فالترتيب مهم: إذا جرى الحساب لإطار أفقي ثم دُوّر الفيديو أو اقتُطع، فقد تتغير الزاوية المرئية أو تخرج العلامة من الشاشة. احسبوا الموضع وفق الشكل النهائي، أو أعيدوا الحساب كلما غيّر تحويل العرض أو الارتفاع.
في المعالجة الدفعية يمكن تثبيت الزاوية والهامش كسياسة، مع تمرير الأبعاد الحقيقية لكل ملف. تحافظ النتيجة الثابتة بذلك على المسافة نفسها في الفيديو الأفقي والمربع والعمودي والمخصص. لا تراعي هذه القدرة مناطق العناوين الآمنة أو شقوق الأجهزة أو الترجمة أو الشرائط النصية أو العناصر المهمة؛ فاختاروا هامشاً أكبر أو زاوية أخرى عند الحاجة التحريرية.
كما أنها لا تنشئ صيغة خاصة بمرمز بعينه، فتظل الإحداثيات قابلة للنقل بين الأدوات.
حالات الاستخدام
إعداد أمر ترميز
احسبوا قيم x وy قابلة للنقل قبل إدراج شعار في مهمة تحويل ترميز أو تصيير.
توحيد صادرات العلامة التجارية
طبقوا سياسة الزاوية والمسافة نفسها على نسخ الفيديو الأفقية والمربعة والعمودية.
التحقق من التخطيطات الآلية
ارفضوا الصور الكبيرة جداً أو الهوامش غير الممكنة قبل بدء معالجة وسائط مرتفعة الكلفة.
الأسئلة الشائعة
ماذا تمثل x وy؟
إنهما إحداثيا الزاوية العليا اليسرى لمستطيل العلامة، ويُقاسان من الزاوية العليا اليسرى للفيديو.
كيف يُطبق الهامش؟
تُطبق قيمة البكسل غير السالبة نفسها نحو الداخل من الحافتين الأفقية والعمودية للزاوية المختارة.
ماذا يحدث إذا كانت العلامة أكبر من الفيديو؟
يعيد الطلب خطأ إدخال غير صالح لأن الصورة لا يمكن أن تبقى كاملة داخل الإطار.
هل يمكن أن تلامس العلامة الحافة؟
نعم. اجعلوا الهامش صفراً لمحاذاة حد المستطيل مع حافتي الزاوية المحددة.
هل تغير الأداة حجم العلامة أو تضيفها إلى الفيديو؟
لا. تحسب الموضع فقط ولا ترفع الوسائط أو تفك ترميزها أو تغير حجمها أو تصيرها أو تعدلها.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/video/watermark-position \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"video_width":1920,"video_height":1080,"watermark_width":240,"watermark_height":120,"position":"bottom_right"}'const res = await fetch("https://api.kit.forhosting.com/video/watermark-position", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"video_width": 1920,
"video_height": 1080,
"watermark_width": 240,
"watermark_height": 120,
"position": "bottom_right"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/watermark-position",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"video_width": 1920,
"video_height": 1080,
"watermark_width": 240,
"watermark_height": 120,
"position": "bottom_right"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/watermark-position", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"video_width":1920,"video_height":1080,"watermark_width":240,"watermark_height":120,"position":"bottom_right"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"video_width":1920,"video_height":1080,"watermark_width":240,"watermark_height":120,"position":"bottom_right"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/watermark-position", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"video_width": 1920,
"video_height": 1080,
"watermark_width": 240,
"watermark_height": 120,
"position": "bottom_right"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.watermark_position",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تطبيق الإحداثيات في مسارات الإنتاج
تبلغ كلفة كل عملية عبر API مقدار $0.002، بينما ينفذ المتصفح الحساب نفسه محلياً.
أسئلة تقنية
ما كلفة طلب API؟
تبلغ كلفة كل طلب API مقدار $0.002. ويمكن تنفيذ الحساب الثابت نفسه في المتصفح أيضاً.