PageSourceSearch

https://www.screensnap.pro/_next/static/chunks/pages/tools/screen-recording-timer-a3f1227169f7d2e1.js

js screensnap.pro collected 2026-10-05 05:25:20 UTC 50,876 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1481],{29851:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/tools/screen-recording-timer",function(){return r(7557)}])},58682:function(e,t,r){"use strict";r.d(t,{Z:function(){return FaqSection}});var a=r(74817),n=r(67833);function FaqSection(e){let{items:t,title:r}=e,{t:s}=(0,n.Z)("common"),i=null!=r?r:s("faq.heading");return(0,a.jsxs)("section",{className:"mb-12",children:[(0,a.jsx)("h2",{className:"text-2xl font-bold text-fg mb-6",children:i}),(0,a.jsx)("div",{className:"space-y-4",children:t.map((e,t)=>(0,a.jsxs)("details",{open:0===t,className:"group bg-fg/[0.03] border border-fg/[0.08] rounded-xl",children:[(0,a.jsxs)("summary",{className:"flex items-center justify-between p-4 cursor-pointer text-fg font-medium text-sm",children:[e.question,(0,a.jsx)("span",{className:"text-fg-500 group-open:rotate-45 transition-transform text-lg",children:"+"})]}),(0,a.jsx)("div",{className:"px-4 pb-4 text-fg-400 text-sm",children:e.answer})]},t))})]})}},78385:function(e,t,r){"use strict";r.d(t,{i:function(){return breadcrumbSchema}});let a="https://www.screensnap.pro";function breadcrumbSchema(e,t,r){let n=r&&"en"!==r?"/".concat(r):"",s=n?"".concat(a).concat(n):a;return{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:s},{"@type":"ListItem",position:2,name:"Tools",item:"".concat(a).concat(n,"/tools")},{"@type":"ListItem",position:3,name:e,item:"".concat(a).concat(n,"/tools/").concat(t)}]}}},7557:function(e,t,r){"use strict";r.r(t),r.d(t,{__N_SSG:function(){return A},default:function(){return Page}});var a=r(74817),n=r(36497),s=r(54389),i=r.n(s),o=r(37518),l=r.n(o),c=r(6351),d=r(30415),m=r(50518),u=r(26048),p=r(84901),x=r(58682),g=r(78385),f=r(71248),h=r(42422),b=r(41553),w=r(43798);let v=f.forwardRef(function({title:e,titleId:t,...r},a){return f.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:a,"aria-labelledby":t},r),e?f.createElement("title",{id:t},e):null,f.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 3v1.5M3 21v-6m0 0 2.77-.693a9 9 0 0 1 6.208.682l.108.054a9 9 0 0 0 6.086.71l3.114-.732a48.524 48.524 0 0 1-.005-10.499l-3.11.732a9 9 0 0 1-6.085-.711l-.108-.054a9 9 0 0 0-6.208-.682L3 4.5M3 15V4.5"}))});var j=r(34632);let y=f.forwardRef(function({title:e,titleId:t,...r},a){return f.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:a,"aria-labelledby":t},r),e?f.createElement("title",{id:t},e):null,f.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.857 17.082a23.848 23.848 0 0 0 5.454-1.31A8.967 8.967 0 0 1 18 9.75V9A6 6 0 0 0 6 9v.75a8.967 8.967 0 0 1-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 0 1-5.714 0m5.714 0a3 3 0 1 1-5.714 0M3.124 7.5A8.969 8.969 0 0 1 5.292 3m13.416 0a8.969 8.969 0 0 1 2.168 4.5"}))}),N=[5,10,30,60,300,600,1800];function formatTime(e){let t=Math.max(0,e),r=String(Math.floor(t/36e5)).padStart(2,"0"),a=String(Math.floor(t%36e5/6e4)).padStart(2,"0"),n=String(Math.floor(t%6e4/1e3)).padStart(2,"0"),s=String(Math.floor(t%1e3/10)).padStart(2,"0");return"".concat(r,":").concat(a,":").concat(n,".").concat(s)}function playChime(e){let t=e.currentTime;[880,1108.73,1318.51].forEach((r,a)=>{let n=e.createOscillator(),s=e.createGain();n.type="sine",n.frequency.value=r;let i=t+.12*a;s.gain.setValueAtTime(0,i),s.gain.linearRampToValueAtTime(.22,i+.02),s.gain.exponentialRampToValueAtTime(1e-4,i+.45),n.connect(s),s.connect(e.destination),n.start(i),n.stop(i+.5)})}function ScreenRecordingTimerWorkspace(e){let{strings:t}=e,[r,n]=(0,f.useState)("stopwatch"),[s,i]=(0,f.useState)(!1),[o,l]=(0,f.useState)(0),[c,d]=(0,f.useState)(3e5),[m,u]=(0,f.useState)("5"),[p,x]=(0,f.useState)([]),[g,k]=(0,f.useState)(!0),[S,T]=(0,f.useState)(!1),A=(0,f.useRef)(0),C=(0,f.useRef)(0),L=(0,f.useRef)(null),_=(0,f.useRef)(null),z=(0,f.useRef)(0),M=(0,f.useRef)(!1);(0,f.useEffect)(()=>
1{if(!s)return;let tick=()=>{let e=performance.now(),a=e-A.current;if("stopwatch"===r)l(C.current+a);else{let e=Math.max(0,C.current-a);if(l(e),e<=0&&!M.current){M.current=!0,i(!1),g&&_.current&&playChime(_.current),S&&"Notification"in window&&"granted"===Notification.permission&&new Notification(t.notificationTitle,{body:t.notificationBody});return}}L.current=requestAnimationFrame(tick)};return L.current=requestAnimationFrame(tick),()=>{null!==L.current&&cancelAnimationFrame(L.current)}},[s,r,g,S,t.notificationTitle,t.notificationBody]);let B=(0,f.useCallback)(()=>{if(!_.current){var e;let t=window,r=null!==(e=t.AudioContext)&&void 0!==e?e:t.webkitAudioContext;r&&(_.current=new r)}_.current&&"suspended"===_.current.state&&_.current.resume()},[]),E=(0,f.useCallback)(()=>{B(),"countdown"===r?(M.current=!1,o<=0?(C.current=c,l(c)):C.current=o):C.current=o,A.current=performance.now(),i(!0)},[B,r,o,c]),R=(0,f.useCallback)(()=>{i(!1)},[]),H=(0,f.useCallback)(()=>{i(!1),x([]),z.current=0,M.current=!1,"countdown"===r?(l(c),C.current=c):(l(0),C.current=0)},[r,c]),I=(0,f.useCallback)(()=>{if("stopwatch"!==r||!s)return;let e=o-z.current;z.current=o,x(t=>[{index:t.length+1,total:o,split:e},...t])},[r,s,o]),O=(0,f.useCallback)(e=>{s||(n(e),x([]),z.current=0,M.current=!1,"countdown"===e?(l(c),C.current=c):(l(0),C.current=0))},[s,c]),Z=(0,f.useCallback)(e=>{if(s)return;let t=1e3*e;d(t),l(t),C.current=t,u((e/60).toString()),M.current=!1},[s]),F=(0,f.useCallback)(()=>{if(s)return;let e=parseFloat(m)||0,t=Math.max(0,Math.round(6e4*e));d(t),l(t),C.current=t,M.current=!1},[m,s]),q=(0,f.useCallback)(async()=>{if(!("Notification"in window))return;let e=await Notification.requestPermission();T("granted"===e)},[]),D=(0,f.useCallback)(()=>{B(),_.current&&playChime(_.current)},[B]),P=formatTime(o);return(0,a.jsxs)("div",{className:"grid lg:grid-cols-3 gap-8",children:[(0,a.jsxs)("div",{className:"lg:col-span-2 space-y-6",children:[(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.08] to-fg/[0.03] backdrop-blur-2xl rounded-2xl border border-fg/[0.18] p-6",children:[(0,a.jsxs)("div",{className:"flex gap-2 mb-6 justify-center",children:[(0,a.jsx)("button",{onClick:()=>O("stopwatch"),disabled:s,className:"px-4 py-2 rounded-lg text-sm font-medium transition-all disabled:opacity-40 disabled:cursor-not-allowed ".concat("stopwatch"===r?"bg-purple-600 text-white":"bg-fg/5 text-fg-400 hover:bg-fg/10"),children:t.modeStopwatch}),(0,a.jsx)("button",{onClick:()=>O("countdown"),disabled:s,className:"px-4 py-2 rounded-lg text-sm font-medium transition-all disabled:opacity-40 disabled:cursor-not-allowed ".concat("countdown"===r?"bg-purple-600 text-white":"bg-fg/5 text-fg-400 hover:bg-fg/10"),children:t.modeCountdown})]}),(0,a.jsx)("div",{className:"bg-canvas/40 rounded-2xl border border-fg/[0.1] py-12 px-4 mb-6 flex items-center justify-center",children:(0,a.jsx)("p",{className:"font-mono font-bold tabular-nums tracking-tight text-5xl sm:text-7xl lg:text-8xl text-center ".concat("countdown"===r&&o<1e4&&o>0&&s?"text-red-400":0===o&&"countdown"===r&&M.current?"text-green-400":"text-fg"),children:P})}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-3 mb-2",children:[s?(0,a.jsxs)("button",{onClick:R,className:"px-6 py-3 bg-fg/10 text-fg font-medium rounded-xl hover:bg-fg/20 transition-all flex items-center gap-2",children:[(0,a.jsx)(b.Z,{className:"w-5 h-5"}),t.pause]}):(0,a.jsxs)("button",{onClick:E,className:"px-6 py-3 bg-gradient-to-br from-purple-600 to-purple-700 text-white font-medium rounded-xl hover:from-purple-500 hover:to-purple-600 transition-all flex items-center gap-2 shadow-lg shadow-purple-500/30",children:[(0,a.jsx)(h.Z,{className:"w-5 h-5"}),t.start]}),(0,a.jsxs)("button",{onClick:H,className:"px-6 py-3 bg-fg/5 text-fg-300 font-medium rounded-xl hover:bg-fg/10 transition-all flex items-center gap-2",children:[(0,a.jsx)(w.Z,{className:"w-5 h-5"}),t.reset]}),"stopwatch"===r&&(0,a.jsxs)("button",{onClick:I,disabled:!s,className:"px-6 py-3 bg-cyan-600/30 text-cyan-200 font-medium rounded-xl hover:bg-cyan-600/40 transition-all flex items-center gap-2 disabled:opacity-40 disabled:cursor-not-allowed",children:[(0,a.jsx)(v,{className:"w-5 h-5"}),t.lap]})]})]}),"countdown"===r&&(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.08] to-fg/[0.03] backdrop-blur-2xl rounded-2xl border border-fg/[0.18] p-6",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold text-fg mb-4",children:t.presetsTitle}),(0,a.jsx)("div",{className:"grid grid-cols-3 sm:grid-cols-4 gap-2 mb-4",children:N.map((e,r)=>(0,a.jsx)("button",{onClick:()=>Z(e),disabled:s,className:"px-3 py-2 rounded-lg text-sm transition-all disabled:opacity-40 disabled:cursor-not-allowed ".concat(c===1e3*e?"bg-purple-600 text-white":"bg-fg/5 text-fg-300 hover:bg-fg/10"),children:t.presetLabels[r]},e))}),(0,a.jsxs)("div",{className:"flex items-end gap-2",children:[(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("label",{className:"block text-sm text-fg-400 mb-2",children:t.customDurationLabel}),(0,a.jsx)("input",{type:"number",step:"0.5",min:"0",value:m,onChange:e=>u(e.target.value),disabled:s,className:"w-full bg-canvas/30 border border-fg/20 rounded-xl px-4 py-3 text-fg font-mono focus:outline-none focus:border-purple-500 transition-colors disabled:opacity-40"})]}),(0,a.jsx)("button",{onClick:F,disabled:s,className:"px-4 py-3 bg-fg/10 text-fg rounded-xl hover:bg-fg/20 transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:t.set})]})]}),"stopwatch"===r&&p.length>0&&(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.08] to-fg/[0.03] backdrop-blur-2xl rounded-2xl border border-fg/[0.18] p-6",children:[(0,a.jsxs)("h3",{className:"text-lg font-semibold text-fg mb-4 flex items-center gap-2",children:[(0,a.jsx)(v,{className:"w-5 h-5 text-cyan-400"}),t.lapsTitle]}),(0,a.jsx)("div",{className:"max-h-72 overflow-y-auto",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"text-fg-400 text-xs uppercase",children:[(0,a.jsx)("th",{className:"text-left pb-2",children:t.lapHashHeader}),(0,a.jsx)("th",{className:"text-right pb-2",children:t.lapSplitHeader}),(0,a.jsx)("th",{className:"text-right pb-2",children:t.lapTotalHeader})]})}),(0,a.jsx)("tbody",{children:p.map(e=>(0,a.jsxs)("tr",{className:"border-t border-fg/5",children:[(0,a.jsxs)("td",{className:"py-2 text-fg-300",children:[t.lapRowLabel," ",e.index]}),(0,a.jsx)("td",{className:"py-2 text-right font-mono text-cyan-300",children:formatTime(e.split)}),(0,a.jsx)("td",{className:"py-2 text-right font-mono text-fg",children:formatTime(e.total)})]},e.index))})]})})]})]}),(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.08] to-fg/[0.03] backdrop-blur-2xl rounded-2xl border border-fg/[0.18] p-6",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold text-fg mb-4",children:t.alertsTitle}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("label",{className:"flex items-center justify-between cursor-pointer",children:[(0,a.jsxs)("span",{className:"text-sm text-fg-300 flex items-center gap-2",children:[(0,a.jsx)(j.Z,{className:"w-4 h-4 text-purple-400"}),t.soundChimeLabel]}),(0,a.jsx)("input",{type:"checkbox",checked:g,onChange:e=>k(e.target.checked),className:"accent-purple-500"})]}),(0,a.jsx)("button",{onClick:D,className:"text-xs text-purple-300 hover:text-purple-200 transition-colors",children:t.testSound}),(0,a.jsxs)("label",{className:"flex items-center justify-between cursor-pointer pt-2 border-t border-fg/5",children:[(0,a.jsxs)("span",{className:"text-sm text-fg-300 flex items-center gap-2",children:[(0,a.jsx)(y,{className:"w-4 h-4 text-cyan-400"}),t.notificationLabel]}),(0,a.jsx)("input",{type:"checkbox",checked:S,onChange:e=>{e.target.checked?q():T(!1)},className:"accent-purple-500"})]})]})]}),(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.08] to-fg/[0.03] backdrop-blur-2xl rounded-2xl border border-fg/[0.18] p-6",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold text-fg mb-4",children:t.tipsTitle}),(0,a.jsx)("ul",{className:"space-y-3 text-sm text-fg-400",children:t.tipsItems.map((e,t)=>(0,a.jsxs)("li",{className:"flex gap-3",children:[(0,a.jsx)("span",{className:"text-purple-400 font-semibold",children:"\xb7"}),e]},t))})]}),(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.08] to-fg/[0.03] backdrop-blur-2xl rounded-2xl border border-fg/[0.18] p-6",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold text-fg mb-4",children:t.formatTitle}),(0,a.jsx)("p",{className:"text-sm text-fg-400 leading-relaxed font-mono",children:t.formatValue}),(0,a.jsxs)("p",{className:"text-xs text-fg-500 leading-relaxed mt-3",children:[t.formatDescBeforeCo
1de,(0,a.jsx)("code",{className:"text-purple-300 mx-1",children:"requestAnimationFrame"}),t.formatDescAfterCode]})]})]})]})}let k={modeStopwatch:"Stopwatch",modeCountdown:"Countdown",start:"Start",pause:"Pause",reset:"Reset",lap:"Lap",presetsTitle:"Countdown presets",presetLabels:["5s","10s","30s","1 min","5 min","10 min","30 min"],customDurationLabel:"Custom duration (minutes)",set:"Set",lapsTitle:"Laps",lapHashHeader:"#",lapSplitHeader:"Split",lapTotalHeader:"Total",lapRowLabel:"Lap",alertsTitle:"Alerts",soundChimeLabel:"Sound chime",testSound:"Test sound →",notificationLabel:"Browser notification",notificationTitle:"Timer finished",notificationBody:"Countdown complete.",tipsTitle:"Tips",tipsItems:["Position this tab inside your screen-recording area to show the timer in your video","Use Lap to mark chapter boundaries while recording — find them later in editing","3-second countdown is great for psyching yourself up before clicking record","Long-form tutorials: aim for 5-10 min target via countdown to stay on script"],formatTitle:"Format",formatValue:"HH:MM:SS.cs",formatDescBeforeCode:"Hours, minutes, seconds, and centiseconds (hundredths of a second). Driven by",formatDescAfterCode:" for smooth, drift-free updates."};function ScreenRecordingTimer(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(i(),{children:[(0,a.jsx)("title",{children:"Screen Recording Timer - Free Stopwatch + Countdown | ScreenSnap Pro"}),(0,a.jsx)("meta",{name:"description",content:"Free browser-based timer for screen recording sessions. Stopwatch with lap markers, countdown with chime, and big readable display. No installs, no tracking."}),(0,a.jsx)("meta",{property:"og:title",content:"Screen Recording Timer - Free Stopwatch + Countdown | ScreenSnap Pro"}),(0,a.jsx)("meta",{property:"og:description",content:"Stopwatch + countdown timer optimized for screencasts. Lap markers, chime, browser notifications."}),(0,a.jsx)("meta",{property:"og:type",content:"website"}),(0,a.jsx)("meta",{property:"og:image",content:"https://www.screensnap.pro/images/og-image.png"}),(0,a.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,a.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,a.jsx)("link",{rel:"canonical",href:"https://www.screensnap.pro/tools/screen-recording-timer"}),(0,a.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"SoftwareApplication",name:"Screen Recording Timer",description:"Free browser-based stopwatch and countdown timer for screen recording sessions.",url:"https://www.screensnap.pro/tools/screen-recording-timer",applicationCategory:"UtilityApplication",operatingSystem:"Any",isAccessibleForFree:!0,offers:{"@type":"Offer",price:"0",priceCurrency:"USD"}})}}),(0,a.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"Why use a separate timer for screen recordings?",acceptedAnswer:{"@type":"Answer",text:"A standalone, visible timer helps you pace your script, hit demo length targets, and mark sections without fiddling with OS clocks. Lap markers make it easy to find chapter points later in editing."}},{"@type":"Question",name:"Does this timer keep running if I switch tabs?",acceptedAnswer:{"@type":"Answer",text:"Yes — but browsers may throttle background tab timing for power savings. The timer uses requestAnimationFrame, so when the tab is hidden it pauses repainting but keeps accurate underlying time on resume."}},{"@type":"Question",name:"Can I get a sound or notification at the end?",acceptedAnswer:{"@type":"Answer",text:"Yes. The countdown mode plays a built-in chime (Web Audio API, no external file). You can also enable browser notifications for visual alerts."}},{"@type":"Question",name:"How accurate is the timer?",acceptedAnswer:{"@type":"Answer",text:"We use performance.now() for sub-millisecond precision and avoid setInterval drift. Display is updated every frame (typically 60 Hz) but the underlying time is accurate to fractions of a millisecond."}},{"@type":"Question",name:"Is anything sent to a server?",acceptedA
1nswer:{"@type":"Answer",text:"No. Everything runs in your browser — no network calls, no tracking, nothing uploaded. The timer works offline once the page is loaded."}},{"@type":"Question",name:"Can I use this with OBS, Loom, or QuickTime?",acceptedAnswer:{"@type":"Answer",text:"Yes. Open this page in a browser window, position it inside your recording area, and capture as normal. The timer overlay becomes part of your video. For OBS, you can also capture just this tab as a separate source."}}]})}}),(0,a.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify((0,g.i)("Screen Recording Timer","screen-recording-timer"))}})]}),(0,a.jsxs)("div",{className:"relative bg-gradient-to-br from-canvas-950 via-canvas-900 to-canvas min-h-screen overflow-hidden",children:[(0,a.jsxs)("div",{className:"absolute inset-0 overflow-hidden",children:[(0,a.jsx)("div",{className:"absolute -top-40 -right-40 w-[500px] h-[500px] bg-gradient-to-br from-fg/[0.08] to-fg/[0.04] rounded-full filter blur-[100px] animate-blob"}),(0,a.jsx)("div",{className:"absolute -bottom-40 -left-40 w-[600px] h-[600px] bg-gradient-to-br from-fg/[0.06] to-fg/[0.03] rounded-full filter blur-[120px] animate-blob animation-delay-2000"})]}),(0,a.jsx)(c.Z,{}),(0,a.jsx)("div",{className:"relative z-10 pt-32 pb-20",children:(0,a.jsxs)("div",{className:"max-w-5xl mx-auto px-6 lg:px-8",children:[(0,a.jsxs)("div",{className:"text-center mb-12",children:[(0,a.jsx)(l(),{href:"/tools",className:"text-purple-300 hover:text-purple-200 transition-colors text-sm mb-4 inline-block",children:"← Back to Tools"}),(0,a.jsx)("h1",{className:"text-4xl lg:text-5xl font-bold text-fg tracking-tight mb-4",children:"Screen Recording Timer"}),(0,a.jsx)("p",{className:"text-xl text-fg-300 leading-relaxed max-w-2xl mx-auto",children:"Stopwatch and countdown timer built for screencasts. Mark laps, hit length targets, chime on completion."}),(0,a.jsx)("p",{className:"text-sm text-fg-500 mt-3",children:"100% browser-based — no installs, no accounts, nothing leaves your device."})]}),(0,a.jsx)(ScreenRecordingTimerWorkspace,{strings:k}),(0,a.jsx)("div",{className:"mt-16 max-w-3xl mx-auto",children:(0,a.jsx)(x.Z,{items:[{question:"Why use a separate timer for screen recordings?",answer:"A standalone, visible timer helps you pace your script, hit demo length targets, and mark sections without fiddling with OS clocks. Lap markers make it easy to find chapter points later in editing."},{question:"Does this timer keep running if I switch tabs?",answer:"Yes — but browsers may throttle background tab timing for power savings. The timer uses requestAnimationFrame and performance.now(), so when the tab is hidden it pauses repainting but keeps accurate underlying time on resume."},{question:"Can I get a sound or notification at the end?",answer:"Yes. The countdown mode plays a built-in chime synthesized via the Web Audio API — no external sound file. You can also enable browser notifications for an OS-level visual alert."},{question:"How accurate is the timer?",answer:"We use performance.now() for sub-millisecond precision and avoid setInterval drift. Display is updated every frame (typically 60 Hz) but the underlying time is accurate to fractions of a millisecond."},{question:"Is anything sent to a server?",answer:"No. Everything runs in your browser — no network calls, no tracking, nothing uploaded. The timer works offline once the page is loaded."},{question:"Can I use this with OBS, Loom, or QuickTime?",answer:"Yes. Open this page in a browser window, position it inside your recording area, and capture as normal. The timer overlay becomes part of your video. For OBS, you can also capture just this tab as a separate source."}]})}),(0,a.jsxs)("section",{className:"mt-12 max-w-3xl mx-auto",children:[(0,a.jsx)("h2",{className:"text-2xl font-bold text-fg mb-6",children:"Learn more"}),(0,a.jsxs)("ul",{className:"space-y-2",children:[(0,a.jsx)("li",{children:(0,a.jsx)(l(),{href:"/blog/best-screenshot-apps-for-mac",className:"text-purple-400 hover:text-purple-300 text-sm transition-colors",children:"→ Best Screenshot Apps for Mac"})}),(0,a.jsx)("li",{children:(0,a.jsx)(l(),{href:"/tools/video-bitrate-calculator",className:"text-purple-400 hover:text-purple-300 text-sm transition-colors",children:"→ Video Bitrate Calculator"})})]})]}),(0,a.jsxs)("section",{className:"mt-12 max-w-3xl mx-auto",children:[(0,a.jsx)("h2",{className:"text-lg font-medium text-fg mb-4",children:"Related Tools"}),(0,a.jsxs)("div",{className:"grid sm:grid-cols-3 gap-4",children:[(0,a.jsx)(l(),{href:"/tools/video-bitrate-calculator",className:"group",children:(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.04] to-transparent roun
1ded-lg p-4 border border-fg/[0.08] hover:border-fg/[0.15] transition-colors",children:[(0,a.jsx)("div",{className:"relative p-2 bg-gradient-to-br from-fg/15 to-fg/10 backdrop-blur-xl rounded-lg inline-block mb-2 border border-fg/25",children:(0,a.jsx)(m.Z,{className:"w-4 h-4 text-purple-400 drop-shadow-[0_0_4px_rgba(168,85,247,0.6)]"})}),(0,a.jsx)("h3",{className:"text-fg text-sm font-medium group-hover:text-purple-300 transition-colors",children:"Bitrate Calculator"}),(0,a.jsx)("p",{className:"text-fg-500 text-xs mt-1",children:"Mbps + file size"})]})}),(0,a.jsx)(l(),{href:"/tools/aspect-ratio-calculator",className:"group",children:(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.04] to-transparent rounded-lg p-4 border border-fg/[0.08] hover:border-fg/[0.15] transition-colors",children:[(0,a.jsx)("div",{className:"relative p-2 bg-gradient-to-br from-fg/15 to-fg/10 backdrop-blur-xl rounded-lg inline-block mb-2 border border-fg/25",children:(0,a.jsx)(u.Z,{className:"w-4 h-4 text-cyan-400 drop-shadow-[0_0_4px_rgba(103,232,249,0.6)]"})}),(0,a.jsx)("h3",{className:"text-fg text-sm font-medium group-hover:text-purple-300 transition-colors",children:"Aspect Ratio Calculator"}),(0,a.jsx)("p",{className:"text-fg-500 text-xs mt-1",children:"Calculate ratios"})]})}),(0,a.jsx)(l(),{href:"/tools/screen-resolution-calculator",className:"group",children:(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.04] to-transparent rounded-lg p-4 border border-fg/[0.08] hover:border-fg/[0.15] transition-colors",children:[(0,a.jsx)("div",{className:"relative p-2 bg-gradient-to-br from-fg/15 to-fg/10 backdrop-blur-xl rounded-lg inline-block mb-2 border border-fg/25",children:(0,a.jsx)(p.Z,{className:"w-4 h-4 text-purple-400 drop-shadow-[0_0_4px_rgba(168,85,247,0.6)]"})}),(0,a.jsx)("h3",{className:"text-fg text-sm font-medium group-hover:text-purple-300 transition-colors",children:"Resolution Calculator"}),(0,a.jsx)("p",{className:"text-fg-500 text-xs mt-1",children:"PPI + megapixels"})]})})]})]})]})}),(0,a.jsx)(d.Z,{})]})]})}let S={modeStopwatch:"Stoppuhr",modeCountdown:"Countdown",start:"Start",pause:"Pause",reset:"Zur\xfccksetzen",lap:"Runde",presetsTitle:"Countdown-Voreinstellungen",presetLabels:["5 s","10 s","30 s","1 Min","5 Min","10 Min","30 Min"],customDurationLabel:"Eigene Dauer (Minuten)",set:"Setzen",lapsTitle:"Runden",lapHashHeader:"#",lapSplitHeader:"Split",lapTotalHeader:"Gesamt",lapRowLabel:"Runde",alertsTitle:"Hinweise",soundChimeLabel:"Klingel",testSound:"Sound testen →",notificationLabel:"Browser-Benachrichtigung",notificationTitle:"Timer beendet",notificationBody:"Countdown abgelaufen.",tipsTitle:"Tipps",tipsItems:["Tab im Aufnahmebereich platzieren, um den Timer im Video zu zeigen","Rundenmarkierungen helfen beim sp\xe4teren Schnitt","3-Sekunden-Countdown vor dem Aufnahmestart","Lange Tutorials: 5-10 Min Countdown h\xe4lt dich am Skript"],formatTitle:"Format",formatValue:"HH:MM:SS.cs",formatDescBeforeCode:"Stunden, Minuten, Sekunden und Hundertstel. Angetrieben von ",formatDescAfterCode:" f\xfcr driftfreie Aktualisierung."};function screen_recording_timer_de_ScreenRecordingTimer(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(i(),{children:[(0,a.jsx)("title",{children:"Bildschirmaufnahme-Timer - Kostenlos Stoppuhr + Countdown | ScreenSnap Pro"}),(0,a.jsx)("meta",{name:"description",content:"Kostenloser Browser-Timer f\xfcr Bildschirmaufnahmen. Stoppuhr mit Rundenmarkierungen, Countdown mit Klingel und gro\xdfem Display. Keine Installation, kein Tracking."}),(0,a.jsx)("meta",{property:"og:title",content:"Bildschirmaufnahme-Timer | ScreenSnap Pro"}),(0,a.jsx)("meta",{property:"og:description",content:"Stoppuhr + Countdown f\xfcr Screencasts."}),(0,a.jsx)("meta",{property:"og:type",content:"website"}),(0,a.jsx)("meta",{property:"og:image",content:"https://www.screensnap.pro/images/og-image.png"}),(0,a.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,a.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,a.jsx)("link",{rel:"canonical",href:"https://www.screensnap.pro/de/tools/screen-recording-timer"}),(0,a.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"SoftwareApplication",name:"Bildschirmaufnahme-Timer",description:"Kostenloser Browser-Timer f\xfcr Screencasts. Stoppuhr und Countdown.",url:"https://www.screensnap.pro/de/tools/screen-recording-timer",applicationCategory:"UtilityApplication",operatingSystem:"Any",isAccessibleForFree:!0,offers:{"@type":"Offer",price:"0",priceCurrency:"EUR"}})}}),(0,a.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"Warum einen separaten Timer f\xfcr Bildschirmaufnahmen?",acceptedA
1nswer:{"@type":"Answer",text:"Ein eigenst\xe4ndiger, sichtbarer Timer hilft beim Tempo, beim Erreichen von Zeitzielen und beim Markieren von Abschnitten ohne mit System-Uhren herumzuhantieren."}},{"@type":"Question",name:"L\xe4uft der Timer beim Tab-Wechsel weiter?",acceptedAnswer:{"@type":"Answer",text:"Ja — aber Browser drosseln Hintergrund-Tabs zur Energieeinsparung. Der Timer nutzt requestAnimationFrame, also pausiert das Repaint, aber die unterliegende Zeit bleibt korrekt."}},{"@type":"Question",name:"Gibt es Ton oder Benachrichtigung am Ende?",acceptedAnswer:{"@type":"Answer",text:"Ja. Der Countdown-Modus spielt eine eingebaute Klingel \xfcber die Web Audio API — keine externe Datei. Browser-Benachrichtigungen sind ebenfalls optional aktivierbar."}},{"@type":"Question",name:"Wie genau ist der Timer?",acceptedAnswer:{"@type":"Answer",text:"Wir nutzen performance.now() f\xfcr Sub-Millisekunden-Genauigkeit und vermeiden setInterval-Drift. Die Anzeige aktualisiert sich pro Frame, die zugrunde liegende Zeit ist auf Bruchteile einer Millisekunde genau."}},{"@type":"Question",name:"Wird etwas an einen Server gesendet?",acceptedAnswer:{"@type":"Answer",text:"Nein. Alles l\xe4uft im Browser — keine Netzwerkanfragen, kein Tracking, nichts wird hochgeladen. Funktioniert offline."}},{"@type":"Question",name:"Kann ich das mit OBS, Loom oder QuickTime nutzen?",acceptedAnswer:{"@type":"Answer",text:"Ja. Diese Seite im Browser \xf6ffnen, im Aufnahmebereich positionieren und normal aufnehmen. Der Timer wird Teil des Videos. In OBS kannst du auch nur diesen Tab als Quelle erfassen."}}]})}}),(0,a.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify((0,g.i)("Bildschirmaufnahme-Timer","screen-recording-timer"))}})]}),(0,a.jsxs)("div",{className:"relative bg-gradient-to-br from-canvas-950 via-canvas-900 to-canvas min-h-screen overflow-hidden",children:[(0,a.jsxs)("div",{className:"absolute inset-0 overflow-hidden",children:[(0,a.jsx)("div",{className:"absolute -top-40 -right-40 w-[500px] h-[500px] bg-gradient-to-br from-fg/[0.08] to-fg/[0.04] rounded-full filter blur-[100px] animate-blob"}),(0,a.jsx)("div",{className:"absolute -bottom-40 -left-40 w-[600px] h-[600px] bg-gradient-to-br from-fg/[0.06] to-fg/[0.03] rounded-full filter blur-[120px] animate-blob animation-delay-2000"})]}),(0,a.jsx)(c.Z,{}),(0,a.jsx)("div",{className:"relative z-10 pt-32 pb-20",children:(0,a.jsxs)("div",{className:"max-w-5xl mx-auto px-6 lg:px-8",children:[(0,a.jsxs)("div",{className:"text-center mb-12",children:[(0,a.jsx)(l(),{href:"/tools",className:"text-purple-300 hover:text-purple-200 transition-colors text-sm mb-4 inline-block",children:"← Zur\xfcck zu Tools"}),(0,a.jsx)("h1",{className:"text-4xl lg:text-5xl font-bold text-fg tracking-tight mb-4",children:"Bildschirmaufnahme-Timer"}),(0,a.jsx)("p",{className:"text-xl text-fg-300 leading-relaxed max-w-2xl mx-auto",children:"Stoppuhr und Countdown-Timer f\xfcr Screencasts. Runden markieren, L\xe4ngenziele halten, Klingel am Ende."}),(0,a.jsx)("p",{className:"text-sm text-fg-500 mt-3",children:"100% im Browser — keine Installation, keine Konten, nichts verl\xe4sst dein Ger\xe4t."})]}),(0,a.jsx)(ScreenRecordingTimerWorkspace,{strings:S}),(0,a.jsx)("div",{className:"mt-16 max-w-3xl mx-auto",children:(0,a.jsx)(x.Z,{items:[{question:"Warum einen separaten Timer f\xfcr Bildschirmaufnahmen?",answer:"Ein eigenst\xe4ndiger, sichtbarer Timer hilft beim Tempo deines Skripts, beim Erreichen von L\xe4ngenzielen und beim Markieren von Abschnitten — ohne mit System-Uhren herumzuhantieren. Rundenmarkierungen helfen, Kapitelpunkte sp\xe4ter beim Schnitt zu finden."},{question:"L\xe4uft der Timer beim Tab-Wechsel weiter?",answer:"Ja — aber Browser drosseln Hintergrund-Tabs zur Energieeinsparung. Der Timer nutzt requestAnimationFrame und performance.now(): das Repaint pausiert, aber die unterliegende Zeit bleibt korrekt."},{question:"Gibt es Ton oder Benachrichtigung am Ende?",answer:"Ja. Der Countdown-Modus spielt eine eingebaute Klingel \xfcber die Web Audio API — keine externe Datei. Browser-Benachrichtigungen sind ebenfalls optional aktivierbar."},{question:"Wie genau ist der Timer?",answer:"Wir nutzen performance.now() f\xfcr Sub-Millisekunden-Genauigkeit und vermeiden setInterval-Drift. Die Anzeige aktualisiert sich pro Frame (typisch 60 Hz), die zugrunde liegende Zeit ist auf Bruchteile einer Millisekunde genau."},{question:"Wird etwas an einen Server gesendet?",answer:"Nein. Alles l\xe4uft im Browser — keine Netzwerkanfragen, kein Tracking, nichts wird hochgeladen. Funktioniert offline, sobald die Seite geladen ist."},{question:"Kann ich das mit OBS, Loom oder QuickTime nutzen?",answer:"Ja. Diese Seite im Browser \xf6ffnen, im Aufnahmebereich positionieren und normal aufnehmen. Der Timer-Overlay wird Teil deines Videos. F\xfcr OBS kannst du auch nur diesen Tab als separate Quelle erfassen."}]})}),(0,a.jsxs)("section",{className:"mt-12 max-w-3xl mx-auto",children:[(0,a.jsx)("h2",{className:"text-2xl font-bold text-fg mb-6",children:"Mehr erfahren"}),(0,a.jsxs)("ul",{className:"space-y-2",children:[(0,a.jsx)("li",{children:(0,a.jsx)(l(),{href:"/blog/best-screenshot-apps-for-mac",className:"text-purple-400 hover:text-purple-300 text-sm transition-colors",children:"→ Beste Screenshot-Apps f\xfcr Mac"})}),(0,a.jsx)("li",{children:(0,a.jsx)(l(),{href:"/tools/video-bitrate-calculator",className:"text-purple-400 hover:text-purple-300 text-sm transition-colors",children:"→ Video-Bitraten-Rechner"})})]})]}),(0,a.jsxs)("section",{className:"mt-12 max-w-3xl mx-auto",children:[(0,a.jsx)("h2",{className:"text-lg font-medium text-fg mb-4",children:"Verwandte Tools"}),(0,a.jsxs)("div",{className:"grid sm:grid-cols-3 gap-4",children:[(0,a.jsx)(l(),{href:"/tools/video-bitrate-calculator",className:"group",children:(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.04] to-transparent roun
1ded-lg p-4 border border-fg/[0.08] hover:border-fg/[0.15] transition-colors",children:[(0,a.jsx)("div",{className:"relative p-2 bg-gradient-to-br from-fg/15 to-fg/10 backdrop-blur-xl rounded-lg inline-block mb-2 border border-fg/25",children:(0,a.jsx)(m.Z,{className:"w-4 h-4 text-purple-400 drop-shadow-[0_0_4px_rgba(168,85,247,0.6)]"})}),(0,a.jsx)("h3",{className:"text-fg text-sm font-medium group-hover:text-purple-300 transition-colors",children:"Bitraten-Rechner"}),(0,a.jsx)("p",{className:"text-fg-500 text-xs mt-1",children:"Mbps + Dateigr\xf6\xdfe"})]})}),(0,a.jsx)(l(),{href:"/tools/aspect-ratio-calculator",className:"group",children:(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.04] to-transparent rounded-lg p-4 border border-fg/[0.08] hover:border-fg/[0.15] transition-colors",children:[(0,a.jsx)("div",{className:"relative p-2 bg-gradient-to-br from-fg/15 to-fg/10 backdrop-blur-xl rounded-lg inline-block mb-2 border border-fg/25",children:(0,a.jsx)(u.Z,{className:"w-4 h-4 text-cyan-400 drop-shadow-[0_0_4px_rgba(103,232,249,0.6)]"})}),(0,a.jsx)("h3",{className:"text-fg text-sm font-medium group-hover:text-purple-300 transition-colors",children:"Seitenverh\xe4ltnis-Rechner"}),(0,a.jsx)("p",{className:"text-fg-500 text-xs mt-1",children:"Verh\xe4ltnisse berechnen"})]})}),(0,a.jsx)(l(),{href:"/tools/screen-resolution-calculator",className:"group",children:(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.04] to-transparent rounded-lg p-4 border border-fg/[0.08] hover:border-fg/[0.15] transition-colors",children:[(0,a.jsx)("div",{className:"relative p-2 bg-gradient-to-br from-fg/15 to-fg/10 backdrop-blur-xl rounded-lg inline-block mb-2 border border-fg/25",children:(0,a.jsx)(p.Z,{className:"w-4 h-4 text-purple-400 drop-shadow-[0_0_4px_rgba(168,85,247,0.6)]"})}),(0,a.jsx)("h3",{className:"text-fg text-sm font-medium group-hover:text-purple-300 transition-colors",children:"Aufl\xf6sungs-Rechner"}),(0,a.jsx)("p",{className:"text-fg-500 text-xs mt-1",children:"PPI + Megapixel"})]})})]})]})]})}),(0,a.jsx)(d.Z,{})]})]})}let T={modeStopwatch:"Cron\xf3metro",modeCountdown:"Cuenta atr\xe1s",start:"Iniciar",pause:"Pausar",reset:"Restablecer",lap:"Vuelta",presetsTitle:"Ajustes de cuenta atr\xe1s",presetLabels:["5 s","10 s","30 s","1 min","5 min","10 min","30 min"],customDurationLabel:"Duraci\xf3n personalizada (minutos)",set:"Aplicar",lapsTitle:"Vueltas",lapHashHeader:"#",lapSplitHeader:"Parcial",lapTotalHeader:"Total",lapRowLabel:"Vuelta",alertsTitle:"Avisos",soundChimeLabel:"Campana",testSound:"Probar sonido →",notificationLabel:"Notificaci\xf3n del navegador",notificationTitle:"Temporizador finalizado",notificationBody:"La cuenta atr\xe1s ha terminado.",tipsTitle:"Consejos",tipsItems:["Coloca la pesta\xf1a en el \xe1rea de grabaci\xf3n para mostrar el temporizador en el v\xeddeo","Las marcas de vuelta ayudan a editar despu\xe9s","Cuenta atr\xe1s de 3 segundos antes de empezar a grabar","Tutoriales largos: una cuenta atr\xe1s de 5-10 min te mantiene en el guion"],formatTitle:"Formato",formatValue:"HH:MM:SS.cs",formatDescBeforeCode:"Horas, minutos, segundos y cent\xe9simas. Impulsado por ",formatDescAfterCode:" para una actualizaci\xf3n sin desfase."};function screen_recording_timer_es_ScreenRecordingTimer(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(i(),{children:[(0,a.jsx)("title",{children:"Temporizador de grabaci\xf3n de pantalla - Cron\xf3metro + cuenta atr\xe1s gratis | ScreenSnap Pro"}),(0,a.jsx)("meta",{name:"description",content:"Temporizador de navegador gratuito para grabaciones de pantalla. Cron\xf3metro con marcas de vuelta, cuenta atr\xe1s con campana y pantalla grande. Sin instalaci\xf3n, sin seguimiento."}),(0,a.jsx)("meta",{property:"og:title",content:"Temporizador de grabaci\xf3n de pantalla | ScreenSnap Pro"}),(0,a.jsx)("meta",{property:"og:description",content:"Cron\xf3metro + cuenta atr\xe1s para screencasts."}),(0,a.jsx)("meta",{property:"og:type",content:"website"}),(0,a.jsx)("meta",{property:"og:image",content:"https://www.screensnap.pro/images/og-image.png"}),(0,a.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,a.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,a.jsx)("link",{rel:"canonical",href:"https://www.screensnap.pro/es/tools/screen-recording-timer"}),(0,a.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"SoftwareApplication",name:"Temporizador de grabaci\xf3n de pantalla",description:"Temporizador de navegador gratuito para screencasts. Cron\xf3metro y cuenta atr\xe1s.",url:"https://www.screensnap.pro/es/tools/screen-recording-timer",applicationCategory:"UtilityApplication",operatingSystem:"Any",isAccessibleForFree:!0,offers:{"@type":"Offer",price:"0",priceCurrency:"EUR"}})}}),(0,a.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"\xbfPor qu\xe9 usar un temporizador aparte para grabaciones de pantalla?",acceptedA
1nswer:{"@type":"Answer",text:"Un temporizador independiente y visible ayuda a marcar el ritmo, alcanzar objetivos de tiempo y marcar secciones sin tener que lidiar con los relojes del sistema."}},{"@type":"Question",name:"\xbfSigue funcionando el temporizador al cambiar de pesta\xf1a?",acceptedAnswer:{"@type":"Answer",text:"S\xed, pero los navegadores limitan las pesta\xf1as en segundo plano para ahorrar energ\xeda. El temporizador usa requestAnimationFrame, as\xed que el repintado se pausa, pero el tiempo subyacente se mantiene correcto."}},{"@type":"Question",name:"\xbfHay sonido o notificaci\xf3n al final?",acceptedAnswer:{"@type":"Answer",text:"S\xed. El modo de cuenta atr\xe1s reproduce una campana integrada mediante la Web Audio API, sin archivo externo. Tambi\xe9n puedes activar opcionalmente notificaciones del navegador."}},{"@type":"Question",name:"\xbfQu\xe9 precisi\xf3n tiene el temporizador?",acceptedAnswer:{"@type":"Answer",text:"Usamos performance.now() para una precisi\xf3n de submilisegundos y evitamos el desfase de setInterval. La pantalla se actualiza por fotograma; el tiempo subyacente es preciso hasta fracciones de milisegundo."}},{"@type":"Question",name:"\xbfSe env\xeda algo a un servidor?",acceptedAnswer:{"@type":"Answer",text:"No. Todo se ejecuta en el navegador: sin solicitudes de red, sin seguimiento, no se sube nada. Funciona sin conexi\xf3n."}},{"@type":"Question",name:"\xbfPuedo usarlo con OBS, Loom o QuickTime?",acceptedAnswer:{"@type":"Answer",text:"S\xed. Abre esta p\xe1gina en el navegador, col\xf3cala en el \xe1rea de grabaci\xf3n y graba con normalidad. El temporizador pasa a formar parte del v\xeddeo. En OBS tambi\xe9n puedes capturar solo esta pesta\xf1a como fuente."}}]})}}),(0,a.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify((0,g.i)("Temporizador de grabaci\xf3n de pantalla","screen-recording-timer"))}})]}),(0,a.jsxs)("div",{className:"relative bg-gradient-to-br from-canvas-950 via-canvas-900 to-canvas min-h-screen overflow-hidden",children:[(0,a.jsxs)("div",{className:"absolute inset-0 overflow-hidden",children:[(0,a.jsx)("div",{className:"absolute -top-40 -right-40 w-[500px] h-[500px] bg-gradient-to-br from-fg/[0.08] to-fg/[0.04] rounded-full filter blur-[100px] animate-blob"}),(0,a.jsx)("div",{className:"absolute -bottom-40 -left-40 w-[600px] h-[600px] bg-gradient-to-br from-fg/[0.06] to-fg/[0.03] rounded-full filter blur-[120px] animate-blob animation-delay-2000"})]}),(0,a.jsx)(c.Z,{}),(0,a.jsx)("div",{className:"relative z-10 pt-32 pb-20",children:(0,a.jsxs)("div",{className:"max-w-5xl mx-auto px-6 lg:px-8",children:[(0,a.jsxs)("div",{className:"text-center mb-12",children:[(0,a.jsx)(l(),{href:"/tools",className:"text-purple-300 hover:text-purple-200 transition-colors text-sm mb-4 inline-block",children:"← Volver a las herramientas"}),(0,a.jsx)("h1",{className:"text-4xl lg:text-5xl font-bold text-fg tracking-tight mb-4",children:"Temporizador de grabaci\xf3n de pantalla"}),(0,a.jsx)("p",{className:"text-xl text-fg-300 leading-relaxed max-w-2xl mx-auto",children:"Cron\xf3metro y temporizador de cuenta atr\xe1s para screencasts. Marca vueltas, cumple objetivos de duraci\xf3n, campana al final."}),(0,a.jsx)("p",{className:"text-sm text-fg-500 mt-3",children:"100% en el navegador: sin instalaci\xf3n, sin cuentas, nada sale de tu dispositivo."})]}),(0,a.jsx)(ScreenRecordingTimerWorkspace,{strings:T}),(0,a.jsx)("div",{className:"mt-16 max-w-3xl mx-auto",children:(0,a.jsx)(x.Z,{items:[{question:"\xbfPor qu\xe9 usar un temporizador aparte para grabaciones de pantalla?",answer:"Un temporizador independiente y visible ayuda a marcar el ritmo de tu guion, alcanzar objetivos de duraci\xf3n y marcar secciones, sin tener que lidiar con los relojes del sistema. Las marcas de vuelta ayudan a encontrar los puntos de cap\xedtulo despu\xe9s, al editar."},{question:"\xbfSigue funcionando el temporizador al cambiar de pesta\xf1a?",answer:"S\xed, pero los navegadores limitan las pesta\xf1as en segundo plano para ahorrar energ\xeda. El temporizador usa requestAnimationFrame y performance.now(): el repintado se pausa, pero el tiempo subyacente se mantiene correcto."},{question:"\xbfHay sonido o notificaci\xf3n al final?",answer:"S\xed. El modo de cuenta atr\xe1s reproduce una campana integrada mediante la Web Audio API, sin archivo externo. Tambi\xe9n puedes activar opcionalmente notificaciones del navegador."},{question:"\xbfQu\xe9 precisi\xf3n tiene el temporizador?",answer:"Usamos performance.now() para una precisi\xf3n de submilisegundos y evitamos el desfase de setInterval. La pantalla se actualiza por fotograma (normalmente 60 Hz); el tiempo subyacente es preciso hasta fracciones de milisegundo."},{question:"\xbfSe env\xeda algo a un servidor?",answer:"No. Todo se ejecuta en el navegador: sin solicitudes de red, sin seguimiento, no se sube nada. Funciona sin conexi\xf3n una vez cargada la p\xe1gina."},{question:"\xbfPuedo usarlo con OBS, Loom o QuickTime?",answer:"S\xed. Abre esta p\xe1gina en el navegador, col\xf3cala en el \xe1rea de grabaci\xf3n y graba con normalidad. El overlay del temporizador pasa a formar parte de tu v\xeddeo. En OBS tambi\xe9n puedes capturar solo esta pesta\xf1a como fuente independiente."}]})}),(0,a.jsxs)("section",{className:"mt-12 max-w-3xl mx-auto",children:[(0,a.jsx)("h2",{className:"text-2xl font-bold text-fg mb-6",children:"M\xe1s informaci\xf3n"}),(0,a.jsxs)("ul",{className:"space-y-2",children:[(0,a.jsx)("li",{children:(0,a.jsx)(l(),{href:"/blog/best-screenshot-apps-for-mac",className:"text-purple-400 hover:text-purple-300 text-sm transition-colors",children:"→ Las mejores apps de capturas de pantalla para Mac"})}),(0,a.jsx)("li",{children:(0,a.jsx)(l(),{href:"/tools/video-bitrate-calculator",className:"text-purple-400 hover:text-purple-300 text-sm transition-colors",children:"→ Calculadora de tasa de bits de v\xeddeo"})})]})]}),(0,a.jsxs)("section",{className:"mt-12 max-w-3xl mx-auto",children:[(0,a.jsx)("h2",{className:"text-lg font-medium text-fg mb-4",children:"Herramientas relacionadas"}),(0,a.jsxs)("div",{className:"grid sm:grid-cols-3 gap-4",children:[(0,a.jsx)(l(),{href:"/tools/video-bitrate-calculator",className:"group",children:(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.04] to-transparent roun
1ded-lg p-4 border border-fg/[0.08] hover:border-fg/[0.15] transition-colors",children:[(0,a.jsx)("div",{className:"relative p-2 bg-gradient-to-br from-fg/15 to-fg/10 backdrop-blur-xl rounded-lg inline-block mb-2 border border-fg/25",children:(0,a.jsx)(m.Z,{className:"w-4 h-4 text-purple-400 drop-shadow-[0_0_4px_rgba(168,85,247,0.6)]"})}),(0,a.jsx)("h3",{className:"text-fg text-sm font-medium group-hover:text-purple-300 transition-colors",children:"Calculadora de tasa de bits"}),(0,a.jsx)("p",{className:"text-fg-500 text-xs mt-1",children:"Mbps + tama\xf1o de archivo"})]})}),(0,a.jsx)(l(),{href:"/tools/aspect-ratio-calculator",className:"group",children:(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.04] to-transparent rounded-lg p-4 border border-fg/[0.08] hover:border-fg/[0.15] transition-colors",children:[(0,a.jsx)("div",{className:"relative p-2 bg-gradient-to-br from-fg/15 to-fg/10 backdrop-blur-xl rounded-lg inline-block mb-2 border border-fg/25",children:(0,a.jsx)(u.Z,{className:"w-4 h-4 text-cyan-400 drop-shadow-[0_0_4px_rgba(103,232,249,0.6)]"})}),(0,a.jsx)("h3",{className:"text-fg text-sm font-medium group-hover:text-purple-300 transition-colors",children:"Calculadora de relaci\xf3n de aspecto"}),(0,a.jsx)("p",{className:"text-fg-500 text-xs mt-1",children:"Calcular relaciones"})]})}),(0,a.jsx)(l(),{href:"/tools/screen-resolution-calculator",className:"group",children:(0,a.jsxs)("div",{className:"bg-gradient-to-br from-fg/[0.04] to-transparent rounded-lg p-4 border border-fg/[0.08] hover:border-fg/[0.15] transition-colors",children:[(0,a.jsx)("div",{className:"relative p-2 bg-gradient-to-br from-fg/15 to-fg/10 backdrop-blur-xl rounded-lg inline-block mb-2 border border-fg/25",children:(0,a.jsx)(p.Z,{className:"w-4 h-4 text-purple-400 drop-shadow-[0_0_4px_rgba(168,85,247,0.6)]"})}),(0,a.jsx)("h3",{className:"text-fg text-sm font-medium group-hover:text-purple-300 transition-colors",children:"Calculadora de resoluci\xf3n"}),(0,a.jsx)("p",{className:"text-fg-500 text-xs mt-1",children:"PPI + megap\xedxeles"})]})})]})]})]})}),(0,a.jsx)(d.Z,{})]})]})}var A=!0;function Page(){let{locale:e}=(0,n.useRouter)();return"de"===e?(0,a.jsx)(screen_recording_timer_de_ScreenRecordingTimer,{}):"es"===e?(0,a.jsx)(screen_recording_timer_es_ScreenRecordingTimer,{}):(0,a.jsx)(ScreenRecordingTimer,{})}},43798:function(e,t,r){"use strict";var a=r(71248);let n=a.forwardRef(function({title:e,titleId:t,...r},n){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},r),e?a.createElement("title",{id:t},e):null,a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"}))});t.Z=n},26048:function(e,t,r){"use strict";var a=r(71248);let n=a.forwardRef(function({title:e,titleId:t,...r},n){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},r),e?a.createElement("title",{id:t},e):null,a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M2
10.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15"}))});t.Z=n},84901:function(e,t,r){"use strict";var a=r(71248);let n=a.forwardRef(function({title:e,titleId:t,...r},n){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},r),e?a.createElement("title",{id:t},e):null,a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"}))});t.Z=n},41553:function(e,t,r){"use strict";var a=r(71248);let n=a.forwardRef(function({title:e,titleId:t,...r},n){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},r),e?a.createElement("title",{id:t},e):null,a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.75 5.25v13.5m-7.5-13.5v13.5"}))});t.Z=n},42422:function(e,t,r){"use strict";var a=r(71248);let n=a.forwardRef(function({title:e,titleId:t,...r},n){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},r),e?a.createElement("title",{id:t},e):null,a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.347a1.125 1.125 0 0 1 0 1.972l-11.54 6.347a1.125 1.125 0 0 1-1.667-.986V5.653Z"}))});t.Z=n},34632:function(e,t,r){"use strict";var a=r(71248);let n=a.forwardRef(function({title:e,titleId:t,...r},n){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},r),e?a.createElement("title",{id:t},e):null,a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.114 5.636a9 9 0 0 1 0 12.728M16.463 8.288a5.25 5.25 0 0 1 0 7.424M6.75 8.25l4.72-4.72a.75.75 0 0 1 1.28.53v15.88a.75.75 0 0 1-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.009 9.009 0 0 1 2.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25H6.75Z"}))});t.Z=n},50518:function(e,t,r){"use strict";var a=r(71248);let n=a.forwardRef(function({title:e,titleId:t,...r},n){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},r),e?a.createElement("title",{id:t},e):null,a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z"}))});t.Z=n}},function(e){e.O(0,[3554,6679,9774,2888,179],function(){return e(e.s=29851)}),_N_E=e.O()}]);

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.