Potong Video
Seret pegangan ke bagian yang Anda mau lalu simpan — gambarnya disalin utuh, tidak ada yang hilang. Berkas Anda tidak pernah meninggalkan mesin Anda.
Peramban Anda yang membaca dan mengodekan ulang berkas. Tidak ada permintaan yang mengirimnya ke mana pun — halaman ini tidak punya server tujuan unggah.
Pertanyaan
Apakah memotong menurunkan kualitas?
Pada mode bawaan, tidak. «Kualitas sama — tanpa pengodean ulang» melewatkan gambar apa adanya, jadi tidak ada kehilangan generasi dan selesainya beberapa kali lebih cepat: 0,20 detik berbanding 0,60 detik untuk tiga detik yang sama. Harganya adalah ukuran: video dikompres dalam kelompok yang dimulai dari bingkai kunci, sehingga bila titik masuk Anda jatuh di tengah kelompok, berkas ikut membawa bingkai sampai ke kunci sebelumnya. Pemutaran tetap mulai persis di tempat yang Anda tandai, tetapi berkasnya bisa lebih besar daripada hasil pengodean ulang untuk rentang yang sama.
Kapan sebaiknya mengode ulang?
Ketika Anda ingin berkas sekecil mungkin, atau format yang berbeda. Saat mengode ulang, hanya bingkai yang Anda pilih yang ditulis, jadi potongan di tengah kelompok keluar jauh lebih ringan: dalam pengujian, 4,1 MB berbanding 6,7 MB untuk tiga detik yang sama. Harganya satu generasi kompresi, yang pada kualitas di sini tidak terlihat.
Bisakah memotong sesuai ukuran tertentu?
Bisa — pilih «pas ke sebuah ukuran» lalu tentukan batas, misalnya 10 MB untuk Discord atau 25 MB untuk email. Bitrate yang dibutuhkan mengikuti panjang pilihan Anda, jadi pilihan yang lebih pendek memuat lebih banyak kualitas dalam batas yang sama. Bila lintasan pertama meleset, ada koreksi dan satu pengulangan.
Apakah audionya disimpan?
Ya, selaras dan dipotong pada rentang yang sama. Anda bisa membuangnya dengan sengaja lewat kotak «hapus audio» — berguna ketika klip akan dibawa ke tempat yang tidak memerlukan suara, dan berkasnya pun jadi lebih kecil.
Berkas apa saja yang bisa?
MP4 dan MOV dengan H.264, serta WebM — apa pun yang bisa peramban Anda dekode sekaligus kodekan. Format asli kamera seperti ProRes atau raw biasanya tidak bisa dibuka peramban sama sekali; buat berkas proksi lebih dulu.
Alat lainnya
Pasang ini di proyek Anda sendiri
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.