영상 번역은(는) 무엇을 하나요?
영상의 음성을 다른 언어로 번역하고, TTS로 더빙 오디오를 생성하여 원본 오디오 트랙을 교체합니다.
트리거
- 이 영상 번역해 줘
- 이 영상을 영어로 더빙해 줘
- translate this video
- video translation
사용 사례
- 사용자가 외국어 YouTube 영상을 시청할 때 모국어로 듣고 싶어합니다.
- 사용자가 영상 링크를 제공하고 명시적으로 오디오 언어 변경을 요청합니다.
워크플로우
사용자가 영상 번역을 요청하면:
-
영상 및 자막 다운로드:
youtube-downloader스킬을 사용하여 영상과 함께 SRT 자막을 다운로드합니다. 올바른 자막을 가져오기 위해 원본 언어를 반드시 지정하세요.python path/to/youtube-downloader/scripts/download_video.py "VIDEO_URL" --subtitles --sub-lang <source_lang_code> -o /tmp/video-translation -
자막 번역: 다운로드된
.srt파일을 읽습니다. 다음 고정 프롬프트를 사용하여 문장 단위로 대상 언어로 번역합니다. SRT 인덱스와 타임스탬프 형식은 그대로 유지하세요!번역 프롬프트:
다음 자막 텍스트를 에서 로 번역하세요. 번역된 텍스트만 제공하세요. 설명, 메모, 인덱스 번호를 추가하지 마세요. 번역은 구어체로 자연스럽고 영상 더빙에 적합해야 합니다.
번역된 텍스트를
translated.srt파일로 저장합니다. -
더빙 오디오 생성:
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 -
영상의 오디오 교체:
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 -
결과 제시: 사용자에게
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및 관련 스크립트가 있는지 확인하세요.
- youtube-downloader (crazynomad/skills) — SKILL.md
설치: crazynomad/skills에서
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가 설치되어 있어야 합니다.
제한 사항
- 원본 영상은 해당 플랫폼에서 원본 언어의 자막(또는 자동 생성 자막)이 있어야 합니다.
- 매우 긴 영상은 번역 및 더빙에 상당한 시간이 소요될 수 있습니다.