Communitygithub.com

영상 번역

영상의 음성을 다른 언어로 번역하고 TTS로 더빙한 오디오로 원본 오디오 트랙을 교체합니다.

영상 번역란 무엇인가요?

이 스킬은 사용자가 동영상의 음성을 다른 언어로 번역하고 더빙할 수 있게 해줍니다. 주로 외국어 YouTube 영상을 시청할 때 원어로 듣고 싶은 경우에 유용합니다. youtube-downloader 스킬을 통해 영상과 자막을 다운로드하고, 자막을 번역한 후 Noiz TTS 백엔드를 사용해 타임라인에 맞춘 더빙 오디오를 생성합니다. 생성된 오디오를 원본 영상에 합성할 때, 원본의 비음성 배경음은 유지하고 번역된 부분만 오디오를 교체합니다. 이 과정에서 화자의 감정과 톤을 유지하기 위해 각 자막 구간별로 원본 오디오를 참조하여 음성 복제를 수행합니다. ffmpeg과 NOIZ_API_KEY가 필요하며, 최종 결과물은 번안된 오디오가 포함된 MP4 파일로 제공됩니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/noizai/skills/tree/main/skills/video-translation

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

영상 번역은(는) 무엇을 하나요?

영상의 음성을 다른 언어로 번역하고, TTS로 더빙 오디오를 생성하여 원본 오디오 트랙을 교체합니다.

트리거

  • 이 영상 번역해 줘
  • 이 영상을 영어로 더빙해 줘
  • translate this video
  • video translation

사용 사례

  • 사용자가 외국어 YouTube 영상을 시청할 때 모국어로 듣고 싶어합니다.
  • 사용자가 영상 링크를 제공하고 명시적으로 오디오 언어 변경을 요청합니다.

워크플로우

사용자가 영상 번역을 요청하면:

  1. 영상 및 자막 다운로드: youtube-downloader 스킬을 사용하여 영상과 함께 SRT 자막을 다운로드합니다. 올바른 자막을 가져오기 위해 원본 언어를 반드시 지정하세요.

    python path/to/youtube-downloader/scripts/download_video.py "VIDEO_URL" --subtitles --sub-lang <source_lang_code> -o /tmp/video-translation
    
  2. 자막 번역: 다운로드된 .srt 파일을 읽습니다. 다음 고정 프롬프트를 사용하여 문장 단위로 대상 언어로 번역합니다. SRT 인덱스와 타임스탬프 형식은 그대로 유지하세요!

    번역 프롬프트:

    다음 자막 텍스트를 에서 로 번역하세요. 번역된 텍스트만 제공하세요. 설명, 메모, 인덱스 번호를 추가하지 마세요. 번역은 구어체로 자연스럽고 영상 더빙에 적합해야 합니다.

    번역된 텍스트를 translated.srt 파일로 저장합니다.

  3. 더빙 오디오 생성: tts 스킬을 사용하여 번역된 SRT에서 타임라인에 맞는 오디오를 렌더링합니다. Noiz 백엔드는 각 문장의 길이를 원본 영상 자막 타임스탬프에 자동으로 맞춥니다.

    각 문장에 대해 복제된 음성이 원본 화자의 정확한 톤과 감정과 일치하도록 하려면 원본 영상 파일을 --ref-audio-track에 전달하세요. TTS 엔진은 각 자막 구간의 정확한 타임스탬프에서 원본 오디오를 자동으로 잘라 해당 세그먼트의 참조로 사용합니다.

    기본 voice_map.json을 생성합니다:

    {
      "default": {
        "target_lang": "<target_lang_code>"
      }
    }
    

    타임라인에 맞는 오디오를 렌더링합니다:

    bash skills/tts/scripts/tts.sh render --srt translated.srt --voice-map voice_map.json --backend noiz --auto-emotion --ref-audio-track original_video.mp4 -o dubbed.wav
    
  4. 영상의 오디오 교체: replace_audio.sh 스크립트를 사용하여 원본 영상과 새 더빙 오디오를 병합합니다. 번역된 구간 외부에 있는 원본 영상의 비음성 배경음을 유지하려면 --srt 파일을 전달하세요.

    bash skills/video-translation/scripts/replace_audio.sh --video original_video.mp4 --audio dubbed.wav --output final_video.mp4 --srt translated.srt
    
  5. 결과 제시: 사용자에게 final_video.mp4 파일 경로를 반환합니다.

입력

  • 필수 입력:
    • VIDEO_URL: 번역할 영상의 URL.
    • target_language: 오디오를 번역할 대상 언어.
  • 선택 입력:
    • source_language: 원본 영상의 언어 (자동 감지되지 않거나 지정되지 않은 경우).
    • reference_audio: 동적 원본 영상 트랙 대신 음성 복제에 사용할 특정 오디오 파일/URL.

출력

  • 성공: 오디오가 교체된 최종 영상 파일의 경로.
  • 실패: 다운로드, TTS 또는 오디오 교체 중 어디에서 실패했는지 명시하는 명확한 오류 메시지.

요구사항

  • 의존성 (다른 스킬)
    • youtube-downloader (crazynomad/skills) — SKILL.md 설치: crazynomad/skills에서 skills/youtube-downloader 디렉토리를 클론하거나 복사한 후 skills/ 폴더에 넣어 skills/youtube-downloader/scripts/download_video.py이 사용 가능하도록 합니다.
    • tts (NoizAI/skills) — SKILL.md 이 저장소에 아직 없다면: NoizAI/skills에서 skills/tts 디렉토리를 클론하거나 복사한 후 skills/ 폴더에 넣습니다. skills/tts/scripts/tts.sh 및 관련 스크립트가 있는지 확인하세요.
  • NOIZ_API_KEY가 Noiz 백엔드용으로 구성되어 있어야 합니다. 설정되지 않은 경우, 먼저 사용자에게 https://developers.noiz.ai/api-keys에서 API 키를 받도록 안내합니다. 사용자가 키를 제공하면 키를 영구 저장할지 물어보고, 동의하면 프로젝트의 .env 파일에 NOIZ_API_KEY=...를 쓰거나 업데이트하거나 bash skills/tts/scripts/tts.sh config --set-api-key YOUR_KEY를 실행하여 저장합니다.
  • ffmpeg가 설치되어 있어야 합니다.

제한 사항

  • 원본 영상은 해당 플랫폼에서 원본 언어의 자막(또는 자동 생성 자막)이 있어야 합니다.
  • 매우 긴 영상은 번역 및 더빙에 상당한 시간이 소요될 수 있습니다.

Individual skills in this repo

This repo contains 6 individual skills — each has its own dedicated page.

관련 스킬