2018년 1월 21일 일요일

Deepfakes (3) - 설치 방법2, 영상 데이터 추출



  영상의 얼굴을 바꾸기위해서는 얼굴 데이터를 추출해야 한다. 이를 도와줄 프로그램을 다운 및 세팅하고 영상에서 데이터를 추출하겠다.

영상 캡처 프로그램 다운로드 링크:
https://github.com/adaptlearning/adapt_authoring/wiki/Installing-FFmpeg

윈도우의 경우 링크를 따라가서
  1. Download a static build from here. 에서 here을 클릭하면 그림과 같은 사이트가 나타난다.
다운받은 파일은 C드라이브 아래에 압축을 풀어준다. 시작에서 cmd(명령 프롬프트)를 관리자 권한으로 시작한다. (Powershell은 사용하지 말라함)
이전에한 시스템 환경 변수 추가를 명령어로 해주는 것임.
  그림과 같이 setx /M PATH "C:\ffmpeg-20180119-07a96b6-win64-static\bin;%PATH%" 와 같이 입력하면 됨. 버전이 변경되거나 경로가 다를 수 있으므로 밑줄친 부분을 본인에 맞게 수정하여 입력하면 된다.

비디오 캡처하기
영상캡처 예시(관리자로 안해도 됨)
  영상 캡처를 위해 cmd를 실행(관리자 권한 필요없음)시키면 C:\Users\User과 같이 명령창이 실행되는 위치가 있습니다. 이를 비디오파일이 있는 곳과 동일하게 해야 합니다. 바꾸실 줄 아시면 바꿔주시면 되고 아니면 비디오 파일을 해당 위치로 옮기면 됩니다.
  예시용 비디오는 유튜브등에서 [4k video downloader]를 활용하여 받으시면 됩니다. 단, Deepfakes프로그램이 720p까지 실행가능함 알고있음(확실치 않으나 첨하는 것이니 시간 단축의 측면에서도 낮은 화질 이용권장)
글에서 진행할 예시용 비디오 링크: 1(29.97fps, 720p로 받아주세요), 2(23fps) 
양식: ffmpeg -i [VIDEOFILENAME].mp4 -vf fps=[FPS OF VIDEO] "[A-Z]%04d.png"
예시: ffmpeg -i sample1.mp4 -vf fps=29.97 "a%04d.png"
  • [VIDEOFILENAME]: 동영상 파일이름 (확장자 mp4)
  • [FPS OF VIDEO]: 영상 초당 프레임 수 (나중에 동영상을 만들려면 실제 영상 프레임수대로 24혹은 30등으로 캡처해야 함. 처음 하는 것이므로 테스트용으로 1~2개만 써보세요.) 
  • [A-Z]%04d: [A-Z 캡쳐이미지 이름], 04d는 이미지 파일이름숫자가 4자리라는것 예를들어 A%04d로 실행하면 A0001, A0002... 이렇게 캡처파일이 만들어짐.
B의 얼굴을 A에 넣을 것임

  다음 글에서는 게시한 이미지에서 얼굴을 추출 해보도록 하겠습니다.
링크: 얼굴추출, 딥러닝

