Skip to content

유튜브 스타일 자막 토글 기능을 위한 백엔드 구현 #18

@HyupTree

Description

@HyupTree

배경

현재 비디오에는 자막이 하드코딩되어 있어 사용자가 자막을 켜거나 끌 수 없습니다. 유튜브와 같이 사용자가 자막을 선택적으로 표시할 수 있도록 백엔드에서 WebVTT 자막 파일을 생성하고 제공해야 합니다.

목표

  • 비디오 생성 시 자막을 하드코딩하지 않고 별도의 WebVTT 파일 생성
  • 비디오 URL과 자막 URL을 함께 API 응답으로 제공
  • 자막 파일을 정적 리소스로 서빙하기 위한 서버 설정

구현 방안

  1. WebVTT 자막 파일 생성 기능 추가

    • 문단별 타임스탬프를 기반으로 WebVTT 형식의 자막 파일 생성
    • 자막 파일 저장을 위한 디렉토리 구성
  2. 비디오 생성 로직 수정

    • 자막을 하드코딩하지 않은 비디오 생성
    • 오디오 길이를 기반으로 자막 타임스탬프 계산
  3. API 응답 형식 수정

    • 비디오 URL과 함께 자막 URL 반환
  4. 정적 파일 서빙 설정 추가

    • 자막 파일을 클라이언트에서 접근할 수 있도록 정적 파일 서빙 설정

기술적 고려사항

  • WebVTT 파일 형식 준수 (UTF-8 인코딩, 올바른 타임스탬프 형식)
  • 자막 파일 저장 경로 및 접근 URL 구성
  • 비디오와 자막 파일의 연결을 위한 고유 식별자 사용 (UUID)

수정이 필요한 파일

  • src/services/video_service.py:

    • WebVTT 파일 생성 함수 추가
    • 비디오 생성 함수 수정 (자막 하드코딩 제거)
    • 자막 파일 저장 로직 추가
  • src/routers/video_router.py:

    • API 응답에 자막 URL 추가
  • src/main.py:

    • 자막 파일 디렉토리를 위한 정적 파일 서빙 설정 추가

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions