동영상 스틸컷 or 썸네일 or 스냅샷 추출 어떻게 할까?
opencv-python 라이브러리를 이용해서 관련 예제를 만들어 보자.

OpenCV 란?

OpenCV(Open Source Computer Vision)은 실시간 컴퓨터 비전을 목적으로 한 프로그래밍 라이브러리이다. 원래는 인텔이 개발하였다. 실시간 이미지 프로세싱에 중점을 둔 라이브러리이다.
윈도, 리눅스 등에서 사용 가능한 크로스 플랫폼이며 오픈소스 BSD 허가서 하에서 무료로 사용할 수 있다
OpenCV는 C/C++ 프로그래밍 언어로 개발 되었으며 파이썬 , 자바매트랩 / OCTAVE바인딩 되어 프로그래머에게 개발 환경을 지원합니다.
..

위키백과

opencv-python를 이용한 예제

python 라이브러리를 이용해 첫 번째 프레임 메인 스틸컷 이미지 한개를 생성 하거나
약 10초 단위로 프레임 이미지 N개를 생성하도록 작성했다.

관련 용어

  • 프레임레이트
    FPS(Frame Per Second): 프레임레이트 단위 . 초당 프레임 개수.
    예) 영화 24fps : 1초에 24장의 그림을 보여 줌.

코드

라이브러리 설치

1
❯ pip install opencv-python
1
2
3
4
Package       Version
------------- --------
numpy 1.16.4
opencv-python 4.1.0.25

opencv-python 라이브러리 설치 시 numpy 도 설치 됨.

still-cut.py

결과

29초 길이의 test.mp4 파일 프레임 이미지 추출

python-fun-opencv-stillcut

끝.

동영상을 업로드 후 자동으로 스틸컷 이미지를 만들 때.
특정 프레임 이미지가 있는 곳 부터 동영상을 재생하려고 할 때.
활용해볼 수 있을 것 같다.

TODO

스틸컷 추출에 걸리는 시간 체크
별도의 워커에서 동작