feat: implement video site per README spec
- Express + EJS + express-session stack (auth/navbar ported from minecraft_launcher)
- Public: main folder list, folder video grid, internal popup player (/player/:videoId)
- Admin (/op): login, folder CRUD with right-click context menu + add-folder modal
- Admin folder: video grid with right-click edit/rename/delete, "영상 추가" -> editor
- Video editor: drag-drop upload, file picker, YouTube URL probe (ETA + 5분 경고),
background yt-dlp download with progress polling, navbar title edit, trim controls,
save runs ffmpeg trim (original preserved)
- Filesystem storage under data/folders/<name>/<videoId>/{meta.json, original.<ext>, edited.<ext>}
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
30
README.md
30
README.md
@@ -1,6 +1,36 @@
|
||||
# 비디오 사이트
|
||||
## 영상 업로드 및 저장을 위한 사이트
|
||||
|
||||
## 실행
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run build
|
||||
npm start # 기본 http://127.0.0.1:3000 (PORT=3000, HOST=127.0.0.1)
|
||||
```
|
||||
|
||||
- 외부 노출이 필요하면 `HOST=0.0.0.0 npm start`
|
||||
- 관리자 비밀번호는 `account.json` 의 `password` 값 (초기값 `admin`, 운영 시 반드시 변경)
|
||||
- 세션 비밀은 `SESSION_SECRET` 환경변수로 덮어쓰기 권장
|
||||
|
||||
## 외부 의존
|
||||
|
||||
- `yt-dlp` — YouTube 영상 가져오기 (`PATH` 또는 `./bin/yt-dlp` 에 설치)
|
||||
- `ffmpeg` — 영상 트림 저장 (`PATH` 에 설치). 없으면 trim 설정만 저장됩니다.
|
||||
|
||||
## 데이터 위치
|
||||
|
||||
```
|
||||
data/
|
||||
folders/<폴더이름>/<videoId>/
|
||||
meta.json # 영상 메타 (제목, trim, 원본/편집본 파일명)
|
||||
original.<ext> # 원본 (항상 보존)
|
||||
edited.<ext> # 편집본 (저장 시 생성)
|
||||
jobs/<jobId>.json # YouTube 다운로드 작업 상태
|
||||
```
|
||||
|
||||
## 스펙
|
||||
|
||||
### 메인 페이지 (/)
|
||||
- 동영상이 저장되어있는 폴더를 나열합니다.
|
||||
- 폴더를 선택해 안에 영상을 확인할수있습니다.
|
||||
|
||||
Reference in New Issue
Block a user