일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 프로그래머스
- 프로그래머스 답
- c언어
- roboflow
- 스위프트
- 날씨 앱
- 문제
- fast.ai
- 최솟값 만들기
- Python
- kakao 2018
- 카카오 2021
- 카카오 2019
- 카카오
- 파이썬
- 소수
- swift
- swift 배열
- ios 개발 시작
- coco 데이터셋
- SwiftUI
- Kakao
- 이미지학습
- supervisely
- swift 시작
- 카카오 2020
- 카카오 2018
- 머신러닝
- Siwft
- 데이터셋 만들기
Archives
- Today
- Total
잡초의 일지
[Python] OpenCV와 pafy로 동영상 캡쳐하기 본문
728x90
반응형
SMALL
OpenCV와 pafy 패키지를 이용하여 유튜브에 있는 온라인 상의 동영상에서 캡쳐한 것을 저장한다.
OpenCV 패키지를 이용하여 로컬 기기에 저장되어있는 동영상 파일에서 캡쳐한 것을 저장한다.
import cv2
import pafy
# 유튜브 url 에서 캡쳐하기
# url = "캡쳐하고싶은유튜브동영상주소" # 유튜브 url 주소
# video = pafy.new(url)
# best = video.getbest(preftype="mp4")
# vidcap = cv2.VideoCapture()
# vidcap.open(best.url)
# 로컬 저장소에 있는 동영상에서 캡쳐하기
videoFile = "C:\\상위폴더이름\\캡쳐하고싶은비디오파일이름.mp4" # 동영상 파일 주소
vidcap = cv2.VideoCapture()
vidcap.open(videoFile)
fps = vidcap.get(cv2.CAP_PROP_FPS)
frame_count = vidcap.get(cv2.CAP_PROP_FRAME_COUNT)
duration = frame_count / fps
print("영상의 길이 : ", duration, "초")
count = 1706 # count 번째 사진
increase_width = 10 # 여기서 몇초마다 찍을건지 세팅하면 됌.
second = 0
success = True
while success and second <= duration:
success,image = vidcap.read()
vidcap.set(cv2.CAP_PROP_POS_MSEC, second * 1000)
print(second, "초 에서 캡쳐")
cv2.imwrite("C:\\상위폴더이름\\%d.jpg" % count, image) # 저장시킬 위치 주소
print("saved image %d.jpg" % count)
count += 1
second += increase_width
if cv2.waitKey(10) == 27:
break
print('----- Finish Video Capture! -----')
pip install opencv-python
pip install pafy
sudo pip install --upgrade youtube_dl
위의 3개를 커멘드창에 입력하여 설치해주어야 한다.
pip install --upgrade youtube_dl로 해도 된다.
참고
윈도우에서 sudo 사용하는 방법
stackoverflow.com/questions/9652720/how-to-run-sudo-command-in-windows
728x90
반응형
LIST
Comments