Video Kesme
Tutamaçları istediğiniz bölüme sürükleyin ve kaydedin — görüntü olduğu gibi kopyalanır, hiçbir şey kaybolmaz. Dosyanız makinenizden çıkmaz.
Dosyayı sizin tarayıcınız okur ve yeniden kodlar. Hiçbir istek onu bir yere göndermez — bu sayfanın yükleme yapacağı bir sunucu yok.
Sorular
Kesmek kaliteyi düşürür mü?
Varsayılan kipte hayır. «Aynı kalite — yeniden kodlama yok» görüntüyü olduğu gibi geçirir; nesil kaybı olmaz ve birkaç kat daha hızlı biter: aynı üç saniye için 0,20 s'ye karşı 0,60 s. Bedeli boyuttur: video, anahtar kareyle başlayan gruplar hâlinde sıkıştırılır, dolayısıyla giriş noktanız grubun ortasına düşerse dosya, kareleri bir önceki anahtar kareye kadar taşır. Oynatma yine tam işaretlediğiniz yerden başlar, ama dosya aynı aralığın yeniden kodlanmışından büyük olabilir.
Ne zaman yeniden kodlamalı?
Mümkün olan en küçük dosyayı ya da farklı bir biçimi istediğinizde. Yeniden kodlarken yalnızca seçtiğiniz kareler yazılır, bu yüzden grup ortasındaki bir kesme belirgin biçimde hafifler: testlerde aynı üç saniye için 6,7 MB'a karşı 4,1 MB. Bedeli bir nesil sıkıştırmadır ve burada kullanılan kalitede fark edilmez.
Belirli bir boyuta göre kesebilir mi?
Evet — «bir boyuta sığdır» seçin ve bir sınır belirleyin, örneğin Discord için 10 MB ya da e-posta için 25 MB. Gereken bit hızı seçiminizin uzunluğundan çıkar, dolayısıyla daha kısa bir seçim aynı sınıra daha çok kalite sığdırır. İlk geçiş şaşarsa düzeltilip bir kez yinelenir.
Ses korunuyor mu?
Evet, eşzamanlı ve aynı aralığa kesilmiş olarak. «Sesi kaldır» kutusuyla bilerek atabilirsiniz — klip sesin istenmediği bir yere gidiyorsa işe yarar ve dosyayı da küçültür.
Hangi dosyalar çalışır?
H.264'lü MP4 ve MOV ile WebM — tarayıcınızın hem çözebildiği hem kodlayabildiği her şey. ProRes ya da ham gibi kamera biçimlerini tarayıcı genellikle hiç açamaz; önce bir vekil dosya oluşturun.
Diğer araçlar
Kendi projenize ekleyin
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(); Add "trim a video" to my project. It must run in the browser — no upload, no server.
Requirements:
- Use the "mediabunny" npm package (WebCodecs). Not ffmpeg.wasm: ~30 MB and needs SharedArrayBuffer,
which requires COOP/COEP headers that break third-party scripts.
- Offer two modes. Default: copy the video through untouched — pass NO video options to
Conversion.init and mediabunny will not re-encode. Measured 0.20s against 0.60s for a re-encode of
the same three seconds.
- Explain the trade honestly: video is stored in groups starting at a keyframe, so a copied cut whose
in-point falls mid-group carries the frames back to that keyframe. Playback still starts exactly
where the user set it, but the file is larger — 6.7 MB copied against 4.1 MB re-encoded in testing.
- The re-encode mode needs forceTranscode: true. Without it mediabunny correctly notices the
transcode is unnecessary and copies anyway, which makes the two modes identical.
- Give the user handles on a timeline with a live preview, not two number fields. Accept typed times
in any of 12.5, 1:04 or 1:04.5.
- Keep audio in sync and trimmed to the same range, with an option to drop it.
Reference implementation: https://life2film.com/tools/video-trimmer/
The engine is documented for agents, and every tool page is available as
markdown by adding .md to its address.