
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
iscream-webrtc-sdk
Advanced tools
I-scream WebRTC SDK for browser - LiveKit based real-time communication with teacher/student roles
LiveKit 기반의 브라우저용 WebRTC SDK로, 특히 교육 환경을 위한 선생님/학생 역할 시스템을 제공합니다.
Note: 이 패키지는 브라우저 전용입니다. Node.js 환경에서는 동작하지 않습니다.
# SSH 방식 (권장)
npm install git+ssh://git@github.com:i-screammedia/iscream-webrtc-sdk.git
# HTTPS 방식 (GitHub Personal Access Token 필요)
npm install git+https://github.com/i-screammedia/iscream-webrtc-sdk.git
# 특정 버전/태그 설치
npm install git+ssh://git@github.com:i-screammedia/iscream-webrtc-sdk.git#v2.4.1
# package.json에 추가
{
"dependencies": {
"iscream-webrtc-sdk": "git+ssh://git@github.com:i-screammedia/iscream-webrtc-sdk.git#v2.4.1",
"livekit-client": "^2.0.0"
}
}
npm install @supermon2018/iscream-webrtc-sdk-node livekit-client
import IScreamWebRTC from 'iscream-webrtc-sdk';
// 또는 npm 버전
// import IScreamWebRTC from '@supermon2018/iscream-webrtc-sdk-node';
// SDK 초기화
const rtc = new IScreamWebRTC({
serverHost: 'rtc.i-screammedia.com',
auth: {
clientId: 'your-client-id',
clientSecret: 'your-client-secret'
},
debug: true
});
// 이벤트 리스너 등록
rtc.on('connected', (data) => {
console.log('룸 연결됨:', data);
});
rtc.on('participantJoined', (participant) => {
console.log('참가자 입장:', participant.name);
});
rtc.on('trackSubscribed', (track, publication, participant) => {
// 비디오/오디오 트랙 처리
});
// 룸 연결
await rtc.connect({
roomName: 'classroom-1',
participantName: '김선생님',
role: 'teacher',
publishOnJoin: true
});
// 미디어 제어
await rtc.enableVideo(true);
await rtc.enableAudio(true);
// 발표자 지정 (선생님만 가능)
await rtc.setPresenter('student-identity');
connect(options)
- 룸 연결disconnect()
- 연결 해제isConnectionActive()
- 연결 상태 확인enableVideo(enabled)
- 비디오 켜기/끄기enableAudio(enabled)
- 오디오 켜기/끄기toggleCamera()
- 카메라 토글toggleMicrophone()
- 마이크 토글startScreenShare()
- 화면 공유 시작stopScreenShare()
- 화면 공유 중지isScreenShareActive()
- 화면 공유 상태 확인setPresenter(participantId)
- 발표자 지정clearPresenter()
- 발표자 해제getCurrentPresenter()
- 현재 발표자 조회getParticipants()
- 전체 참가자 목록getParticipantsByRole(role)
- 역할별 참가자 목록cleanupGhostParticipants()
- 유령 사용자 정리 (선생님 전용)sendMessage(message)
- 채팅 메시지 전송setVideoQuality(quality)
- 비디오 화질 설정 ('low', 'medium', 'high', 'ultra', 'auto')setAudioQuality(quality)
- 오디오 화질 설정 ('low', 'medium', 'high')connected
- 룸 연결 완료disconnected
- 연결 해제participant:joined
- 참가자 입장participant:left
- 참가자 퇴장trackSubscribed
- 미디어 트랙 구독trackUnsubscribed
- 미디어 트랙 구독 해제presenter:changed
- 발표자 변경chatMessage
- 채팅 메시지 수신error
- 오류 발생선생님 정책
학생 정책
발표자 정책
# 의존성 설치
npm install
# 빌드
npm run build
# 개발 모드 (watch)
npm run dev
Private - I-scream Media
FAQs
I-scream WebRTC SDK for browser - LiveKit based real-time communication with teacher/student roles
The npm package iscream-webrtc-sdk receives a total of 455 weekly downloads. As such, iscream-webrtc-sdk popularity was classified as not popular.
We found that iscream-webrtc-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.