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
Post a Comment