← كل الأدوات

قص الفيديو

اسحب المقبضين إلى الجزء الذي تريده واحفظه — بصورة منسوخة كما هي، دون أي فقد. ملفك لا يغادر جهازك أبدًا.

متصفحك هو الذي يقرأ الملف ويعيد ترميزه. لا يُرسَل في أي طلب إلى أي مكان — فهذه الصفحة لا تملك خادمًا يُرفع إليه.

أسئلة

هل يفقد القص شيئًا من الجودة؟

لا في الوضع الافتراضي. «الجودة نفسها — بلا إعادة ترميز» يمرّر الصورة كما هي، فلا فقد أجيال، وينتهي أسرع بمرات: 0.20 ثانية مقابل 0.60 لإعادة ترميز الثلاث ثوانٍ نفسها. الثمن هو الحجم: يُضغط الفيديو في مجموعات تبدأ بإطار مفتاحي، فإن وقعت نقطة البداية في منتصف مجموعة حمل الملف الإطارات رجوعًا حتى المفتاحي السابق. يبدأ التشغيل عند النقطة التي حدّدتها بالضبط، لكن الملف قد يكون أكبر من إعادة ترميز المدى نفسه.

متى يُستحسن إعادة الترميز؟

حين تريد أصغر ملف ممكن، أو صيغة مختلفة. عند إعادة الترميز تُكتب الإطارات المحدّدة وحدها، فيخرج القص في منتصف المجموعة أخفّ بوضوح: في الاختبار 4.1 مقابل 6.7 ميجابايت للثلاث ثوانٍ نفسها. الثمن جيل واحد من الضغط، وهو غير ملحوظ عند الجودة المستخدمة هنا.

هل يمكن القص ليطابق حجمًا معينًا؟

نعم — اختر «اضبط على حجم» وحدّد سقفًا، مثل 10 ميجابايت لديسكورد أو 25 للبريد. معدّل البت المطلوب ينبع من طول تحديدك، فالتحديد الأقصر يسع جودة أعلى ضمن السقف نفسه. وإن أخطأت التمريرة الأولى، يجري التصحيح وإعادة واحدة.

هل يُحفظ الصوت؟

نعم، متزامنًا ومقصوصًا على المدى نفسه. ويمكنك إسقاطه عمدًا بمربع «إزالة الصوت» — وهو مفيد حين يذهب المقطع إلى مكان لا يُراد فيه الصوت، ويصغّر الملف أيضًا.

ما الملفات التي تعمل؟

MP4 وMOV بترميز H.264، وWebM — كل ما يستطيع متصفحك فكّه وترميزه معًا. أما صيغ الكاميرا الأصلية مثل ProRes أو الخام فلا يفتحها المتصفح عادةً؛ حوّلها إلى ملف وسيط أولًا.

الأدوات الأخرى

أضف هذا إلى مشروعك

Trimming video without re-encoding it — the same way this page does it, on the user's machine, with no server. Take the code, or hand the prompt to a coding agent.

import { Input, Output, Conversion, BlobSource, BufferTarget, Mp4OutputFormat, ALL_FORMATS } from 'mediabunny';

const input = new Input({ source: new BlobSource(file), formats: ALL_FORMATS });
const output = new Output({ format: new Mp4OutputFormat(), target: new BufferTarget() });

const conversion = await Conversion.init({
  input, output,
  trim: { start: 20, end: 35 },
  // Omit `video` entirely to copy the track through; add
  // { forceTranscode: true } to re-encode for a smaller file.
});
await conversion.execute();

The engine is documented for agents, and every tool page is available as markdown by adding .md to its address.