Screen recorder

Screen Recorder

Screen Recorder

document.write(''); ; body { font-family: Arial, sans-serif; margin: 0; padding: 0; display: flex; justify-content: center; align-items: center; min-height: 100vh; background-color: #f0f0f0; } .container { text-align: center; background-color: #fff; padding: 20px; border-radius: 10px; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2); } button { padding: 10px 20px; margin: 10px; font-size: 16px; border: none; border-radius: 5px; cursor: pointer; background-color: #007bff; color: #fff; } button:disabled { background-color: #ccc; cursor: not-allowed; } const startBtn = document.getElementById('startBtn'); const stopBtn = document.getElementById('stopBtn'); const recordedVideo = document.getElementById('recordedVideo'); let recorder; startBtn.addEventListener('click', async () => { startBtn.disabled = true; stopBtn.disabled = false; const stream = await navigator.mediaDevices.getDisplayMedia({ video: true, audio: true }); recordedVideo.srcObject = stream; recorder = new RecordRTC(stream, { mimeType: 'video/webm', videoBitsPerSecond: 3000000, // Adjust as needed audioBitsPerSecond: 128000, // Adjust as needed }); recorder.startRecording(); }); stopBtn.addEventListener('click', () => { startBtn.disabled = false; stopBtn.disabled = true; recorder.stopRecording(() => { const blob = recorder.getBlob(); recordedVideo.src = URL.createObjectURL(blob); }); });

Comments