قص الفيديو بالعلامة الزمنية
تحققوا من القص قبل تنفيذه: في فيديو مدته 01:42:30 يكون المقطع من 00:12:15.5 إلى 00:14:45.75 صالحا ومدته 150.25 ثانية، أي 00:02:30.25. وتكتشف النطاقات المعكوسة أو الخارجة عن الفيديو مبكرا. مجاني في المتصفح.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
تتحقق هذه الحاسبة من نطاق قص الفيديو حسب العلامة الزمنية قبل إرساله إلى محرر أو محول ترميز أو مسار لمعالجة الوسائط. أدخلوا مدة الفيديو الكاملة والنقطة التي ينبغي أن يبدأ عندها المقطع والنقطة التي ينبغي أن ينتهي عندها. تؤكد النتيجة صلاحية النطاق وتعرض مدته الدقيقة بالثواني وبصيغة علامة زمنية. وبذلك يمكنكم اكتشاف النطاق المعكوس أو النهاية التي تتجاوز مدة المصدر من دون رفع الفيديو أو فك ترميزه أو تعديله أو تخزينه.
حددوا المصدر ونطاق القص بعلامات زمنية دقيقة
ابدؤوا بالمدة الإجمالية التي يعرضها مشغل الفيديو أو محلل الوسائط أو قاعدة بيانات الأصول أو برنامج التحرير لديكم. ثم أدخلوا علامتي البداية والنهاية المطلوبتين. يمكن كتابة كل قيمة بالثواني أو بصيغة MM:SS أو HH:MM:SS، مع إمكانية إضافة كسر عشري للثواني.
فالقيمة 00:12:15.5 تعني اثنتي عشرة دقيقة وخمس عشرة ثانية ونصفًا. عند استخدام النقطتين يجب أن يكون كل من جزأي الدقائق والثواني أقل من ستين، أما الساعات فيمكن أن تتجاوز ثلاثًا وعشرين لأن القيمة تمثل زمنًا منقضيًا لا وقتًا من اليوم. يجب ألا تكون أي من القيم الثلاث سالبة.
تعمل هذه الأداة على العلامات الزمنية لا على الإطارات، ولذلك لا تحتاج إلى معدل الإطارات ولا تفترض أن الموضع المطلوب يقع على إطار مفتاحي. استخدموا قيمًا مأخوذة من النسخة نفسها من الأصل ومن القاعدة الزمنية نفسها حتى لا تختلط قياسات غير متوافقة.
افهموا التحقق والمدة المحسوبة
يكون النطاق صالحًا عندما تسبق البداية النهاية أو تساويها، وعندما يقع الطرفان ضمن مدة الفيديو المعلنة. تُرفض النهاية التي تسبق البداية لأنها ستنتج مدة سالبة. كما تُرفض النهاية التي تتجاوز المدة الإجمالية بدلًا من تقليصها تلقائيًا، لأن التصحيح الصامت قد يخفي بيانات وصفية قديمة أو خطأ في الإدخال.
وتُقارن البداية أيضًا بطول المصدر لتظهر رسالة واضحة إذا كان النطاق كله يبدأ خارج الفيديو. يُسمح بتساوي البداية والنهاية، وتكون النتيجة عندئذ صفر ثانية؛ وقد يفيد ذلك في التحقق من علامة، وإن كان برنامج التحرير اللاحق قد يرفض إنتاج مقطع فارغ. تتضمن الاستجابة الناجحة قيمًا رقمية موحدة لمدة المصدر والبداية والنهاية والمقطع، إلى جانب مدة منسقة بصيغة HH:MM:SS.
والحساب ببساطة هو طرح البداية من النهاية، من دون فحص بيانات الوسائط أو تغييرها.
استخدموا النتيجة قبل التحرير أو الأتمتة
ضعوا هذا الفحص مباشرة قبل العملية التي تقص الفيديو. يستطيع نموذج الويب التحقق من العلامات الزمنية عند إرسالها، ويمكن لمسار الدفعات رفض الصفوف غير الصالحة قبل بدء عمليات ترميز مرتفعة التكلفة. احتفظوا بالثواني المعادة للأدوات التي تقبل إزاحات رقمية، واستخدموا المدة المنسقة في السجلات أو شاشات المراجعة أو ملخصات المهام.
ولأن هذه القدرة لا تستقبل الفيديو نفسه، تعتمد الإجابة على المدة الإجمالية التي تقدمونها؛ فاستخرجوا هذه القيمة بأداة موثوقة لتحليل الوسائط عندما تكون الدقة مهمة. لا يراعي الحساب البحث عن الإطارات المفتاحية أو التقريب مع معدل إطارات متغير أو شمول الإطار الأخير أو قواعد المحرر الخاصة. تتولى أداة القص اللاحقة هذه التفاصيل.
أما هذه الأداة فتتحقق فقط من ترتيب النطاق ووقوعه داخل المصدر ووضوح مدته حسابيًا.
حالات الاستخدام
التحقق من نموذج التحرير
اكتشفوا العلامات المعكوسة أو الخارجة عن الحدود قبل إرسال مهمة قص الفيديو.
فحص قائمة مهام دفعية
تحققوا من كل نطاق قبل إنفاق موارد المعالجة على قائمة انتظار الترميز.
حساب مدة جزء من الفيديو
حولوا علامات المراجعة إلى مدة دقيقة للجداول والسجلات والأدوات اللاحقة.
الأسئلة الشائعة
هل تقص هذه القدرة الفيديو أو ترفعه؟
لا. إنها تتحقق من العلامات الزمنية وتحسب المدة فقط، ولا تستقبل بيانات الفيديو ولا تعدلها.
ما صيغ العلامات الزمنية التي يمكن استخدامها؟
استخدموا الثواني أو MM:SS أو HH:MM:SS، ويمكنكم إدخال كسور عشرية من الثانية.
هل تؤخذ الإطارات أو الإطارات المفتاحية في الحسبان؟
لا. تُحسب الأزمنة فقط، وتحدد أداة التحرير كيفية مطابقتها مع الإطارات.
ماذا يحدث إذا كانت النهاية قبل البداية أو بعد نهاية الفيديو؟
يرفض النطاق. فالنطاق المعكوس يعطي مدة سالبة، والنهاية التي تتجاوز الفيديو لا تقصر بصمت، لأن ذلك قد يخفي معلومات قديمة عن الفيديو أو خطأ في الكتابة.
هل يمكن أن تساوي نهاية المقطع المدة الكاملة للفيديو؟
نعم. يكفي أن تقع النقطتان داخل المدة التي أدخلتموها، لذلك يصح الانتهاء عند آخر ثانية تماما. بل يقبل تساوي البداية والنهاية كنطاق مدته صفر ثانية، وهو مفيد لفحص العلامات.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/video/trim-by-timestamp \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"video_duration":"01:42:30","start_timestamp":"00:12:15.5","end_timestamp":"00:14:45.75"}'const res = await fetch("https://api.kit.forhosting.com/video/trim-by-timestamp", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"video_duration": "01:42:30",
"start_timestamp": "00:12:15.5",
"end_timestamp": "00:14:45.75"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/trim-by-timestamp",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"video_duration": "01:42:30",
"start_timestamp": "00:12:15.5",
"end_timestamp": "00:14:45.75"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/trim-by-timestamp", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"video_duration":"01:42:30","start_timestamp":"00:12:15.5","end_timestamp":"00:14:45.75"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"video_duration":"01:42:30","start_timestamp":"00:12:15.5","end_timestamp":"00:14:45.75"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/trim-by-timestamp", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"video_duration": "01:42:30",
"start_timestamp": "00:12:15.5",
"end_timestamp": "00:14:45.75"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.trim_by_timestamp",
"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.
أسئلة تقنية
ماذا يحدث إذا سبقت النهاية البداية؟
يعيد الطلب خطأ invalid_input بدلًا من عرض مدة سالبة.
هل يمكن أن تساوي النهاية مدة الفيديو الكاملة؟
نعم. تقع نقطة النهاية المطابقة تمامًا للمدة المعلنة ضمن النطاق الصالح.
ما تكلفة طلب API؟
تبلغ تكلفة كل طلب API مقدار $0.002. ويمكن تشغيل نسخة المتصفح محليًا.