1import{r as n,j as e,H as C,S as w}from"./index-DJoO3pV3.js";import{S as M}from"./StaticPageLayout-CtqoMvWO.js";import{B as S}from"./BaseFileTool-C5AWeLHU.js";import{b as k,F as V,a as A,c as j,d as P}from"./FreeToolSignupModal-DxTmZOVj.js";import{F as T}from"./FreeToolSeoBlock-DueVkJNI.js";import{u as H}from"./useFreeToolLimit-Qo6xsZnT.js";import{c as B}from"./freeToolConverters-g1VVq2el.js";import"./vendor-Y7T1HomI.js";import"./supabase-BwgEV_BN.js";import"./jszip.min-CUneog-9.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";import"./upload-CmlmTjF3.js";import"./file-video-CUESOeKc.js";import"./image-BncQ87ZM.js";import"./download-B2-iIbQG.js";import"./arrow-down-to-line-C_Dog5NG.js";import"./house-DBWf_T-4.js";const u="Free Video Compressor - MP4 / MOV / WebM Online | CyberStock",p="Compress MP4, MOV, WebM, and MKV in your browser with FFmpeg. H.264 + AAC output, three quality presets, files never uploaded.",i="https://cyberstock.lol/free-video-compressor",W="free video compressor, compress mp4 online, compress mov, ffmpeg in browser, h264 video compressor, no upload video compressor, batch video compress",b=[{q:"Is the video compressor really free?",a:"Yes. Compression runs locally with FFmpeg compiled to WebAssembly. Up to 3 videos per session in the free tool."},{q:"Are my videos uploaded?",a:"No. Videos never leave your browser. Encoding happens on your CPU using FFmpeg.wasm."},{q:"Which formats work?",a:"Input: MP4, MOV, WebM, MKV, AVI. Output: H.264 / AAC in MP4 (the most compatible format for web, social, and editors)."},{q:"How long does it take?",a:"Single-threaded FFmpeg.wasm runs roughly 0.3-0.7x realtime on a modern laptop. A 30-second 1080p clip typically finishes in 1-2 minutes."},{q:"What size limit?",a:"Up to 500 MB per file in the free tool. Logged-in users on paid plans can run larger production batches with server-side encoding."},{q:"Which preset should I pick?",a:"High = best fidelity. Balanced = recommended for most uploads. Small = aggressive size reduction for chat/email."}];function _(){const[d,h]=n.useState({preset:"balanced"}),[f,t]=n.useState(!1),{status:s,consume:m,markExhausted:c,bypass:r}=H({toolId:"video-compressor",defaultLimit:3}),g=n.useCallback(async()=>r?!0:s.allowed?(await m()).allowed?!0:(c(),t(!0),!1):(t(!0),!1),[r,s.allowed,m,c]),y=k({name:"Free Video Compressor",description:p,url:i,featureList:["Browser FFmpeg.wasm encoding","H.264 + AAC output","Three quality presets","Files never uploaded"],faqs:b,breadcrumb:[{name:"Home",url:"https://cyberstock.lol/"},{name:"Free Tools",url:"https://cyberstock.lol/free-tools"},{name:"Video Compressor",url:i}]}),v=e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-xs font-black uppercase text-slate-500",children:"Quality preset"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:[["high","High (CRF 22)"],["balanced","Balanced (CRF 26)"],["small","Smallest (CRF 30)"]].map(([o,a])=>e.jsx("button",{type:"button",onClick:l=>{l.stopPropagation(),h({preset:o})},className:`rounded-md border px-3 py-1 text-[11px] font-black uppercase transition ${d.preset===o?"border-violet-500 bg-violet-50 text-violet-700":"border-slate-200 bg-white text-slate-700 hover:border-violet-200"}`,children:a},o))})]});return e.jsxs(M,{containerClassName:"bg-[#F5F5F7] text-slate-900",theme:"light",relatedToolsPath:"/free-video-compressor",children:[e.jsxs(C,{children:[e.jsx("title",{children:u}),e.jsx("meta",{name:"description",content:p}),e.jsx("meta",{name:"keywords",content:W}),e.jsx("link",{rel:"canonical",href:i}),e.jsx("meta",{property:"og:title",content:u}),e.jsx("meta",{property:"og:description",content:p}),e.jsx("meta",{property:"og:url",content:i}),e.jsx("meta",{property:"og:type",content:"website"})]}),e.jsx(w,{data:y,id:"schema-free-video-compressor"}),e.jsx(V,{breadcrumb:[{label:"Free Tools",href:"/free-tools"},{label:"Video Compressor"}],title:"Free Video Compressor",subtitle:"Compress MP4, MOV, WebM, and MKV in your browser with FFmpeg.wasm. H.264 + AAC output, three smart presets, files never uploaded.",checklist:["FFmpeg.wasm in browser","H.264 + AAC MP4","Files never uploaded"],primaryCta:{label:"Compress video free",href:"#free-tool"},secondaryCta:{label:"Get 20 free credits",href:"/auth?mode=signup"},toolSlot:e.jsx(S,{testId:"video-compressor-tool",accept:{"video/*":[".mp4",".mov",".webm",".mkv",".avi"]},isFileEligible:o=>/\.(mp4|mov|webm|mkv|avi)$/i.test(o.name)||o.type.startsWith("video/"),maxFiles:3,maxFileSize:500*1024*1024,fileKind:"video",options:d,optionsPanel:v,primaryActionLabel:"Compress",toolHeading:"Video compressor",toolSubheading:"Drop videos to compress. Encoding happens on your CPU - the first run downloads ~30 MB FFmpeg.wasm.",emptyTitle:"Drop videos here",emptySubtitle:"Up to 3 videos · MP4 / MOV / WebM / MKV / AVI.",outputZipName:"cyberstock-compressed-videos.zip",autoStart:!1,beforeProcess:g,remainingUses:r?null:s.remaining,blocked:!r&&!s.allowed,onBlockedClick:()=>t(!0),convert:async(o,a,l)=>({blob:await B(o,a,(F,x)=>l.onProgress(F,x)),outputExtension:"mp4",outputMimeType:"video/mp4"})})}),e.jsx(T,{tldr:"A free video compressor shrinks MP4, MOV, WebM, and MKV file size by re-encoding to efficie
1nt H.264 + AAC, so clips upload faster and play everywhere. This tool runs FFmpeg compiled to WebAssembly directly in your browser - videos are never uploaded - with three quality presets (CRF 22 / 26 / 30) to balance size against fidelity. Compressed clips then move into CyberStock for buyer-focused titles, keywords, and agency CSV exports.",facts:[{stat:"H.264 + AAC",text:"Outputs the most compatible MP4 codec pair for web, social, and every editor."},{stat:"0 uploads",text:"FFmpeg.wasm encodes on your own CPU - videos never leave your browser."},{stat:"3 presets",text:"High (CRF 22), Balanced (CRF 26), or Smallest (CRF 30) to trade size for quality."},{stat:"Up to 500 MB",text:"Compress files up to 500 MB each free; larger production batches on paid plans."}]}),e.jsx(A,{heading:"Need batch encoding for 100+ videos?",subheading:"Paid CyberStock plans include server-side video encoding for production batches, plus stock-grade titles, keywords, and CSV exports.",primaryCta:{label:"Start free with 20 credits",href:"/auth?mode=signup"},secondaryCta:{label:"See plans",href:"/pricing"}}),e.jsx(j,{subheading:"Video compressor FAQ",items:b}),e.jsx(P,{open:f,onOpenChange:t,toolName:"Video Compressor"})]})}export{_ as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.