Show HN: yt-dlp 기반 개인 YouTube 프론트엔드
- Title: "Show HN: A personal YouTube frontend based on yt-dlp"
- my-yt
- 목표: 광고와 잡다한 요소 없이 깨끗하고 최소한의 YouTube 프런트엔드 제공
- 기술: yt-dlp 및 사용자의 로컬 AI 모델을 이용해 로컬에서 광고 없이 YouTube를 이용할 수 있게 함
- 기능
- 채널 관리/구독 기능
- yt-dlp를 이용해 YouTube에서 동영상 다운로드
- 로컬 AI 모델을 이용해 동영상 내용 요약
- 원치 않는 동영상 무시
- 백그라운드 재생
- 오프라인 미디어 재생
- 자막 기능 지원 (HTML <track> 요소와 WebVTT API 사용)
- 의존성 없음 (nano-spawn 제외)
- HTML/CSS만 사용, 클라이언트/서버 측에 JS 프레임워크 없음
- 로컬 네트워크에서 호스팅하여 모든 기기에서 재생 가능
- 설치 방법
- Node.js로 설치
git clone https://github.com/christian-fei/my-yt.git
cd my-yt
npm i
npm start
- Docker로 설치
git clone https://github.com/christian-fei/my-yt.git
cd my-yt
docker compose up --build -d
- 또는
docker run -p 3000:3000 -it christianfei/my-yt:latest
- Node.js로 설치
- 개발 동기
- 알고리즘이 아닌 순서대로 피드 보기 원함
- 산만한 요소, 클릭 유도 섬네일, 댓글, 관련 동영상, 광고 없이 깨끗한 UI 제공
- 개인 프로젝트에 AI 통합 시도
- yt-dlp와 HTML5 <track> 요소 및 WebVTT API 실험
- YouTube Premium 비용을 지불하지만 광고 없는 경험과 주의 집중 원함
- 추가 예정 기능
- 다운로드한 동영상 삭제 기능
- 작은 미리보기와 전체화면 사이의 적당한 크기로 동영상 보기 기능
- 채널 구독 없이 개별 동영상 다운로드 기능
- LLM 서버 엔드포인트 지정
- 사용할 모델 선택 및 요약 기능 추가
- 프로젝트 파일
server.js
: 기본 HTTP 서버, 클라이언트 업데이트 위한 SSE 처리, HTTP Ranged 요청 구현llm.js
: LMStudio의 챗 완성 API 사용sse.js
: 서버 전송 이벤트 유틸리티 함수subtitles-summary.js
: LMStudio API 사용한 동영상 자막 요약youtube.js
: yt-dlp 래퍼, 동영상 다운로드, 채널 동영상 및 정보 가져오기, 자막 정리repository.js
: 동영상 정보 관리client
: 의존성 없는 기본 HTML5, CSS3, JS 프런트엔드, SSE 업데이트 처리, API 상호 작용
- 추가 정보
- 현재 LLM 측면에서 기본 챗 완성 API 지원 (LMStudio 사용)
- localhost:1234 에서 lms 서버 실행 예상
- meta-llama-3.1-8b-instruct 모델과 호환
- 커스터마이징은 사용자 관심에 따라 추후 추가될 예정
- DMCA 요청 전 프로젝트 다운로드 권장
4github.com링크 복사하기
AI 뉴스 요약은 뉴스의 내용을 AI가 요약(GPT-4 활용)한 것입니다. 따라서 틀린 내용을 포함할 수 있습니다. 뉴스의 자세한 내용을 확인하시려면 해당 뉴스 링크를 클릭해주세요.