LMS 강의 영상에서 텍스트를 추출하기 위한 개인용 CLI 도구입니다.
입력으로 mp4 URL, 강의 페이지 URL, 저장한 HTML 파일, HTML 문자열을 받을 수 있고, 가능한 경우 영상 주소를 찾아 다운로드한 뒤 음성을 전사해 txt 파일로 저장합니다.
이 프로젝트는 본인이 합법적으로 접근 가능한 강의에만 사용하는 것을 전제로 합니다.
mp4직접 다운로드- HTML에서
video/src/source/iframe/.mp4패턴 추출 ffmpeg로 오디오 추출faster-whisper로 한국어 전사- 다운로드 진행률과 전사 진행률 출력
- 기본적으로
mp4와txt만 남기고 중간 파일 정리 - 작업 종료 후 최종 파일명 변경 가능
- GPU 우선 실행, 필요 시 CPU 옵션 지원
- Windows
- Python 3.10+
- FFmpeg
- NVIDIA GPU 사용 시 CUDA 환경
git clone https://github.com/J4EH00N/Lec2Text.git
cd Lec2Textpython -m venv .venv
.venv\Scripts\Activate.ps1pip install -r requirements.txtwinget install Gyan.FFmpeg설치 후 새 PowerShell을 열고 아래로 확인합니다.
ffmpeg -versionGPU 전사를 쓰려면 CUDA/cuDNN 런타임이 필요합니다.
이미 맞춰져 있다면 바로 실행해도 되고, 그렇지 않으면 CPU 옵션으로 먼저 테스트할 수 있습니다.
python main.py "https://example.com/video.mp4"python main.py "https://example.com/video.mp4" --device cpupython main.py "https://example.com/video.mp4" --device cudapython main.py "https://example.com/video.mp4" --keep-srtpython main.py ".\saved_page.html"python main.py "<video src='https://example.com/video.mp4'></video>"python main.py [input_value] [--output-dir OUTPUT_DIR] [--model MODEL] [--device {auto,cuda,cpu}] [--keep-srt]
input_value: mp4 URL, 페이지 URL, HTML 파일 경로, HTML 문자열--output-dir: 결과 저장 폴더--model: Whisper 모델 크기 (tiny,base,small,medium,large-v3)--device:auto,cuda,cpu--keep-srt: 기본 삭제 대신srt보관
기본적으로 작업이 끝나면 아래 파일만 남습니다.
output/
└─ lecture_name/
├─ lecture_name.mp4
└─ lecture_name.txt
--keep-srt를 주면 .srt도 함께 남습니다.
- 로그인 세션이 필요한 LMS 페이지는
requests만으로 바로 처리되지 않을 수 있습니다. - 이런 경우 브라우저에서 저장한 HTML 파일로 먼저 테스트하는 것이 가장 간단합니다.
- 첫 실행 시 Whisper 모델 다운로드 때문에 시간이 걸릴 수 있습니다.
- GPU 사용 중 문제가 생기면
--device cpu로 먼저 동작 확인을 할 수 있습니다.
개인용 토이 프로젝트입니다. 필요하면 이후 라이선스를 추가하세요.