无法在django web应用程序中使用opencv从摄像头获取视频源

kqqjbcuj  于 2023-10-24  发布在  Go
关注(0)|答案(1)|浏览(132)

我已经创建了一个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中上传(托管)它时,它没有获取视频源,并且打印警告:无法打开视频源。

62lalag4

62lalag41#

我做了一个例子来解决这个问题,使用Django Channels(用于asgi支持)在客户端和服务器之间设置一个WebSocket流。
注意:据我所知,Pythonanywhere只支持wsgi架构,所以如果遵循这种方法,您可以选择其他托管提供商。
你可以在这个repo上查看:https://github.com/snowby666/Django-OpenCV-Video-Streaming

相关问题