使用OpenCV创建的视频未显示在Colab笔记本中

时间:2020-06-29 07:38:31

标签: opencv ipython google-colaboratory

以下是一小段代码,我试图在其中使用OpenCV创建mp4视频,并尝试在同一Colab笔记本中显示该视频。 但是,我唯一看到的是黑屏,没有任何视频,也没有错误。 在本地作为Jupyter笔记本运行代码时,也会看到相同的问题。

当我在Colab中尝试以下配置时,没有生成视频文件。尽管此配置可以用作本地Jupyter笔记本。

fourcc = cv2.VideoWriter_fourcc(*'X264')

有人知道如何使它正常工作吗?

import cv2
import os
import numpy as np
import base64
from IPython.display import display
from IPython.display import HTML

h,w = 300,400
imlist = []
img = np.zeros((h,w,3),dtype=np.uint8)
img[:,:,0] = 255
imlist.append(img)
img = np.zeros((h,w,3),dtype=np.uint8)
img[:,:,1] = 255
imlist.append(img)
img = np.zeros((h,w,3),dtype=np.uint8)
img[:,:,2] = 255
imlist.append(img)

fps=30
videofile = 'myvideo.mp4'

if (os.path.exists(videofile)):
  os.remove(videofile)
fourcc = cv2.VideoWriter_fourcc(*'MP4V')
#fourcc = cv2.VideoWriter_fourcc(*'X264')
#fourcc = cv2.VideoWriter_fourcc(*'avc1')
#fourcc = cv2.VideoWriter_fourcc(*'XVID')
video_out = cv2.VideoWriter(videofile,fourcc,fps,(w,h))

for i in range(150):
  #plt.imshow(imlist[i%3])
  video_out.write(imlist[(i//15)%3])

video_out.release()
print("Video exists=",os.path.exists(videofile))

if os.path.exists(videofile):
  display(HTML("""
<video width="400" height="300" controls>
  <source src="%s" type="video/mp4">
</video>
""" % videofile))
else:
  print("No video found")

0 个答案:

没有答案