使用jetson tx2作为s的Django web显示来自网络摄像头的流

2024-05-20 02:44:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写web应用程序,我想:

  1. 显示来自网络摄像头的本地流-这意味着,我想从服务器流视频(我不想打开客户端的网络摄像头)
  2. 阅读二维码并在文本框中列出

这两个已经实现了,但是!我遇到了一些意想不到的行为。我所描述的功能运行得很好,但仅限于本地主机。我想部署它,这样它就可以通过不同的计算机访问(它是用来在机器人上使用的)。在

为了描述我的架构:我使用JetsonTX2作为服务器(这里连接了网络摄像头)。我使用的是Django web框架,Django频道,daphne作为web服务器,ngyx作为代理。我在主管中运行daphne和后台进程。在

我正在使用worker(后台进程)从网络摄像头捕获帧,并通过redis发送到web后端。在

所以当我在本地主机上运行它时,一切都按预期工作。当我将Debug设置为FALSE并将Jetson的IP添加到允许的主机上并尝试从不同的计算机访问web时,会发生以下情况: 我可以看到,网络摄像头是因为摄像头灯亮了。我在摄像头前放了一些二维码,然后这些二维码就会出现在网上的文本框里!但是视频不在那里(当允许的主机包含本地主机时,视频就在那里)。采集摄像机帧的背景处理输出给出以下错误:

libv4l2: error setting pixformat: Device or resource busy
OpenCV Error: Unspecified error (GStreamer: unable to start pipeline)
in cvCaptureFromCAM_GStreamer, file /home/nvidia/prototype/opencv/opencv-3.4.0/modules/videoio/$
VIDEOIO(cvCreateCapture_GStreamer (CV_CAP_GSTREAMER_FILE, filename)):raised OpenCV exception:
/home/nvidia/toyota_prototype/opencv/opencv-3.4.0/modules/videoio  /src/cap_gstreamer.cpp:890: error: (-2)$
in function cvCaptureFromCAM_GStreamer

我不会在这里发布整个代码,因为我不知道问题到底出在哪里。有人知道问题出在哪里吗?在

谢谢你的帮助!在


Tags: django网络服务器web视频进程计算机error
1条回答
网友
1楼 · 发布于 2024-05-20 02:44:49

所以,我想出来了。在我的html模板中,我有一行链接到流地址:

 <img src="http://127.0.0.1:8000/webcam-stream">

我想,现在你们都知道问题出在哪里了。我需要把IP地址改成主机地址。在

相关问题 更多 >