lang: kr slug: video-retalking title: ‘VideoReTalking: 별 7.2K개 이상’ description: ‘VideoReTalking(VRT)은 말하는 머리 비디오 편집을 위한 오디오 기반 립싱크 시스템입니다. RVC, GPT-SoVITS 및 Coqui TTS와 호환됩니다. 설치, 추론, Gradio WebUI, 프로덕션 배포 및 Wav2Lip 및 SadTalker에 대한 벤치마크를 다룹니다.’ tags: [“ai-tools”, “guide”, “open-source”, “reference”, “tutorial”, “video-generation”] date: 2026-05-19 00:00:00+08:00 lastmod: 2026-05-19 00:00:00+08:00 tech_stack: [] application_domain: Ai Tools source_version: ’' licensing_model: Open Source license_type: Apache-2.0 file_size: ’' file_md5: ’' download_url: ’' backup_url: ’' github_repo: ‘https://github.com/OpenTalker/video-retalking' last_maintained: ‘2026-05-19’ draft: false categories: [‘ai-tools’] aliases:- /게시물/video-retalking/ 자주 묻는 질문:
- q: ‘VideoReTalking을 실행하려면 어떤 하드웨어가 필요합니까?’ a: ‘최소 8GB VRAM을 갖춘 NVIDIA GPU가 실제적인 최소 수준인 반면, 24GB를 갖춘 RTX 3090/4090은 대략 실시간 속도로 512x512 비디오를 처리합니다. CPU 전용 추론은 작동하지만 실행 속도가 10~15배 더 느리고 Apple Silicon(M1/M2)은 CPU 모드에서만 지원됩니다.’
- q: ‘VideoReTalking’의 3단계 파이프라인은 어떻게 작동합니까?’ a: ‘3가지 모듈을 사용합니다. D-Net은 3DMM 계수를 사용하여 얼굴 표정을 중립 템플릿으로 정규화하고, L-Net은 Wav2Lip 기반 오디오 기반 립 동기화를 수행하며, E-Net은 GFPGAN 및 GPEN 얼굴 복원을 통해 사실감을 향상시킵니다. 이는 표현, 립싱크, 강화를 별도의 단계로 풀어줍니다.’
- q: ‘VideoReTalking을 상업용 프로젝트에 사용할 수 있나요?’ a: ‘예, Apache-2.0 라이선스는 상업적 사용을 허용합니다. 그러나 초상권 요건으로 인해 초상이 수정된 사람의 동의를 받아야 하며 서면 허가 없이 Tencent 상표를 사용할 수 없습니다.’
- q: ‘VideoReTalking은 영어 이외의 언어도 지원하나요?’ 가: ‘그렇습니다. 립싱크 네트워크는 음향 특징을 여러 언어에서 공유되는 비짐(입 모양)에 매핑하므로 언어에 구애받지 않습니다. 중국어, 일본어, 스페인어, 아랍어는 모두 커뮤니티 테스트를 거쳐 좋은 결과를 얻었습니다.’
- q: ‘VideoReTalking은 Wav2Lip 및 SadTalker와 어떻게 비교됩니까?’
a: ‘VideoReTalking은 속도와 품질 사이에 위치하며 립싱크 신뢰도(LSE-C 8.7)와 이미지 충실도(PSNR 32.4dB)에서 두 항목보다 더 높은 점수를 받았습니다. Wav2Lip은 약 2배 빠르지만 더 흐릿한 출력을 생성하는 반면 SadTalker는 기존 비디오를 편집하는 대신 단일 정지 이미지에서 머리 동작을 생성합니다.’ featureImage: /images/articles/videoretalking-별-72k개-이상.png — GPU RAM Storage CUDA 자식 클론 https://github.com/OpenTalker/video-retalking.git CD 비디오 재토킹 ````### 2단계: Conda 환경 생성``배쉬 conda create -n video_retalking python=3.8 -y conda는 video_retalkin``bash를 활성화합니다. conda create -n video_retalking python=3.8 -y conda는 video_retalking을 활성화합니다 콘다 설치 ffmpeg -y ``기본값) pip 설치 토치==1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html# CUDA 12.1의 경우(현대 G``` bas h
pip 설치 토치==1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html
CUDA 12.1(최신 GPU, 2026)의 경우 #
pip 설치 torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 –index-url https://download.pytorch.org/whl/cu121
t==1.3.4 닌자==1.10.2.3 아이놉스==0.4.1 Facexlib==0.2.5 librosa==0.9.2 dlib==19.24.0 그라데이션>=3.7.0 넘파이==1.23.4 ````### 5단계: 사전 훈련된 모델 다운로드[Google Drive](https://drive.google.com/drive/folders/18rhjMpxK8LVVxf7PI6XwOidt8Vouv_H0)에서 사전 학습된 체크포인트를 다운로드하고 `./checkpoints/`에 추출합니다.배쉬
Direc``bash #
pip 설치 -r 요구사항.txt ``점/
├── 244000.pth (D-Net 표현 편집) #
├── wav2lip.pth (L-Net li``` #
기본sr==1.4.2 코르니아==0.5.1 얼굴 정렬==1.3.4 닌자==1.10.2.3 아이놉스==0.4.1 Facexlib==0.2.5 librosa==0.9.2 dlib==19.24.0 그라데이션>=3.7.0 넘파이==1.23.4 ``n -c “토치 가져오기; print(‘CUDA 사용 가능:’, torch.cuda.is_available()); print(‘장치:’, torch.cuda.get_device_name(0) if torch.cuda.is_available() else ‘CPU’)”
GP
U
시스템의 예상 출력:````
CUDA 사용 가능: True
장치: NVIDIA GeForce RTX 4090
````## TTS 및 음성 복제 도구와의 통합### RVC(검색 기반 음성 Conversio```
bash
와의
통합)
# 디렉토리 구조는 다음과 같아야 합니다:
# ./체크포인트/
# ├── 244000.pth (D-Net 표현 편집)
# ├── wav2lip.pth (L-Net 립싱크)
# ├── GFPGANv1.3.pth (GFPGAN 인핸서)
# ├── GPEN-BFR-512.pth (GPEN 인핸서)
# └── ...
``v# 2단계: RVC 출력을 VideoReTalking에 공급
파이썬 추론.py \
--face input_video.mp4 \
--audio rvc_output.wav \
--outfile 출력_rvc_synced.mp4
````### GPT-SoVITS와 통합GPT-SoVITS는 몇 번의 음성 복제로 고품질 TTS를 생성합니다. 작업 흐름:``파이썬
# gpt_sov```
bas
h
python -c "토치 가져오기; print('CUDA 사용 가능:', torch.cuda.is_available()); print('장치:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CPU')"
``이것은 내 동영상의 더빙 버전입니다.",
"--ref_audio", "reference_voice.wav",
"--output", "tts_output.wav"
])# 2단계: VideoReTalking 실행
하위 프로세스.실행([
"파이썬", "추론.py",
"--얼굴"```
CUDA 사용 가능: True
장치: NVIDIA GeForce RTX 4090
``--outfile", "final_dubbed.mp4",
"--exp_img", "중립",
"--up_face", "놀라움"
])
````### Coqui TTS와 통합``배쉬
# 코퀴 TTS 설치
핍 설치 TTS# 음성 생성
tts --text "이것은 비디오의 새로운 대화입니다." \
--model_name tts_models/다국어/다중```
bas
h
# 1단계: RVC를 사용하여 오디오 생성 또는 변환
python rvc/infer.py --input input.wav --모델 가중치/model.pth --output rvc_output.wav
# 2단계: RVC 출력을 VideoReTalking에 공급
파이썬 추론.py \
--face input_video.mp4 \
--audio rvc_output.wav \
--outfile 출력_rvc_synced.mp4
``erence 속도 벤치마크10초 512x512 입력 비디오를 사용하여 NVIDIA RTX 4090에서 테스트되었습니다.| Stage | Time | VRAM Peak |
|---|---|---|
| D-Net (expression normalization) | 2.1s | 4.2 GB |
| L-Net (lip sync) | 3.8s | 3.8 GB |
| E-Net (GFPGAN enhancement) | 4.5s | 5.1 GB |
| Total pipeline | ~10.4s | 13.1 GB |
| CPU fallback (AMD Ryzen 9) | ~140s | N/A |VideoReTalking은 대략 **1초의 비디오 p```
python
을
처리합니다.
# gpt_sovits_videoretalking.py
가져오기 하위 프로세스
수입 OS
# 1단계: GPT-SoVITS로 TTS 생성
하위 프로세스.실행([
"python", "GPT_SoVITS/inference_webui.py",
"--text", "안녕하세요. 제 영상의 더빙 버전입니다.",
"--ref_audio", "reference_voice.wav",
"--output", "tts_output.wav"
])
# 2단계: VideoReTalking 실행
하위 프로세스.실행([
"파이썬", "추론.py",
"--face", "source_video.mp4",
"--audio", "tts_output.wav",
"--outfile", "final_dubbed.mp4",
"--exp_img", "중립",
"--up_face", "놀라움"
])
``com/OpenTalker/video-retalking/main/examples/face/1.jpg)*VideoReTalking이 생성하는 립싱크 품질을 보여주는 입력 프레임 및 처리된 출력의 예.*1. **비디오 더빙**: 원래 발표자의 시각적 존재감을 유지하면서 여러 언어로 더빙하여 교육 비디오, 마케팅 콘텐츠, e-러닝 자료를 현지화합니다.
2. **팟캐스트-비디오 향상**: 원본 녹음에 오디오 문제가 있을 때 미리 녹음된 오디오 해설을 말하는 장면과 일치시킵니다.
3. **가상 아바타**: TTS 엔진과 결합하여 고객 서비스 bash를 위한 실시간 아바타 시스템을 만듭니다.
# 코퀴 TTS 설치
핍 설치 TTS
# 음성 생성
tts --text "이것은 비디오의 새로운 대화입니다." \
--model_name tts_models/다국어/다중 데이터 세트/xtts_v2 \
--speaker_wav 참조.wav \
--언어_idx ko \
--out_path coqui_output.wav
# VideoReTalking으로 립싱크하기
파이썬 추론.py \
--face 원본_비디오.mp4 \
--audio coqui_output.wav \
--outfile coqui_synced.mp4
``비디오 및 오디오 업로드 삭제
- 표정 템플릿 선택(중립, 스마일)
- 윗얼굴 감정 조절(놀람, 화남)
- 긴 영상의 일괄 세그먼트 처리역방향 프록시 뒤의 원격 액세스의 경우:``배쉬
python webUI.py --서버 이름 0.0.0.0 --서버 포트 7860 --share
````### 도커 배포``도커파일
# 도커파일
nvidia/cuda에서:12.1.0-runtime-ubuntu22.04실행 apt-get 업데이트 && apt-get install -y \
python3.8 python3-pip ffmpeg git wget \
libgl1-메사-glx libglib2.0-0WORKDIR /앱
git clone https://github.com/OpenTalker/video-retalking.git을 실행하세요.
실행 pip3 토치 설치 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
실행 pip3 설치 -r 요구사항.txt# 체크포인트 다운로드(프로덕션 볼륨으로 마운트)
mkdir -p 체크포인트 실행노출 7860
CMD ["python3", "webUI.py", "--서버 이름", "0.0.0.0"]
````빌드
및 실행:``배쉬
docker build -t video-retalking .
docker run --gpus all -p 7860:7860 -v $(pwd)/checkpoints:/app/checkpoints video-retalking
````### 일괄 처리 스크립트``파이썬
#!/usr/bin/env python3
# 배치_프로세스.py
수입 OS
가져오기 하위 프로세스
pathlib import 경로에서INPUT_DIR = "input_videos"
AUDIO_DIR = "input_audio"
OUTPUT_DIR = "출력"
os.makedirs(OUTPUT_DIR,exist_ok=True)video_files = sorted(Path(INPUT_DIR).glob("*.mp4"))
audio_files = sorted(Path(AUDIO_DIR).glob("*.wav"))vid, aud in zip(video_files, audio_files):
출력 이름 = f"{OUTPUT_DIR}/{vid.stem}_synced.mp4"
print(f"처리 중: {vid.name} + {aud.name}")
하위 프로세스.실행([
"파이썬", "추론.py",
"--얼굴", str(vid),
"--오디오", str(aud),
"--outfile", 아웃이름,
"--exp_img", "중립"
])
````### 모니터링 및 로깅``파이썬
# 구조화된 로깅을 갖춘 프로덕션 래퍼
수입 로깅
수입 시간
수입 토치로깅.기본 구성(
레벨=로깅.INFO,
format='%(asctime)s - %(levelname)s - %(message)s',
핸들러=[
login.FileHandler('videoretalking.log'),
로깅.스트림핸들러()
]
)def inference_with_monitoring(face_path, audio_path, output_path):
시작 = 시간.시간()
vram_before = torch.cuda.memory_allocation() / 1e9
# 추론 실행
subprocess.run([...]) # 추론 명령
경과 = time.time() -```
bas
h
# WebUI 실행
파이썬 webUI.py
``cated() / 1e9
login.info(f"{elapsed:.1f}s 동안 {face_path}을(를) 처리했습니다. "
f"VRAM: {vram_before:.1f}GB -> {vram_after:.1f}GB")
````### 보안 고려 사항- 모델 가중치에 대한 읽기 전용 파일 시스템 마운트가 있는 컨테이너 내부에서 실행
- 'CUDA_VISIBLE_DEVICES'로 GPU 액세스를 제한하여 워크로드를 격리합니다.
- Val``bash
python webUI.py --서버 이름 0.0.0.0 --서버 포트 7860 --share
``프로젝트에는 초상권 및 규정 준수에 대한 포괄적인 면책 조항이 포함되어 있습니다.## 비교``dockerfile
# 도커파일
nvidia/cuda에서:12.1.0-runtime-ubuntu22.04
실행 apt-get 업데이트 && apt-get install -y \
python3.8 python3-pip ffmpeg git wget \
libgl1-메사-glx libglib2.0-0
WORKDIR /앱
git clone https://github.com/OpenTalker/video-retalking.git을 실행하세요.
실행 pip3 토치 설치 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
실행 pip3 설치 -r 요구사항.txt
# 체크포인트 다운로드(프로덕션 볼륨으로 마운트)
mkdir -p 체크포인트 실행
노출 7860
CMD ["python3", "webUI.py", "--서버 이름", "0.0.0.0"]
``(CC BY-NC) | 예(MIT) |
| CPU 지원 | 예 | 예 | 예 | 아니요 |
| GPU VRAM(최소) | 8GB | 4GB | 6GB | 12GB |
| 다국어 오디오 | 예 | 예 | 예 | 예 |
| 머리 포즈 보존 | 예 | 예 | 새로운 생성 | 부분 |
| GitHub 스타(2026-05) | 7,200 | 10,800 | 12,500 | 1,800 |VideoReTalking은 속도와 품질 사이에서 가장 좋은 위치에 있습니다. Wav2Lip은 더 빠르지만 더 흐릿한 출력을 생성합니다. SadTalker는 단일 이미지에서 매력적인 머리 모션을 생성하지만 비디오가 아닌 정지 사진 입력이 필요합니다. GeneFace는 높은 충실도를 제공하지만 더 많은 VRAM``bash를 요구합니다.
docker build -t video-retalking .
docker run --gpus all -p 7860:7860 -v $(pwd)/checkpoints:/app/checkpoints video-retalking
``d 포즈 실패**: D-Net은 극단적인 프로필 뷰나 심하게 가려진 얼굴을 처리할 수 없습니다. ±45° 요를 초과하는 측면 뷰 비디오에서는 아티팩트가 생성됩니다.
2. **실제 Python은 없습니다.
#!/usr/bin/env python3
# 배치_프로세스.py
수입 OS
가져오기 하위 프로세스
pathlib import 경로에서
INPUT_DIR = "input_videos"
AUDIO_DIR = "input_audio"
OUTPUT_DIR = "출력"
os.makedirs(OUTPUT_DIR,exist_ok=True)
video_files = sorted(Path(INPUT_DIR).glob("*.mp4"))
audio_files = sorted(Path(AUDIO_DIR).glob("*.wav"))
vid, aud in zip(video_files, audio_files):
출력 이름 = f"{OUTPUT_DIR}/{vid.stem}_synced.mp4"
print(f"처리 중: {vid.name} + {aud.name}")
하위 프로세스.실행([
"파이썬", "추론.py",
"--얼굴", str(vid),
"--오디오", str(aud),
"--outfile", 아웃이름,
"--exp_img", "중립"
])
``동작**: Google 드라이브에서 2GB 이상의 체크포인트 다운로드는 CI/CD 파이프라인에 대해 스크립트할 수 없습니다.## 자주 묻는 질문### VideoReTalking을 실행하려면 어떤 하드웨어가 필요합니까?최소 8GB VRAM을 갖춘 NVIDIA GPU가 실제 최소 사양입니다. 24GB의 4090은 대략 실시간 속도로 512x512 비디오를 처리합니다. CPU 추론은 작동하지만 10~15배 더 오래 걸립니다. Apple Silicon은 CPU 모드에서만 실행됩니다.### VideoReTalking을 상업용 프로젝트에 사용할 수 있나요?예. Apache-2.0 라이센스는 상업적 사용을 허용합니다. 하지만 이 프로젝트에는 초상권에 대한 면책 조항이 포함되어 있습니다. 초상이 수정된 사람의 동의를 받아야 합니다. Tencent 상표는 서면 "파이썬" 없이는 사용할 수 없습니다.
# 구조화된 로깅을 갖춘 프로덕션 래퍼
수입 로깅
수입 시간
수입 토치
로깅.기본 구성(
레벨=로깅.INFO,
format='%(asctime)s - %(levelname)s - %(message)s',
핸들러=[
login.FileHandler('videoretalking.log'),
로깅.스트림핸들러()
]
)
def inference_with_monitoring(face_path, audio_path, output_path):
시작 = 시간.시간()
vram_before = torch.cuda.memory_allocation() / 1e9
# 추론 실행
subprocess.run([...]) # 추론 명령
경과 = time.time() - 시작
vram_after = torch.cuda.memory_allocation() / 1e9
login.info(f"{elapsed:.1f}s 동안 {face_path}을(를) 처리했습니다. "
f"VRAM: {vram_before:.1f}GB -> {vram_after:.1f}GB")
``ct. `inference.py`를 편집하고 강화기 초기화를 변경하여 GPEN 강화기로 전환해 보세요. 또는 더 선명한(그러나 잠재적으로 일관성이 떨어지는) 출력을 위해 향상을 완전히 비활성화합니다.### 내 데이터세트에서 모델을 미세 조정할 수 있나요?저장소는 추론 코드만 제공합니다. 미세 조정하려면 D-Net(VoxCeleb의 표현 편집) 및 L-Net(LRS2의 립싱크)에 대한 훈련 루프를 다시 구현해야 합니다. 이 문서에는 이에 대한 충분한 아키텍처 세부 정보가 포함되어 있지만 교육 스크립트는 포함되어 있지 않습니다.## 결론VideoReTalking은 프로덕션급 출력 품질로 오디오 기반 립싱크를 위한 실용적인 자체 호스팅 솔루션을 제공합니다. 3단계 파이프라인(표현 정규화, 립싱크 생성, 얼굴 강화)은 대용량 워크플로우에 대해 적은 비용으로 상용 대안에 필적하는 결과를 생성합니다.**시작하기 위한 작업 항목:**1. 위 명령을 사용하여 저장소를 복제하고 conda 환경을 설정합니다.
2. 2GB 체크포인트 번들을 `./checkpoints/`에 다운로드합니다.
3. `examples/`에 있는 샘플 파일을 사용하여 빠른 추론 명령을 실행합니다.
4. 대화형 실험을 위해 Gradio WebUI 실행
5. 완전한 음성 복제 + 립싱크 파이프라인을 위해 GPT-SoVITS 또는 RVC와 연결[Telegram의 dibi8 개발자 커뮤니티](https://t.me/dibi8tech)에 가입하여 VideoReTalking 배포를 공유하고 다른 빌더로부터 도움을 받으세요.
## 권장 호스팅 및 인프라위의 도구를 프로덕션에 배포하기 전에 견고한 인프라가 필요합니다. dibi8이 실제로 사용하고 권장하는 두 가지 옵션은 다음과 같습니다.- **DigitalOcean
** — 14개 이상의 전 세계 지역에서 60일 동안 $200 무료 크레딧을 제공합니다. 오픈 소스 AI 도구를 실행하는 인디 개발자를 위한 기본 옵션입니다.
- **HTStack
** — 중국 본토에서 지연 시간이 짧은 홍콩 VPS입니다. 이는 dibi8.com을 호스팅하는 동일한 IDC이며 프로덕션 환경에서 전투 테스트를 거쳤습니다.*제휴 링크 — 추가 비용이 들지 않으며 dibi8.com을 계속 운영하는 데 도움이 됩니다.*## 출처 및 추가 자료- [VideoReTalking GitHub 리포지토리](https://github.com/OpenTalker/video-retalking)
- [VideoReTalking 프로젝트 페이지](https://opentalker.github.io/video-retalking/)
- [VideoReTalking arXiv 논문](https://arxiv.org/abs/2211.14758)
- [SIGGRAPH Asia 2022 논문집](https://arxiv.org/pdf/2211.14758.pdf)
- [Wav2Lip 저장소](https://github.com/Rudrabha/Wav2Lip)
- [SadTalker 저장소](https://github.com/OpenTalker/SadTalker)
- [GeneFace 저장소](https://github.com/yerfor/GeneFace)
- [GFPGAN 얼굴 복원](https://github.com/TencentARC/GFPGAN)
- [사전 훈련된 모델(Google 드라이브)](https://drive.google.com/drive/folders/18rhjMpxK8LVVxf7PI6XwOidt8Vouv_H0)<!--자동 참조-->
## 참고자료 및 출처- [VideoReTalking](https://github.com/OpenTalker/video-retalking)
- [Wav2Lip](https://github.com/Rudrabha/Wav2Lip)
- [SadTalker](https://github.com/OpenTalker/SadTalker)
- [진페이스](https://github.com/yerfor/GeneFace)
- [GFPGAN](https://github.com/TencentARC/GFPGAN)
- [GPEN](https://github.com/yangxy/GPEN)
- [GPT-SoVITS](https://github.com/RVC-Boss/GPT-SoVITS)
- [코퀴TTS](https://github.com/coqui-ai/TTS)
💬 댓글 토론