이 프로젝트는 대학 강의 플랫폼(Plato)에서 스트리밍되는 강의 영상을 효율적으로 학습하기 위해 개발된 크롬 익스텐션입니다. 네트워크 패킷을 분석하여 M3U8 스트리밍 소스를 탐지하고, 이를 로컬 환경에서 통합된 영상 파일로 변환하는 파이프라인의 시작점 역할을 합니다.
⚠️ 주의: 본 도구는 교육 및 개인 학습 목적으로만 개발되었습니다. 수집된 자료의 무단 배포나 상업적 이용으로 인한 책임은 사용자에게 있습니다.
- Network Traffic Interception:
chrome.webRequestAPI를 활용하여 강의 영상의.m3u8인덱스 파일을 실시간으로 탐지합니다. - Auto-Capture & List Up: 탐지된 영상 소스를 팝업 UI에 자동으로 나열하여 사용자가 간편하게 URL을 복사할 수 있도록 돕습니다.
- Seamless Pipeline Integration: 복사된 URL은 로컬 배시 스크립트나 FFmpeg과 연동되어 MP4 변환 및 주차별 정리를 수행하는 기초 데이터로 활용됩니다.
- Manifest V3 Compliance: 최신 크롬 익스텐션 규격인 Manifest V3를 준수하여 보안성과 성능을 확보했습니다.
- Frontend: HTML5, CSS3, JavaScript (Vanilla JS)
- Extension API: Chrome WebRequest, DeclarativeNetRequest, Content Scripts
- Tools: Git (Version Control)
-
저장소 클론 (Private 권한 필요)
git clone [https://github.com/Squater0219/Plato-Video-Downloader.git](https://github.com/Squater0219/Plato-Video-Downloader.git)
-
크롬 익스텐션 로드 크롬 브라우저에서 chrome://extensions/ 접속 우측 상단 '개발자 모드' 활성화 '압축해제된 확장 프로그램을 로드합니다' 버튼 클릭 후 프로젝트 폴더 선택
-
작동 확인 플라토 강의 시청 페이지 접속 익스텐션 아이콘 클릭 후 탐지된 .m3u8 링크 확인
├── manifest.json # 익스텐션 설정 및 권한 정의
├── popup.html # 탐지된 링크를 보여주는 UI
├── popup.js # 백그라운드 스크립트와 통신 및 UI 로직
├── background.js # 네트워크 트래픽 인터셉트 엔진
├── lib/ # 외부 라이브러리 (필요 시)
└── .gitignore # 대용량 미디어 파일 및 임시 파일 제외 설정