파이썬 내에서 opencv를 통해 비디오를 수정하려고 했지만

ffmpeg 설치가 너무너무 안되서 skvideo.io 라는 대안책을 찾았다 ㅠㅠ


설치

sudo apt-get install libav-tools

pip install sk-video (scikit-video는 구버전)


사용법

import skvideo.io


vid = skvideo.io.vread('sample.mp4') # 비디오를 읽어옴

vid.shape # (프레임 수, Y, X, channels)


for i, shortcut in enumerate(vid): # 각 프레임 조회

print shortcut # example code


opencv가지고 이틀 내내 앓았는데 너무 통쾌하다 ㅠㅠ

skvideo 사이트가서 확인법좀 익혀야겠다.



참고로 opencv에서 비디오를 가져올 때


import cv2

vid = cv2.VideoCapture('sample.mp4')

if vid.isOpened():

###


위 코드가 거의 정석이다.

그런데 오류는 안나지만 isOpened() 요놈이 항상 False를 리턴한다.

그 이유는 opencv가 ffmpeg 패키지를 내포하지 않기 때문이다.

ffmpeg란 동영상를 다룰 수 있게 해주는 파이썬 패키지인데, 기본적으로 opencv는 이걸 사용 안하는 모드로 설치된다.

ex) pip install -c menpo opencv # -> ffmpeg가 설치 안됨 ㅠㅠ

이를 해결하기 위해 직접 opencv 파일을 받고 build.sh 파일을 수정(WITH_FFMPEG=ON)하여 make or conda-build 하고

그 결과 파일을 가지고 install 해야하는데...

남들은 잘된다는데 나는 계속 오류가난다..

컴 2대로 테스트했는데 둘 다 다른 오류에다가 오류 넘어 오류로 포기했다 ㅂㄷㅂㄷ


+ Recent posts