我已经创建了一个django web应用程序,并编写了代码来使用opencv从我的笔记本电脑摄像头获取视频。
def start(request):
print("HI")
def testDevice():
cap = cv2.VideoCapture(0)
if cap is None or not cap.isOpened():
print('Warning: unable to open video source: ', source)
testDevice(0) # no printout
testDevice(1) # prints message
global video_thread
if video_thread is None or not video_thread.is_alive():
stop_event.clear()
video_thread = threading.Thread(target=run_video_feed)
video_thread.start()
return HttpResponse("Video feed started successfully.")
else:
return HttpResponse("Video feed is already running.")
上面的代码在localhost中运行时正在获取视频源。但是当我在pythonanywhere中上传(托管)它时,它没有获取视频源,并且打印警告:无法打开视频源。
1条答案
按热度按时间62lalag41#
我做了一个例子来解决这个问题,使用Django Channels(用于asgi支持)在客户端和服务器之间设置一个WebSocket流。
注意:据我所知,Pythonanywhere只支持wsgi架构,所以如果遵循这种方法,您可以选择其他托管提供商。
你可以在这个repo上查看:https://github.com/snowby666/Django-OpenCV-Video-Streaming