如何将opencv功能放在django视图中播放视频



我有一些python代码,它使用opencv从某个路径播放视频,我一直在阅读如何将该python代码与Django合并,我看到python代码可以放入Django-views.py文件中,但我的问题是,我应该将什么作为呈现它的代码的参数,像return render(request, [what do I put here?]),因为通常在请求后会放置html文件的位置,但如果我想播放视频,我是否只指定我想在其上播放视频的html页面,这会起作用吗?还是我必须做更多的事情?此外,如果你知道任何处理这类东西的好教程,我将感谢任何链接。提前谢谢。

这是只播放视频的python代码

 filename = 'C:/Desktop/Videos/traffic2.mp4'
        vidcap = cv2.VideoCapture(filename)
        while(vidcap.isOpened()):
            success, frame_org = vidcap.read()
            cv2.imshow('frame',frame_org)  
            if cv2.waitKey(1) & 0xFF == ord('q'):
                break
        vidcap.release()
        cv2.destroyAllWindows()

快速回答:不要为模板和render()而烦恼,只需使用HttpResponse即可。视频会播放,然后会返回响应,所以最终一切都会好起来。

from django.http import HttpResponse
def index(request):
    play_video()
    return HttpResponse("OK")

意见答案:

所以我实际上做了一些类似的事情。

我建议有一个带按钮的主视图,当点击时,它会调用一个JavaScript函数,该函数会向另一个隐藏的视图发送GET请求,该视图实际上在服务器上播放视频。

这个隐藏的视图基本上就是我在上面发布的代码片段。

您可能还想考虑将视频播放代码放入子流程中,因为Django或网络浏览器可能会超时或其他原因。

最新更新