소개
Google Colab 버전(브라우저 내 무료 클라우드 컴퓨팅)
로컬 설치
지원하다
모범 사례
간단한 설정 및 실행 - 로컬 및 Colab을 통해.
사전 요구 사항을 수동으로 다운로드하고 설치할 필요가 없습니다.
Google Colab에는 실행할 셀이 2개뿐입니다.
Windows 사용자는 설치, 업데이트 및 실행에 하나의 파일만 필요합니다.
아래에 잘 문서화된 옵션이 있습니다.
더 이상 무엇을 하는지 궁금해하지 마세요!
Colab T4를 통한 9초짜리 720p 60fps 테스트 클립:
오리지널 Wav2Lip | 이지-Wav2Lip |
---|---|
실행 시간: 6분 53초 | 실행 시간: 56초 |
그건 오타가 아닙니다! 내 클립은 거의 7분에서 1분 미만으로 늘어납니다!
추적 데이터는 동일한 비디오의 세대 간에 저장되므로 더 많은 시간을 절약할 수 있습니다.
같은 영상에 다시 Easy-Wav2Lip |
---|
실행 시간: 25초 |
Easy-Wav2Lip은 입술의 시각적 버그를 수정합니다.
품질을 위한 3가지 옵션:
빠른: Wav2Lip
개선됨: 얼굴의 나머지 부분에 대한 원래 해상도를 복원하기 위해 입 주위에 깃털 마스크가 있는 Wav2Lip
향상된 기능: Wav2Lip + 마스크 + 얼굴에 GFPGAN 업스케일링 수행
https://colab.research.google.com/github/anothermartz/Easy-Wav2Lip/blob/v8.3/Easy_Wav2Lip_v8.3.ipynb
요구 사항: cuda 12.2를 지원하는 Nvidia 카드 또는 Apple Silicon 또는 AMD GPU를 통해 mps를 지원하는 MacOS 장치
Easy-Wav2Lip.bat 다운로드
PC의 폴더에 넣습니다(예: 문서 내).
그것을 실행하고 지침을 따르십시오. 실행하는 폴더 내에 Easy-Wav2Lip이라는 폴더가 만들어집니다.
Easy-Wav2Lip을 사용하고 싶을 때마다 이 파일을 실행하세요.
이는 모든 필수 구성 요소의 설치를 처리해야 합니다.
다음이 설치되어 있고 터미널을 통해 액세스할 수 있는지 확인하세요.
Python 3.10(3.10.11만 테스트했습니다. 다른 버전은 작동하지 않을 수 있습니다!)
힘내
Windows 및 Linux: Cuda(최신 Nvidia 드라이버만 있으면 이 작업이 가능합니다. 12.2만 테스트했습니다.)
Easy-Wav2Lip을 설치하려는 폴더로 이동한 후 터미널에서 다음을 실행하십시오.
venv를 설정하고 ffmpeg를 설치한 다음 Easy-Wav2Lip을 설치합니다.
cmd를 열고 cd를 사용하여 EasyWav2Lip을 설치하려는 폴더로 이동합니다. EG: cd Documents
다음 코드를 복사하여 cmd 창에 붙여넣습니다. 참고: 이 위치에 Easy-Wav2Lip 및 Easy-Wav2Lip-venv(격리된 Python 설치)라는 2개의 폴더가 생성됩니다.
py -3.10 -m venv Easy-Wav2Lip-venv Easy-Wav2Lip-venvScriptsactivate python -m pip install --upgrade pip python -m pip install requests set url=https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip python -c "import requests; r = requests.get('%url%', stream=True); open('ffmpeg.zip', 'wb').write(r.content)" powershell -Command "Expand-Archive -Path .\ffmpeg.zip -DestinationPath .\" xcopy /e /i /y "ffmpeg-master-latest-win64-gplbin*" .Easy-Wav2Lip-venvScripts del ffmpeg.zip rmdir /s /q ffmpeg-master-latest-win64-gpl git clone https://github.com/anothermartz/Easy-Wav2Lip.git cd Easy-Wav2Lip pip install -r requirements.txt python install.py
이제 Easy-Wav2Lip을 실행하려면:
3. cmd를 닫았다가 다시 연 다음 1단계와 동일한 디렉터리로 이동합니다.
4. 다음 코드를 붙여넣습니다.
Easy-Wav2Lip-venvScriptsactivate cd Easy-Wav2Lip call run_loop.bat
자세한 지침은 사용법을 참조하세요.
venv를 설정하고 ffmpeg를 설치한 다음 Easy-Wav2Lip을 설치합니다.
터미널을 열고 cd EG: cd ~/Documents
사용하여 Easy0Wav2Kip을 설치하려는 폴더로 이동합니다.
다음 코드를 복사하여 터미널 창에 붙여넣습니다. 참고: 이 위치에 Easy-Wav2Lip 및 Easy-Wav2Lip-venv(격리된 Python 설치)라는 2개의 폴더가 생성됩니다.
python3.10 -m venv Easy-Wav2Lip-venv source EW2Lvenv/bin/activate python -m pip install --upgrade pip python -m pip install requests for file in ffmpeg ffprobe ffplay; do curl -O "https://evermeet.cx/ffmpeg/${file}-6.1.1.zip" unzip "${file}-6.1.1.zip" done mv -f ffmpeg ffprobe ffplay /Easy-Wav2Lip-venv/bin/ rm -f ffmpeg-6.1.1.zip ffprobe-6.1.1.zip ffplay-6.1.1.zip source EW2Lvenv/bin/activate git clone https://github.com/anothermartz/Easy-Wav2Lip.git cd Easy-Wav2Lip pip install -r requirements.txt python install.py
이제 Easy-Wav2Lip을 실행하려면:
3. 터미널을 닫았다가 다시 연 다음 1단계와 동일한 디렉터리로 이동합니다.
4. 다음 코드를 붙여넣습니다.
source Easy-Wav2Lip-venv/bin/activate cd Easy-Wav2Lip ./run_loop.sh
모든 것이 설치되면 config.ini라는 파일이 나타납니다.
여기에 비디오 및 오디오 파일의 경로를 추가하고 원하는 대로 설정을 구성하세요.
전문가 팁:
Windows에서 Shift 키를 누른 채 사용하려는 파일을 마우스 오른쪽 버튼으로 클릭한 다음 "a"를 누르거나 "경로로 복사"를 클릭하면 video_file 또는 vocal_file로 붙여넣을 수 있는 경로가 표시됩니다.
MacOS: 파일을 마우스 오른쪽 버튼으로 클릭하고 Option(Alt) 키를 누른 상태에서 상황에 맞는 메뉴에서 "[파일 이름]을 경로 이름으로 복사"를 선택합니다.
config.ini를 저장하고 닫으면 Wav2Lip 프로세스가 시작되고 파일은 video_path 파일과 동일한 디렉터리에 저장됩니다.
config.ini가 다시 열리고 입력과 설정을 변경할 수 있습니다.
시작하는 방법에 대한 팁은 아래 모범 사례를 참조하세요.
config.ini에 아직 설명되지 않은 설정에 대한 설명은 아래 고급 조정을 참조하세요.
물론 오리지널 Wav2Lip입니다.
엄청난 속도 증가와 향상된 기본 품질은 cog-Wav2Lip에서 비롯됩니다.
GFPGAN을 사용하여 확장하는 코드는 주로 wav2lip-hq-updated-ESRGAN에서 나왔습니다.
AI의 도움이 없었다면 이 작업을 수행할 수 없었을 것입니다. 이것을 만들기 전에는 Python 경험이 거의 없었습니다! 선택한 LLM: Bing Chat (현재 'Copilot'이라고 함).
나 자신의 더욱 간단한 버전을 만들도록 영감을 준 Wav2Lip_simplified colab을 만든 JustinJohn에게 감사드립니다.
실행하는 데 문제가 있는 경우 문제 탭을 살펴보고 누군가 이에 대해 작성했는지 확인하세요. 그렇지 않은 경우 새 스레드를 만들고 다음을 포함했는지 확인하십시오.
공동작업인 경우:
Easy-Wav2Lip colab 버전 번호
사용된 파일에 대한 정보입니다.
로컬에 설치하는 경우:
EasyWav2Lip.bat 또는 수동 설치
운영 체제(Windows 11, Linux 등)
GPU 모델
GPU 드라이버 버전
파이썬 버전
사용된 파일에 대한 정보 및 다른 파일이 작동하는지 여부
이 정보가 없으면 그냥 물어볼 것이므로 문제 자체에 대한 응답이 더 오래 걸릴 것입니다.
이들 중 하나라도 요구 사항과 다르면 이것이 작동하지 않는 이유이며 아직 사용하지 않았다면 Colab 버전을 사용해야 할 수도 있습니다.
이것에 대한 일반적인 잡담과 다른 립싱크 대화에 대해 나는 다음과 같이 불일치할 것입니다:
초대 링크: https://discord.gg/FNZR9ETwKY
Wav2Lip 채널: https://discord.com/channels/667279414681272320/1076077584330280991
wav2lip을 통해 보내기 전에 말하는 사람의 행동과 표정에 맞게 연설을 정렬하는 것이 가장 좋은 결과입니다!
비디오 파일:
모든 프레임에 얼굴이 있어야 합니다. 그렇지 않으면 Wav2Lip이 실패합니다.
립싱크를 원하지 않는 얼굴을 자르거나 가리세요. 그렇지 않으면 무작위로 선택됩니다.
h264 .mp4 사용 - 다른 파일 형식도 지원될 수 있지만 이는 다음과 같이 출력됩니다.
이미지는 현재 테스트되지 않았습니다.
모든 면에서 작은 파일을 사용하십시오(720p 미만, 30초 미만, 30fps 등을 시도하십시오. 더 큰 파일은 작동할 수 있지만 일반적으로 실패하는 이유입니다).
첫 번째 시도에서는 프로세스에 익숙해지기 위해 매우 작은 클립을 사용하고, 익숙해진 후에는 더 큰 파일을 사용하여 작동하는지 확인해야 합니다.
오디오 파일:
입력 비디오와 길이가 같은 .wav로 저장합니다.
참고: 처리된 비디오/오디오에서 약 80ms가 잘리는 것을 발견했으며 이 문제를 해결하는 방법을 잘 모르겠습니다. 따라서 실제로 필요한 것보다 약간 더 여유가 있는지 확인하십시오!
이를 비디오 파일로 인코딩하고 vocal_path를 비워 둘 수 있지만 비디오에서 오디오를 분리하므로 처리 시간이 몇 초 더 추가됩니다.
또는
오디오 파일을 별도로 선택하세요
어떤 파일 형식이 지원되는지 잘 모르겠습니다. 최소한 .wav 및 .mp3는 작동합니다.
옵션 | 장점 | 단점 |
---|---|---|
Wav2Lip | + 더욱 정확한 립싱크 + 소리가 나지 않을 때 입을 다물고 있으려고 시도함 | - 때때로 치아가 상실된 경우(드물게) |
Wav2Lip_GAN | + 더 멋있어 보여요 + 말하는 사람의 원래 표현을 더욱 유지합니다. | - 특히 소리가 없을 때 원래 입술 움직임을 가리는 데는 좋지 않습니다. |
먼저 Wav2Lip을 사용해 보고 스피커의 이빨에 큰 틈이 있는 것처럼 보이는 효과가 발생하면 GAN 버전으로 전환하는 것이 좋습니다.
활성화되면 wav2lip은 각 프레임의 얼굴을 독립적으로 자릅니다.
영상의 빠른 움직임이나 컷에 적합합니다.
얼굴이 이상한 각도에 있으면 경련이 발생할 수 있습니다.
비활성화되면 wav2lip은 감지된 얼굴 위치를 5개 프레임 사이에서 혼합합니다.
느린 움직임, 특히 특이한 각도의 얼굴에 적합합니다.
얼굴이 프레임 내에서 빠르게 움직일 때 입이 상쇄될 수 있으며, 컷 사이에서 끔찍해 보입니다.
이 옵션은 각 방향에서 얼굴 자르기에 추가되거나 제거되는 픽셀 수를 제어합니다.
값 | 예 | 효과 |
---|---|---|
유 | 유 = -5 | 얼굴 위쪽에서 5픽셀을 제거합니다. |
디 | 디 = 10 | 얼굴 아래쪽에 10픽셀을 추가합니다. |
엘 | 엘 = 0 | 얼굴 왼쪽에는 변화가 없습니다. |
아르 자형 | R = 15 | 얼굴 오른쪽에 15픽셀을 추가합니다. |
패딩은 턱이나 얼굴의 다른 가장자리에 있는 굵은 선을 제거하는 데 도움이 될 수 있지만, 패딩이 너무 많거나 너무 적으면 입의 크기나 위치가 바뀔 수 있습니다. 아래쪽에 10픽셀을 추가하는 것이 일반적이지만 클립에 가장 적합한 균형을 찾으려면 다양한 값을 실험해야 합니다.
이 옵션은 처리된 면이 원본 면과 혼합되는 방식을 제어합니다. 이는 "빠른" 품질 옵션에는 영향을 미치지 않습니다.
크기를 늘리면 마스크가 덮는 영역의 크기가 늘어납니다.
페더링은 마스크 중앙과 가장자리 사이의 혼합 정도를 결정합니다.
Mouth_tracking은 매 프레임마다 입이 있는 위치로 마스크의 위치를 업데이트합니다(느림).
참고: 얼굴에 맞게 잘린 프레임으로 인해 입 위치는 이미 대략적으로 추정되어 있습니다. 마스크가 입을 따라가지 않는 것처럼 보이는 비디오를 찾은 경우에만 이 기능을 활성화하세요.
debug_mask는 배경을 회색조로 만들고 마스크를 컬러로 만들어 프레임 내 마스크 위치를 쉽게 확인할 수 있도록 합니다.
이 옵션을 사용하면 여러 비디오 및/또는 오디오 파일을 자동으로 처리할 수 있습니다.
끝에 숫자를 붙여 파일 이름을 지정하세요. Video1.mp4, Video2.mp4 등을 모두 같은 폴더에 넣습니다.
선택한 파일부터 번호순으로 파일이 처리됩니다. 예를 들어 Video3.mp4를 선택하면 Video3.mp4, Video4.mp4 등이 처리됩니다.
번호가 있는 비디오 파일과 번호가 없는 오디오 파일을 선택하면 각 비디오가 동일한 오디오 파일로 처리됩니다. 서로 다른 이미지/비디오를 같은 줄로 만드는 데 유용합니다.
마찬가지로 번호가 없는 비디오 파일과 번호가 있는 오디오 파일을 선택하면 각 오디오 파일에 동일한 비디오가 사용됩니다. 동일한 이미지/비디오가 다른 내용을 말하도록 만드는 데 유용합니다.
이렇게 하면 원본 파일을 덮어쓰지 않도록 출력 파일에 접미사가 추가됩니다.
사용된 설정을 추가합니다. 각 렌더링에 무엇을 사용했는지 알 수 있으므로 다양한 설정을 비교하는 데 좋습니다. 추가 예정: Qualty_solution_nosmooth_pads-UDLR EG: _Enhanced_720_nosmooth1_pads-U15D10L-15R30 pad_UDLR은 0으로 설정된 경우 포함되지 않습니다. 출력 높이가 전체 해상도로 설정된 경우 해상도는 포함되지 않습니다.
처리하기 전에 입력 비디오/오디오를 표시하여 올바른 파일을 선택했는지 확인할 수 있습니다. .mp4에서만 작동할 수 있습니다. 제가 시도한 .avi에서는 작동하지 않는다는 것만 알고 있습니다. 이 기능을 비활성화하면 각 비디오의 처리 시간이 몇 초 정도 절약됩니다.
이렇게 하면 비디오의 1프레임만 렌더링되어 전체 크기로 표시되므로 매번 전체 비디오를 렌더링하지 않고도 설정을 조정할 수 있습니다. Frame_to_preview는 확인하려는 특정 프레임을 선택하기 위한 것입니다. 실제 프레임과 완전히 정확하지 않을 수 있습니다.