Skip to content

J4EH00N/Lec2Text

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lec2Text

LMS 강의 영상에서 텍스트를 추출하기 위한 개인용 CLI 도구입니다.

입력으로 mp4 URL, 강의 페이지 URL, 저장한 HTML 파일, HTML 문자열을 받을 수 있고, 가능한 경우 영상 주소를 찾아 다운로드한 뒤 음성을 전사해 txt 파일로 저장합니다.

이 프로젝트는 본인이 합법적으로 접근 가능한 강의에만 사용하는 것을 전제로 합니다.

Features

  • mp4 직접 다운로드
  • HTML에서 video/src/source/iframe/.mp4 패턴 추출
  • ffmpeg로 오디오 추출
  • faster-whisper로 한국어 전사
  • 다운로드 진행률과 전사 진행률 출력
  • 기본적으로 mp4txt만 남기고 중간 파일 정리
  • 작업 종료 후 최종 파일명 변경 가능
  • GPU 우선 실행, 필요 시 CPU 옵션 지원

Requirements

  • Windows
  • Python 3.10+
  • FFmpeg
  • NVIDIA GPU 사용 시 CUDA 환경

Installation

1. Clone

git clone https://github.com/J4EH00N/Lec2Text.git
cd Lec2Text

2. Create a virtual environment

python -m venv .venv
.venv\Scripts\Activate.ps1

3. Install Python packages

pip install -r requirements.txt

4. Install FFmpeg

winget install Gyan.FFmpeg

설치 후 새 PowerShell을 열고 아래로 확인합니다.

ffmpeg -version

5. GPU setup

GPU 전사를 쓰려면 CUDA/cuDNN 런타임이 필요합니다.

이미 맞춰져 있다면 바로 실행해도 되고, 그렇지 않으면 CPU 옵션으로 먼저 테스트할 수 있습니다.

Usage

기본 실행

python main.py "https://example.com/video.mp4"

CPU로 실행

python main.py "https://example.com/video.mp4" --device cpu

GPU만 강제

python main.py "https://example.com/video.mp4" --device cuda

SRT도 보관

python main.py "https://example.com/video.mp4" --keep-srt

HTML 파일 입력

python main.py ".\saved_page.html"

HTML 문자열 입력

python main.py "<video src='https://example.com/video.mp4'></video>"

CLI Options

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

기본적으로 작업이 끝나면 아래 파일만 남습니다.

output/
└─ lecture_name/
   ├─ lecture_name.mp4
   └─ lecture_name.txt

--keep-srt를 주면 .srt도 함께 남습니다.

Notes

  • 로그인 세션이 필요한 LMS 페이지는 requests만으로 바로 처리되지 않을 수 있습니다.
  • 이런 경우 브라우저에서 저장한 HTML 파일로 먼저 테스트하는 것이 가장 간단합니다.
  • 첫 실행 시 Whisper 모델 다운로드 때문에 시간이 걸릴 수 있습니다.
  • GPU 사용 중 문제가 생기면 --device cpu로 먼저 동작 확인을 할 수 있습니다.

License

개인용 토이 프로젝트입니다. 필요하면 이후 라이선스를 추가하세요.

About

Lec2Text

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages