blog

20줄의 Java script로 구성된 간단한 스크린 레코더.

글 서문\n스크린 레코더의 페이월과 제한된 상태에 지쳐서 자신만의 코드를 계속 작성하고 싶다고 가정해 보겠습니다. 코드 몇 줄로 이미 기본적인 기능을 사용할 수 있습니다.\n단계별...

Aug 22, 2025 · 2 min. read
シェア

자바스크립트 코드 20줄로 간단한 스크린 레코더를 작성하는 방법은 무엇인가요? 저는 Bait이니 함께 배워봅시다.

글 서문.

스크린 레코더의 유료화 및 제한된 상태에 지쳐서 직접 코드를 작성하고 싶다고 가정해 보겠습니다. 몇 줄의 코드만으로 기본적인 기능을 구현할 수 있습니다.

단계별 연습

첫째, 브라우저에 사용하여 캡처된 동영상 스트림을 가져오도록 요청할 수 있지만 보안상의 이유로 버튼 클릭과 같은 사용자 제스처로 캡처 가 트리거되는지 확인하는 것이 중요합니다:

const button = document.createElement("button"); button.innerHTML = "capture"; document.body.append(button); button.addEventListener("click", async () => { // TODO });

동영상 스트림을 가져와 녹화하려면 클릭하세요.

const stream = await navigator.mediaDevices.getDisplayMedia(); const recoder = new MediaRecorder(stream); recoder.start();

사용자가 화면 공유를 중단하면 녹화 중지

const [video] = stream.getVideoTracks(); video.addEventListener("ended", () => { recoder.stop(); });

녹화된 파일을 가져와 다운로드

recoder.addEventListener("dataavailable", (evt) => { const a = document.createElement("a"); a.href = URL.createObjectURL(evt.data); a.download = "capture.webm"; a.click(); });

전체 코드

const button = document.createElement("button"); button.innerHTML = "capture"; document.body.append(button); button.addEventListener("click", async () => { const stream = await navigator.mediaDevices.getDisplayMedia(); const recoder = new MediaRecorder(stream); recoder.start(); const [video] = stream.getVideoTracks(); video.addEventListener("ended", () => { recoder.stop(); }); recoder.addEventListener("dataavailable", (evt) => { const a = document.createElement("a"); a.href = URL.createObjectURL(evt.data); a.download = "capture.webm"; a.click(); }); });

보세요, 간단한 스크린 레코더가 있습니다!

녹화, 웹캠 통합, 장시간 스트리밍 등 해결해야 할 제한 사항이 많지만, 이렇게 강력한 기능을 몇 줄의 코드로 구현했다는 사실을 공유하지 않기에는 너무 멋지다는 생각이 들었습니다.

공개: 프로그래머 미끼

Read next

국내 달링턴 드라이버 칩 ULN2803이 적외선 카메라 파라미터 및 특성에 대해 TI ULN2803A와 호환되는 이유와 공유할 수 있는 특성

파라미터 특성:\n1, 8방향 독립 구동 기능을 갖춘 8방향 NPN 달링턴 연결 트랜지스터의 ULN2803 칩.\n2, 출력 정격 내전압 50V, 출력은 높은 내전압 값을 갖습니다.\n3, 입력 정격 전압 30V, 높은 내전압 값으로 입력.\n4, 출력 정격 전류 500

Aug 22, 2025 · 1 min read