我目前正在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")