在Python中播放视频,你可以使用以下几种方法:
方法一:使用OpenCV库
1. 安装OpenCV库:
pip install opencv-python
2. 播放视频的代码示例:
import cv2
打开视频文件
cap = cv2.VideoCapture('video.mp4')
检查视频是否成功打开
if not cap.isOpened():
print('Error opening video file')
else:
while cap.isOpened():
ret, frame = cap.read()
if ret:
cv2.imshow('Video', frame)
if cv2.waitKey(25) & 0xFF == ord('q'):
break
else:
break
cap.release()
cv2.destroyAllWindows()
方法二:使用imageio库
1. 安装imageio库:
pip install imageio
2. 播放视频的代码示例:
import imageio
import pylab
视频的绝对路径
filename = '/path/to/your/video.mp4'
选择解码工具
vid = imageio.get_reader(filename, 'ffmpeg')
for num, im in enumerate(vid):
image的类型是imageio.core.util.Image,可用下面这一注释行转换为array
image = skimage.img_as_float(im).astype(np.float32)
fig = pylab.figure()
fig.suptitle('image {}'.format(num), fontsize=20)
pylab.imshow(im)
pylab.show()
方法三:使用pygame库
1. 安装pygame库:
pip install pygame
2. 播放视频的代码示例:
import pygame
初始化pygame
pygame.init()
打开视频文件
cap = cv2.VideoCapture('video.mp4')
获取视频的宽度和高度
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
创建一个窗口
screen = pygame.display.set_mode((width, height))
播放视频
while cap.isOpened():
ret, frame = cap.read()
if ret:
将OpenCV的BGR格式转换为pygame的RGB格式
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
在窗口中显示帧
screen.blit(pygame.image.fromstring(frame, (width, height), 'RGB'), (0, 0))
pygame.display.flip()
按下'q'键退出
for event in pygame.event.get():
if event.type == pygame.QUIT:
cap.release()
pygame.quit()
exit()
else:
break
cap.release()
pygame.quit()
以上是使用Python播放视频的三种方法,你可以根据自己的需求选择合适的方法。需要注意的是,播放视频可能会消耗较多的系统资源,确保你的计算机能够流畅运行