2018년 5월 14일 월요일

Deepfakes(10) - 영상에 소리 넣기, 만든 영상 소리 합치기

  소리를 넣는 것은 ffmpeg를 이용하여 이루어 집니다.
모든 과정을 마치고 소리가 없는 영상을 제작한 단계라고 가정하겠습니다. 

  우선 원본영상에서 소리를 추출해야 합니다. cmd 창을 켜서 다음과  같은명령어를 사용합니다.
  • cd c:\파일저장위치
  위의 명령어를 이용하여 원본영상이 있는 파일위치로 cmd창의 경로를 변경하여 줍니다.
이때 파티션을 바꿔야하는 경우는 cd명령어를 이용하지 않고 그냥 d:\라고 입력하여 드라이브 위치 변경 후 cd명령어를 사용해주시면 됩니다.
  • ffmpeg -i [파일이름_영상].mp4 -f mp3 -ab 192000 -vn [파일이름_소리].mp3
위와 같은 명령어를 실행해줍니다. 이때 파일이름_영상에는 원본파일의 이름을 넣어주시면 됩니다. 파일이름_소리는 생성되는 mp3소리파일의 파일이름이 됩니다.

  이제 만들어낸 영상과 음원이 준비되었으니 합쳐주면 됩니다. 만들어낸 영상파일과 음원파일을 한곳에 둔채로 cmd창의 경로가 그곳에 있도록 해줍니다. 이후
  • ffmpeg -i [만들어낸영상].mp4 -i [소리파일].mp3 -c copy [소리가포함된영상].mp4
와 같이 입력 해주면 완성됩니다. 

  여러 파일을 합쳐주어야 하는 경우 배치파일(bat)을 만들어 이용하면 기다릴 필요없이 여러 명령을 내려줄 수 있습니다. 공백이 포함된 경우""를 이용해야 하며, %의 경우 하나를 쓰면 오류가 나타나는 경우가 있습니다. 이는 %% 이렇게 두개를 입력해주시면 됩니다.

bat파일의 예시는 다음과 같습니다. 생성된 이미지를 바탕으로 영상을 제작하고 음원을 추출한 뒤에 이를 합성하는 것입니다.

cd c:\fakes
ffmpeg -f image2 -framerate 30 -i "[이미지]3 %%04d.jpg" -vcodec libx264 -crf 24 -pix_fmt yuv420p [만든영상].mp4
ffmpeg -i [원본영상].mp4 -f mp3 -ab 192000 -vn [소리파일].mp3
ffmpeg -i [만든영상].mp4 -i [소리파일].mp3 -c copy [소리가포함된영상].mp4

메모장에 다음과 같이 입력해주시고(한줄의 명령어 이후 엔터로 다음줄로 넘기면 됨.) 저장시에 모든 파일 형식으로 변경해주신뒤에 배치파일.bat와 같이 bat파일로 저장해주시면 됩니다.

댓글 1개:

  1. 이제 알게된 초보입니다,영상음성합치기하면 오디오없음나오는데?
    어떤걸해줘야 오디오랑 영상이 다나오게 될수있나요?

    답글삭제