FFmpeg로 영상에 AI 내레이션 넣기
FFmpeg는 어떤 오디오든 어떤 영상에든 얹을 수 있지만 자연스러운 음성은 만들지 못합니다. 선택 사항인 flite 필터는 로봇 같은 소리이고 대부분의 빌드에는 없습니다. 실용적인 방법은 두 단계입니다. 음성 합성 엔진으로 대본을 변환한 다음, FFmpeg로 그 오디오를 영상에 넣습니다.
이 가이드는 첫 단계를 무료 SuperClonica 엔진으로 오프라인에서 하고, 둘째 단계의 FFmpeg 명령을 알려 드립니다. 모든 명령을 테스트 영상으로 실행해 봤습니다. -c:v copy로 영상 스트림을 그대로 두므로 긴 클립도 몇 초면 끝납니다.
대본 변환하기
python -m pip install superclonica-cpu로 엔진을 한 번 설치하세요. 첫 실행 때 모델을 내려받고 그 뒤로는 오프라인으로 작동합니다. 내레이션을 텍스트 파일로 저장하고 변환하세요:
superclonica --text-file script.txt --voice M3 --lang ko --normalize --output voice.wav
목소리는 먼저 카탈로그 페이지에서 고르세요. 30~100자 문장을 무료로, 계정 없이 들어 볼 수 있습니다. 모든 목소리가 31개 언어를 말하므로 --lang만 바꾸면 같은 대본을 영어, 스페인어, 일본어로도 변환합니다. 중국어는 아직 지원하지 않습니다.
오디오 트랙 교체하기
화면 녹화나 소리 없는 클립이라면 영상에서 화면을, 내레이션에서 소리를 가져오세요:
ffmpeg -i video.mp4 -i voice.wav -map 0:v -map 1:a -c:v copy -c:a aac voiced.mp4
영상은 전체 길이를 유지하며, 목소리가 더 짧으면 나머지는 무음입니다. 여기서는 -shortest를 쓰지 마세요. 스트림 복사와 함께 쓰면 멈추거나 화면이 목소리 길이로 잘릴 수 있습니다.
목소리를 음악 위에 얹기
원래 소리나 음악을 내레이션 아래에 남기려면 낮춘 뒤 둘을 믹스하세요:
ffmpeg -i video.mp4 -i voice.wav -filter_complex "[0:a]volume=0.25[music];[music][1:a]amix=inputs=2:duration=first:normalize=0[a]" -map 0:v -map "[a]" -c:v copy -c:a aac voiced.mp4
volume=0.25는 음악을 4분의 1로, duration=first는 영상 길이를 유지하고, normalize=0은 amix가 목소리를 절반으로 줄이지 않게 합니다.
목소리가 나올 때만 음악 낮추기
사이드체인 컴프레서는 편집자처럼 목소리가 클 때 음악을 낮추고 쉼에서 다시 올립니다:
ffmpeg -i video.mp4 -i voice.wav -filter_complex "[1:a]asplit=2[v][key];[0:a][key]sidechaincompress=threshold=0.02:ratio=10:attack=20:release=400[music];[music][v]amix=inputs=2:duration=first:normalize=0[a]" -map 0:v -map "[a]" -c:v copy -c:a aac voiced.mp4
더 깊게 낮추려면 ratio를 올리고, 음악이 너무 빨리 돌아오면 release를 늘리세요.
여러 대사를 정확한 시간에 배치하기
대사마다 파일을 따로 만들고, 각각을 밀리초 단위로 그 시점까지 지연한 뒤 모두 믹스하세요:
ffmpeg -i video.mp4 -i line1.wav -i line2.wav -filter_complex "[1:a]adelay=500:all=1[l1];[2:a]adelay=4000:all=1[l2];[0:a]volume=0.25[music];[music][l1][l2]amix=inputs=3:duration=first:normalize=0[a]" -map 0:v -map "[a]" -c:v copy -c:a aac voiced.mp4
여기서는 첫 대사가 0.5초, 둘째가 4초에 시작합니다. 대사마다 파일이 따로라 대본을 고쳐도 한 줄만 다시 변환하면 됩니다. 자막이 이미 있다면 SRT 음성 변환 가이드가 시간에 맞춘 트랙을 만들어 줍니다.