검색
회원가입로그인

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
  • 개발 동기
    • 알고리즘이 아닌 순서대로 피드 보기 원함
    • 산만한 요소, 클릭 유도 섬네일, 댓글, 관련 동영상, 광고 없이 깨끗한 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 활용)한 것입니다. 따라서 틀린 내용을 포함할 수 있습니다. 뉴스의 자세한 내용을 확인하시려면 해당 뉴스 링크를 클릭해주세요.
원본 뉴스 보기