100% standalone, zero-server-dependency JavaScript screen recording library with audio mixing, max duration limits, and browser reload resilience.
IndexedDB and can be recovered with 1 click.
<!-- 1. Include the single standalone bundle (Zero backend required) -->
<script src="show-and-tell.min.js"></script>
<script>
// 2. Start recording with 1 function call
const session = await ShowAndTell.startRecording({
maxDuration: 60, // Maximum 60 seconds (auto-discontinues after 1 min)
audio: { mic: true, system: true },
ui: true // Displays the draggable floating toolbar with timer
});
// Optional: Listen to duration updates & events
session.on('warning', ({ remainingSeconds }) => {
console.warn(`Recording will auto-stop in ${remainingSeconds}s!`);
});
// 3. Stop whenever ready (or it stops automatically at maxDuration)
const result = await session.stop();
// 4. Download file or use Blob directly
result.download('my-presentation.webm');
console.log('Video Blob:', result.blob);
</script>
ShowAndTell provides lightweight, zero-server client-side screen recording engineered for privacy, instant drop-in integration, and zero backend maintenance.