问题描述
我目前正在 django 中开展一个项目,我必须首先通过裁剪视频来从视频的某些部分提取帧。这里是示例代码[裁剪和帧提取代码][1]
def saveFrame(request):
clip = VideoFileClip("hello.mp4")
clip = clip.subclip(0,15)
clip = clip.cutout(3,10)
clip.ipython_display(width = 360)
cap= cv2.VideoCapture('__temp__.mp4')
i=0
while cap.isOpened():
ret,frame = cap.read()
if ret == False:
break
cv2.imwrite('media/images/frames/'+str(i)+'.jpg',frame)
print(i)
i+=1
cap.release()
cv2.destroyAllWindows()
MoviePy 错误:找不到文件 hello.mp4! 请检查您输入的路径是否正确。
解决方法
同一个目录,视图文件的目录还是BASE_DIR?像在 Webapps 中一样,将路径设为绝对路径总是更好,您无法确定当前的工作目录是什么。
如果文件在 BASE_DIR
from django.conf import settings
clip = VideoFileClip(settings.BASE_DIR + "/hello.mp4")
如果在与脚本相同的目录中
import os
clip = VideoFileClip(os.path.dirname(__file__) + "/hello.mp4")