以下是一小段代码,我试图在其中使用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")