from skvideo.io import VideoCapture import sys filename = sys.argv[1] cap = VideoCapture(filename) print(str(cap.get_info())) cap.open() retval, image = cap.read() frame_num = 0 import numpy import pygame while True: retval, image = cap.read() if not retval: print("done") sys.exit() surface = pygame.surfarray.make_surface(image) surface = pygame.Surface((100, 100)) numpy_surface = numpy.frombuffer(surface.get_buffer())
from skvideo.io import VideoCapture, VideoWriter import sys cap_filename, wr_filename = sys.argv[1], sys.argv[2] cap = VideoCapture(cap_filename) cap.open() print str(cap.get_info()) retval, image = cap.read() wr = VideoWriter(wr_filename, 'H264', 30, (image.shape[1], image.shape[0])) wr.open() frame_num = 0 while True: retval, image = cap.read() if not retval: break wr.write(image) print "frame %d" % (frame_num) frame_num += 1 wr.release() cap.release() print "done"
from skvideo.io import VideoCapture import sys import matplotlib.pyplot as plt import matplotlib.animation as animation filename = sys.argv[1] cap = VideoCapture(filename) print(str(cap.get_info())) cap.open() retval, image = cap.read() plt_fig = plt.figure() plt_image = plt.imshow(image) frame_num = 0 def updatefig(*args): global cap, frame_num retval, image = cap.read() if not retval: print("done") sys.exit() print("frame %d" % (frame_num)) frame_num += 1
from __future__ import print_function from __future__ import division from skvideo.io import VideoCapture from skvideo.metrics import ssim, psnr, vifp import sys import json filename1, filename2 = sys.argv[1], sys.argv[2] cap1 = VideoCapture(filename1) cap1.open() print(str(cap1.get_info())) cap2 = VideoCapture(filename2) cap2.open() print(str(cap2.get_info())) def rgb_to_y(img): return 0.299 * img[:,:,0] + 0.587 * img[:,:,1] + 0.114 * img[:,:,2] frame_num = 0 while True: retval1, image1 = cap1.read() retval2, image2 = cap2.read() if not retval1 and not retval2: break elif not retval1 or not retval2: print("error: input files have different number of frames") break