Python:使用opencv(以及可选的moviepy,ipython)编辑视频文件?

时间:2017-09-24 17:48:24

标签: python opencv video ipython moviepy

我需要使用opencv阅读视频,对其进行一些处理并将其导出。我写的代码如下。目前,该过程正在将视频转换为灰度。

import cv2

# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 25.0, (960,540))

cap = cv2.VideoCapture('input.mp4')

while(cap.isOpened()):
    ret, frame = cap.read()
    if ret == True:
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        out.write(gray)
    else:
        break

cap.release()
out.release()

输入文件'input.mp4'包含这些详细信息。我是新手,所以我不知道必然需要哪些属性,所以我会发布大部分属性。现在视频只写5.55 kb,如果点击它就不播放该文件,说“Windows Media Player在播放此文件时遇到问题”。

文件 项目类型:MP4视频 大小:2.51 MB 视频 时长:00:00:08 框架宽度:960 框架高度:540 数据速率:2634kbps 总比特率:2637kbps 帧速率:25帧/秒 音频 比特率:2kbps 频道:2(立体声) 音频采样率:48 kHz

这是我应该做的更具体的代码,但我不确定这是否被黑客攻击/伪代码所以我需要了解我在做这一步之前正在做什么。如果您了解如何使这项工作,请澄清此代码。我只需要找到一种打开,编辑和保存工作视频文件的方法,看起来很简单,但已经过了一周......

# Import everything needed to edit/save/watch video clips
from moviepy.editor import VideoFileClip
from IPython.display import HTML

white_output = 'white.mp4'
clip1 = VideoFileClip("solidWhiteRight.mp4")
white_clip = clip1.fl_image(process_image)
%time white_clip.write_videofile(white_output, audio=False)

HTML("""
<video width="960" height="540" controls>
  <source src="{0}">
</video>
""".format(white_output))

0 个答案:

没有答案