댓글 38개:

  1. 'ffmpeg'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
    배치 파일이 아닙니다.



    명령프롬로트에서 사진추출식을 입력시키니 이런 현상이 발생하는데 왜 이럴까요?

    답글삭제
    답글
    1. 캡처프로그램 다운로드 후 시스템 환경 변수(게시글에서 "setx /M PATH 경로"부분) 추가해주신것 맞나요?

      삭제
  2. setx /M PATH "C:\ffmpeg-20180119-07a96b6-win64-static\bin;%PATH%"
    입력하니
    오류: 구문이 잘못되었습니다. 기본 옵션은 '2'번 이상 허용되지 않습니다.
    라고 뜨는건 어떻게 해결하나요..?
    경로랑 파일명은 제꺼에 맞게 수정했습니다.

    답글삭제
    답글
    1. 확인해볼것들
      첫번째. 그냥 시스템 환경 변수(쿠다 추가했던 방법) 들어가서 "C:\ffmpeg-20180119-07a96b6-win64-static\bin추가하기.
      두번째. 명령프롬프트 관리자 권한실행으로 실행해보기.
      세번째. 파일 경로(C:\...\bin 부분 경로에 "" 들어가는지 확인해보기) 수정하기

      삭제
    2. 빠른답변 감사합니다.
      두번째, 세번째는 확실하고 첫번째 방법을 시도해볼건데..
      앞글과 마찬가지 위치인, 시스템변수 - Path → 편집에 추가하는거 맞나요?

      삭제
    3. 아, 이유는 모르겠으나 똑같은 짓을 반복하다 보니 갑자기 됐네요. 제 실수였나 봅니다 ㅠㅠ 죄송합니다.

      삭제
  3. data_b 폴더에 영상을 넣으면 되죠?
    그러면 data_a 의 얼굴이 data_b 의 영상에 적용되는거 맞죠?

    답글삭제
  4. at least one output file must be specified
    라고 계속뜨는데 왜그런건가요

    답글삭제
    답글
    1. fps=[]같은 항목 지워버리신 거 아닌지요. 오탈자 확인해보세요.

      삭제
  5. 계속 [파일이름].mp4: No such file or directory 라고 뜹니다.... 어떡하죠??

    답글삭제
    답글
    1. 자세한 사항을 몰라 정확하게 답변드리기 어렵지만, 경로 오타 확인하셔야 할걸로 보입니다.

      삭제
  6. dns서버가 영역에대한 권한이 없습니다라고 계속뜨네요 어떻게하나요...컴맹이라 ㅋㅋㅋ

    답글삭제
  7. 레지스트리 경로 엑세스가 거부되었다고 뜨네요 왜이런건지 알려주실수 있나요 ㅠㅠ

    답글삭제
  8. 작성자가 댓글을 삭제했습니다.

    답글삭제
  9. 캡처하기 전단계까지는 되는데 그이후가 안되네요..
    C:\Users\User가 안뜨는데 어떻게 해야 할까요?

    답글삭제
    답글
    1. 저도 여기서막혔어요 ㅠㅠ

      삭제
  10. 해당위치로 옮기라는게 어디인지,,,, 아 설명이 너무 아쉬워요 ㅠㅠ

    답글삭제
    답글
    1. 아직도 막혀있으시면 dphelper003200@gmail.com 메일주시면 원격 지원해드립니다

      삭제
  11. 게시글 처럼 setx /M PATH 뒤에거 입력해서 성공이라고 떳는데도 영상 캡쳐하니
    'ffmpeg'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
    배치 파일이 아닙니다.
    라고 뜨네요 어떻게 해야하나요?

    답글삭제
  12. 작성자가 댓글을 삭제했습니다.

    답글삭제
  13. 명령 실행에서 부터 안되네요......

    답글삭제
  14. 작성자가 댓글을 삭제했습니다.

    답글삭제
  15. 프레임 720이상 쓰니까 에러나네요 저위에 분 해결하셨다는분이랑 저랑 같은 에러코드던데 프레임 720이하로 바꿔 보세요

    답글삭제
  16. 'ffmpeg'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
    배치 파일이 아닙니다.



    명령프롬로트에서 사진추출식을 입력시키니 이런 현상이 발생하는데 왜 이럴까요?

    확인할 건 다 확인했는데....

    답글삭제
  17. DATA-A폴더에 CMD로 추출한 캡쳐사진들을 넣구

    DATA-B폴더에 A폴더 얼굴을 대체할 사진을 넣는건가요?

    답글삭제
  18. 다운받은 비디오파일을 명령창이 실행되는곳에 위치시키라는게 도대체 무슨말인가요..

    답글삭제
  19. 비디오 설명에서 막혔네요 설명이 뭔가 부족해서 아쉬워요

    답글삭제
  20. 작성자가 댓글을 삭제했습니다.

    답글삭제
  21. 레지스트리 경로 액세스 거부뜨는데요 ...

    답글삭제
  22. 혹시 원격으로 해주실수있으신가요?

    답글삭제
  23. 동영상말고 사진이랑사진을합성할려고하는데 어똫게하나요

    답글삭제
  24. 사진이랑사진을합성하려는데어떡해해야하나요?

    답글삭제
  25. Train 이후 CMD창에 아무것도 뜨지않고...있는데 괜찮은건가요?

    답글삭제
  26. C:\WINDOWS\system32>C:\MP4 >ffmpeg -i 4k.mp4 -vf fps=59.94 "GK%04d.png"
    'C:\MP4'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
    배치 파일이 아닙니다. 비디오 캡처하기에서 막혔네요.. 혹시 원격 해주실수 있으신가요??ㅠㅠ

    답글삭제
  27. 수고많으십니다. extracted에 성공적으로 저장되었다고 하는데 extracted 폴더를 열어보면 비어있습니다...ㅠㅠ 무슨 오류인지요

    답글삭제
  28. 아직 블로그 활동 하시나요 추출 하는과정에서 질문 있습니다

    동영상을 사진으로 추출한뒤에 a폴더 b폴더에 나누어 담는 사유는 뭔가요?

    답글삭제