NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name check rec
// @namespace kalpsdj
//@description check rec
// @author Shjaisw
// @license MIT
// @version 1.5
// @updateURL https://openuserjs.org/meta/kalpdev.1/Language_Setup.meta.js
// @downloadURL https://openuserjs.org/install/kalpdev.1/Language_Setup.user.js
// @include https://argus.aka.amazon.com/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant GM_setValue
// @grant GM_getValue
// ==/UserScript==
$("body").append ( `
<div id="guide">
<style>
div#guide {padding: 4px;font-weight: bold;font-size:small; width:170px; height:28px; bottom:25px; background-color:rgba(236, 199, 199, 0.12); color:red; padding:0;margin:0;border-radius:8px;position: fixed; bottom: 15%; right: 46%;z-index:10000; text-align:center;margin-top:40px; box-shadow: 4px 4px 8px #00796b;" }
</style>
<html>
<body>
<button id="start" >start </button>
<button id="stop" >stop </button>
<script>
let start = document.getElementById('start'),
stop = document.getElementById('stop'),
mediaRecorder;
start.addEventListener('click', async function(){
let stream = await recordScreen();
let mimeType = 'video/webm';
mediaRecorder = createRecorder(stream, mimeType);
let node = document.createElement("p");
node.textContent = "Started recording";
document.body.appendChild(node);
})
stop.addEventListener('click', function(){
mediaRecorder.stop();
let node = document.createElement("p");
node.textContent = "Stopped recording";
document.body.appendChild(node);
})
async function recordScreen() {
return await navigator.mediaDevices.getDisplayMedia({
audio: false,
video: { mediaSource: "screen"}
});
}
function createRecorder (stream, mimeType) {
// the stream data is stored in this array
let recordedChunks = [];
const mediaRecorder = new MediaRecorder(stream);
mediaRecorder.ondataavailable = function (e) {
if (e.data.size > 0) {
recordedChunks.push(e.data);
}
};
mediaRecorder.onstop = function () {
saveFile(recordedChunks);
recordedChunks = [];
};
mediaRecorder.start(200); // For every 200ms the stream data will be stored in a separate chunk.
return mediaRecorder;
}
function saveFile(recordedChunks){
const blob = new Blob(recordedChunks, {
type: 'video/webm'
});
let filename = window.prompt('Enter file name'),
downloadLink = document.createElement('a');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = '${'filename'}.webm';
document.body.appendChild(downloadLink);
downloadLink.click();
URL.revokeObjectURL(blob); // clear from memory
document.body.removeChild(downloadLink);
}
</script>
</body>
</html>
` );