728x90
colab등에서 video를 재생시키는 처리를 하다가 계속 에러가 나서 헤맸다.
HTML5에서 표준 비디오인코딩이 H264라 fourcc = cv2.VideoWriter_fourcc(*'H264')
로 계속 처리를 했는데...
계속 정상동작을 안하는 문제에 봉착...
새로 테스트하던 부분만 신경쓰느라, cv2.VideoWriter
instance가 아예 open이 안된 것을 놓쳤고 때문에 엄한 시간을 날렸다.
비디오는 잘 안다루다보니...
일단 현재 opencv의 python binding은 기본으로 H264 encoding을 제공하지 않는다. GPL 때문...
If you installed this package via pip install opencv-python then there's no encoding support for x264 because it's under GPL license.
일단 fourcc = cv2.VideoWriter_fourcc(*'MP4V')
로 비디오 파일을 만들고, ffmpeg
로 다시 H264로 encoding을 변경해서 해결했다.
import os
os.system(f'ffmpeg -i output.mp4 -vcodec libx264 test.mp4')
에러 체크 등을 생략하고 짜놓은 script들에서 버전이 바뀌면서 문제가 생기는 경우, 자주 놓치게 된다.
매번 간단한 것이라고 생각해서 대충 처리해놓으면 이런 방식으로 돌아오니... ㅠㅠ
반응형
'Programming > DIP' 카테고리의 다른 글
[OpenCV] imshow 창설정 및 종료 처리 (x버튼 처리) (0) | 2023.04.07 |
---|---|
[OpenCV] Desired Data Type : ddtype (0) | 2023.04.03 |
[DIP] Kornia 소개 (0) | 2023.02.07 |
[DIP] Dithering (0) | 2023.01.17 |
[DIP] Image Format (summary) (0) | 2022.12.05 |