Course Outline
1일차 – 미디어 디바이스 처리
1. navigator.permissions을 이용한 브라우저 권한
- Access 하드웨어:
- 웹캠
- 마이크
- 선택 권한:
- 지리 위치
- 알림
- 클립보드(읽기/쓰기)
- 권한 조회 및 상태
- 제한 사항 및 브라우저 호환성
- 실습 사례
2. navigator.mediaDevices로 미디어 디바이스 읽기
- 디바이스 열거
- 디바이스 변경 처리
- 실습 사례
3. 크로스 브라우저 호환성
- API 사용:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- 사파리 대안 전략
- 실습 사례
4. 미디어 디바이스 처리
- 디바이스 초기화: getUserMedia(constraints)
- 미디어 디바이스 제약 조건
- 미디어 스트림 시작 및 중지
- 디바이스 변경 처리
- 실습 사례
5. MediaRecorder로 디바이스 녹음
- 스트리밍 및 녹음 시작/중지
- .webm 파일 다운로드
- 실시간 웨이브폼 미리보기
- 실습 사례
선택 옵션:
- ScriptProcessorNode로 .wav 형식 저장
- 오디오 FFT 스펙트럼 시각화
- 데시벨 단위 볼륨 막대
- webkitSpeechRecognition으로 음성 인식
2일차 – 피어 커넥션
1. 신호 서버
- 양방향 채널 옵션:
- WebSocket
- Socket.io
- SignalR
- 메시지 구조
- 간소화된 WebRTC 클라이언트
- 완전한 신호 흐름
- 실습 사례
2. WebRTC로 비디오 채팅
- 아키텍처: Node.js + ws
- WebRTC 클라이언트: RTCPeerConnection
- 로컬 E2E 테스트
- 실습 사례
선택 기능:
- 통화 종료 (연결 종료, 미디어 중지)
- 그룹 통화 (다중 사용자 방)
- 토큰 기반 간단한 인증
3. 화면 공유
- getDisplayMedia() 사용
- 아키텍처 및 옵션
- 실습 사례
4. 세션 설명 프로토콜(SDP)
- 소개 및 내용
- SDP 읽고 해석하기
- 코덱:
- 오디오 및 비디오
- 협상 및 제어
- 대안 전략
- 실습 사례
5. getStats()로 WebRTC Statistics
- 통계 유형
- 통계 해석 방법
- 실시간 비트율/지터 차트
- 품질 적응 전략
- 실습 사례
Requirements
회원 평가 (5)
저는 Gunnar가 교육 과정을 진행하는 동안 거의 모든 코드를 즉석에서 작성했던 점이 마음에 들었고, 교육이 끝난 후에도 참고할 수 있는 Google 드라이브에 미리 준비된 자료가 많이 있었다는 점도 좋았습니다. 제가 사전에 제공한 샘플 데이터를 기반으로 Gunnar가 작성한 코드도 매우 유용했고, 훈련을 우리의 데이터 세트와 관련성 있게 진행할 수 있었습니다.
Ranvir - Schroders Personal Wealth
Course - Visual Studio Code
Machine Translated
Topics that were discussed, lots of live code examples, trainers attitude towards group
Weronika - ATOS PGS sp. z o.o.
Course - Reactive Programming with Angular RxJS
Though an online training, the interactivity with the trainer was remarkable and was always available to provide valuable sources to complement the training. I am very satisfied.
Nuno Marques - MULTICERT, S.A.
Course - Functional Reactive Programming with Java 9 and RxJava
Trainer's enthusiasm around the subject
Matthew Fowles - AGRO Merchants Whitchurch Limited
Course - Web Application Development in PHP
Pacing, depth, and explanations were all superb. It's clear Scott is an expert on the subject and learning from him was super enjoyable.