| 항목 | Shaka Player | React Player |
|---|---|---|
| 개발사 | 커뮤니티 기반 | |
| 지원 스트리밍 | MPEG-DASH, HLS, DRM | YouTube, Vimeo, mp4, HLS (간단한 지원) 등 |
| DRM 지원 | ✅ (Widevine, PlayReady 등) | ❌ (DRM 비지원) |
| 사용 용도 | 고급 스트리밍 서비스 (넷플릭스급) | 다양한 플랫폼의 비디오를 임베딩하는 용도 |
| 영상 제어 | 세밀한 제어 가능 (버퍼, 트랙 선택, 오디오 등) | 기본 제어 (플레이, 일시정지, 볼륨, 전체화면 등) |
| React 연동 | 직접 <video>와 player 인스턴스 관리해야 함 | React 컴포넌트로 바로 사용 가능 (<ReactPlayer />) |
DRM이란?
디지털 콘텐츠(영상, 음악, 전자책 등)의 불법 복제나 무단 이용을 막기 위해 권한을 제어하는 기술
예시:
- 유료 스트리밍 사이트에서 영화를 봤는데
- 영상 파일을 직접 다운로드하거나 캡처해도 정상 재생이 안 됨
- 이게 바로 DRM이 작동하고 있다는 증거
장점
단점
useEffect로 초기화 등 손이 많이 감장점
단점
import ReactPlayer from 'react-player';
<ReactPlayer url='https://www.youtube.com/watch?v=dQw4w9WgXcQ' controls />
useEffect(() => {
const video = document.getElementById('video') as HTMLVideoElement;
const player = new shaka.Player(video);
player.load('https://example.com/manifest.mpd');
}, []);