我有一些使用opencv从特定路径播放视频的python代码,并且我一直在阅读有关如何将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")
意见答案:
所以我实际上已经完成了something kinda similar to this。
我建议使用一个带有按钮的主 View ,当单击该主 View 时,将调用一个javascript函数sends a GET request到另一个实际上在服务器上播放视频的隐藏 View 。
这个隐藏的 View 基本上就是我上面发布的代码段。
您可能还需要考虑将视频播放代码放在subprocess中,因为Django或网络浏览器可能会超时或发生其他情况。
关于python - 如何使用opencv函数在Django View 中播放视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38487913/