오늘 급한 요청을 받았다. mp4파일의 영상 길이 출력해달라는! .. 이미지나 비디오 파일은 웬만하면 openCV로 다 다룰 수 있다. 근데 내가 openCV가 조금 미숙하여 오래걸리면 우짜나.. 걱정했다. 하지만 생각보다 간단했던 mp4파일의 영상 길이 출력하는 방법! 요청하신 분이 30분~1시간... 최대한 빨리! 라고 부탁을 하셨는데 내 걱정과는 달리 30분만에 끝냈다. 구글링 실력이 늘은것인가.. ㅋㅋㅋ
방법은 이러하다.
def get_video_duration(file_path):
video = cv2.VideoCapture(file_path) # 비디오 파일을 불러온다
fps = video.get(cv2.CAP_PROP_FPS) # 파일의 fps를 뽑는다
frame_count = int(video.get(cv2.CAP_PROP_FRAME_COUNT)) # 파일의 frame count를 뽑는다
duration = frame_count / fps # frame count를 fps로 나눠준다.(이게 영상 길이)
video.release() # 닫는다.
return duration
cv2에서는 영상 길이를 출력하는 함수가 따로 없다. 그래서 frame count를 fps로 나눠줘 영상 길이를 구해야 한다. 생각보다 간단했던 video runtime 출력하는 방법!
'Python' 카테고리의 다른 글
[Python] list를 DataFrame으로 만들기 (0) | 2023.07.06 |
---|---|
[Python] 6월 23일 cv2와 PIL 같이 쓰기 (0) | 2023.06.23 |
[Python] error 문구 설정!! (0) | 2023.05.15 |
[Python] 5월 12일 ISO 감도 찾기 (0) | 2023.05.12 |
[Python] 5월 9일 list의 위대함 (0) | 2023.05.09 |