如何使用Python打开MP4视频文件?

问题描述 投票:0回答:3

所以我知道 opencv 和 pymovie 但我似乎无法在这里或谷歌或本网站上的任何地方找到工作示例。我不想将 mp4 转换成其他任何东西。如果可能的话,它必须是 mp4 文件格式的视频。如果可能的话,请有人指出我可以用来实现此目的的模块的方向,以及我可以使用所述一个或多个模块来播放 mp4 的脚本示例。如果不可能,我应该转换成什么好的格式以及什么是好的转换程序。所有的输入都会有帮助,谢谢。

python python-2.7 opencv video mp4
3个回答
16
投票

如果您只想播放 mp4 视频,那么这个 opencv 程序将帮助您做到这一点。

import cv2

cap = cv2.VideoCapture("v2.mp4")
ret, frame = cap.read()
while(1):
   ret, frame = cap.read()
   cv2.imshow('frame',frame)
   if cv2.waitKey(1) & 0xFF == ord('q') or ret==False :
       cap.release()
       cv2.destroyAllWindows()
       break
   cv2.imshow('frame',frame)

您可以根据需要更改窗口的名称。如果视频文件在其他目录中,则以“Drive://x/x/xx.mp4”格式提供视频补丁。 “ret”值显示视频文件是否按帧读取。


6
投票

仅运行该文件有什么问题?

from os import startfile
startfile(path)

如果您的计算机上有任何 .mp4 播放器,它就会播放。


0
投票

我在第一个解决方案中遇到了音频问题,并且我不喜欢第二个解决方案不关闭窗口。因此,我建议使用 Pygame 和 Pyvidplayer2。

设置:

pip install pygame
pip install pyvidplayer2

代码:

import pygame
from pyvidplayer2 import Video    

# create video object
vid = Video("video.mp4")

win = pygame.display.set_mode(vid.current_size)
pygame.display.set_caption(vid.name)

while vid.active:
    key = None
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            vid.stop()
        elif event.type == pygame.KEYDOWN:
            key = pygame.key.name(event.key)

    # only draw new frames, and only update the screen if something is drawn
    if vid.draw(win, (0, 0), force_draw=False):
        pygame.display.update()
    pygame.time.wait(16) # around 60 fps

# close video when done
vid.close()
pygame.quit()
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.