오늘은 파이썬으로 ffmpeg를 한번 좀 설치를 해보고 다운로드를 한번 좀 받아봐서 과연 어떻게 해야 되는 건지 약간 좀 파악 좀 해보려고 합니다. 보통은 이제 이미지를 동영상으로 변환하기 위해서는 한 두 가지 방법을 쓸 수 있는데요. 첫 번째 방법은 아까 말씀드렸던 ffmpg를 설치를 하고 다운로드 받아봐서 이제 그걸로 이제 파이썬으로 코딩을 해서 하면 굉장히 좀 쉽게 될 수 있습니다.
파이썬 ffmpeg 설치
밑에 그 사이트에 좀 들어가서 이제 다운로드를 받아봐야 되는데요.
https://ffmpeg.org/download.html#build-windows
파이썬 ffmpeg 다운로드
다운로드 받을 때는 여기 하기 이미지에 표시되어 있었던 것들 윈도우 빌즈 프롬 데브라고 되어 있는 이 파일을 좀 클릭을 합니다.
클릭을 하셔서 그 사이트 밑으로 내려가 보시면 release-full 그다음에 뭐 7.z로 되어 있는 이 파일이 있을 거예요. 그거를 클릭을 하셔서 다운로드 받으시면 됩니다.
마찬가지로 그걸로 다운로드 받으시면 바로 압축을 풀어야 되는데요. 쉽게 그냥 압축만 풀어줘서 그거를 어떠한 폴더 그 안에다가 넣으시면 됩니다.
파이썬 ffmpeg 시스템 환경변수 설정
여기서 한 가지 주의할 사항이 시스템 환경 변수를 설정을 해야 돼요 그것을 설정을 해야지만 우리가 어떠한 ff mpeg라는 이 명령어를 쓸 수가 있는 겁니다. 그거는 cmd 창에서도 쓸 수 있는 건데 뿐만 아니라 파이썬 안에서도 os를 인포트를 할 때도 마찬가지로 쓰이기 때문에 반드시 시스템 환경 설정도 해주셔야 됩니다.
서 그 안에 들어가셔서 어 마찬가지로 패스 부분이 있는데요. 환경 변수 안에 들어가셔서 path 부분에서 그 bin이라는 디렉토리가 있습니다. 그 디렉토리를 환경 변수 편집 안에서 새로 만들기를 누르셔서 그 안에 그 디렉토리 명만 집어넣으시면 됩니다.
그리고 최종적으로는 잘 설치되는가 확인을 하려면은 cmd 창에 들어가셔서 다음과 같은 명령어를 치시면 됩니다. 이게 ffmpeg 그다음에 -version 이거를 쳐서 아래와 같은 이미지로 나왔을 때문에 정상적으로 설치가 된 거예요.
파이썬 ffmpeg 패키지 다운
그렇게 돼서 설치는 끝났었는데 파이썬 안에서도 구동이 돼야 되죠 파이썬 안에서도 패키지를 다운로드 받아야 됩니다.
이 바운로드를 받으시면 최종적으로 설치가 완료된 거예요. 그렇게 해서 ffmpeg로 해서 사용하는 방법은 따로 코드가 있기는 한데 그 코드도 또 따로 공유를 드리겠습니다. 하기 부분에서만 약간 쳐서 하시면 돼요 아주 편합니다.
!pip install ffmpeg-python
파이썬 cv2 이미지 동영상 변환해보기
근데 cv2라는 패키지도 있습니다. 그 패키지를 사용을 해보시면 굉장히 편리하게 돼 있어요. 그래서 그냥 이미지 동영상을 변환을 하실 때 등등 이런 것을 다각적으로 사용하고자 하신다면 cv2로 사용하시는 게 맞습니다.
왜냐하면 이미지를 사이즈 조절을 한다든가 아니면 파이면 변환 기타 밝기 조절 아니면 사이즈에 대해서도 이런 여러 가지를 써야 한다면 당연히 cb2로 약간 조금 그거를 먼저 손 대고 그다음에 동영상으로 변환을 하는 게 더 편하거든요. 그래서 그 두 가지를 다 호환하는 cb2로 사용하시는 걸 권장하고자 해서 아래 부분을 약간 말씀드렸습니다.
import cv2
import glob
import numpy as np
import re
img_array = []
numbers = re.compile(r'(\d+)')
def numericalSort(value):
parts = numbers.split(value)
parts[1::2] = map(int, parts[1::2])
return parts
for filename in sorted(glob.glob('C:/Users/user/Desktop/test/*.jpg') , key=numericalSort):
img = cv2.imread(filename)
height, width, layers = img.shape
size = (width,height)
img_array.append(img)
out = cv2.VideoWriter('C:/Users/user/Desktop/test/scenario1.mp4' #결과물
, cv2.VideoWriter_fourcc(*'H264') #코덱 파일형식
, 0.5 #프레임 0.5 = 이미지 1장당 2초, 1 = 이미지 1장당 1초, 2 = 이미지 1장당 0.5초
, size #사이즈
)
#cv2.VideoWriter_fourcc(*'H264') #디지털 비디오 콘텐츠 기록, 압축 및 배포
#cv2.VideoWriter_fourcc(*'H265') #라이브 스트리밍 비디오
#H264 <-- 파일명이 그나마 제일 나음 H266 은 모르겟음.
for i in range(len(img_array)):
out.write(img_array[i])
out.release()
cv2.destroyAllWindows()
코덱 부분은 어떠한 것들이 있는지 그냥 이런 것들은 확인 설명 이미지 부분을 약간 보시면 될 것 같습니다. 그 나머지 부분에서는 위 코드 된 부분을 변경만 하셔서 사용만 하시면 큰 무리는 아마 없으시리라 생각을 합니다.
초보자분들이 사용하시기로는 조금 높은 코드이기는 해요. 저도 처음 사용해본 거라서요. h264 코덱이 있는데요. 말씀 들어보니까 h2 66까지 나왔다고 합니다. 그래서 h2 66까지는 아니더라도 h264와 h265를 사용할 때 약간 다른 부분을 밑에다가 표기를 해놨습니다.
'Python' 카테고리의 다른 글
[파이썬] 구글 블로거 Token has been expired or revoked 오류 해결 (0) | 2022.07.08 |
---|---|
[파이썬] 네이버 블로그 구글 검색 결과 노출 (0) | 2022.07.07 |
[파이썬] 네이버 검색 트렌드 API 그래프 시각화까지 해보기 (0) | 2022.07.05 |
[파이썬] 단축 링크 API 사용하기 (0) | 2022.06.29 |
[파이썬] 핀터레스트 Pinterest 비공식 API 자동 핀 생성해보기 (0) | 2022.06.29 |
댓글