前面教大家使用DeepStream的Docker镜像去创建自己的Python工作环境,其好处是即使Jetson设备需要使用JetPack重新安装系统,我们只要重新启动这个Docker容器就可以,无需重复环境配置的工作。
输入源在视频分析中是至关重要的部分,先前的视频文件只是单纯的测试目的,真正实用的部分还是需要接上摄像头或网络的视频流,这样才能应用到实际的工作场景。本文的内容就是带领读者将摄像头与RTSP流接入容器内使用,搭建具有实用价值的容器。
第一件任务就是要判断摄像头的种类与数量,用最简单的“ls /dev/video*”指令并不能分辨其种类,因此最好的方法还是使用v4l2工具。请先执行以下指令安装这个工具:
|
$ |
sudo apt install -y v4l-utils |
安装好之后,请执行以下指令:
|
$ |
v4l2-ctl --list-devices |
如果检测到以下“imx219”之类的信息,表示这个摄像头为CSI类型:

如果检测到以下“USB Camera”信息的,就表示为USB摄像头:

在Jetson Orin开发套件的USB摄像头都会占用2个video口,例如上图中的一台USB摄像头占用video0与video1两个端口,但实际能调用作为输入功能的是第一个video0的编号,如果设备上有多个摄像头的时候,就需要特别注意这些细节。
由于CSI摄像头与USB摄像头的调用方式不同,因此在创建Docker容器时,需要使用以下两种不同的映射方式将设备指到容器内使用:
这些摄像头加到容器之后,会发现容器内的编号与容器外是对应的,例如原本video0与video2两个USB摄像头,进到容器之后同样为video0与video2的编号。
由于Jetson Orin开发套件的CSI摄像头比较特殊,因此这里使用两个USB摄像头来做演示,并以nvcr.io/nvidia/deepstream-l4t:6.1-samples镜像来创建执行容器,如果您按照前面文章将samples内容复制到容器外的话,请执行以下指令:
|
$ $ |
sudo xhost +si:localuser:root docker run -it --net=host --runtime=nvidia -e DISPLAY=$DISPLAY \ -w /opt/nvidia/deepstream/deepstream -v /tmp/.X11-unix/:/tmp/.X11-unix \ -v ~/deepstream/samples:/opt/nvidia/deepstream/deepstream/samples \ --device /dev/video0 --device /dev/video2 nvcr.io/nvidia/deepstream-l4t:6.1-samples |
现在进入容器后先检查摄像头数量,请执行以下指令:
|
$ $ |
apt install -y v4l-utils v4l2-ctl --list-devices |
会看到如下的信息,表示有两个USB摄像头:

这样就能在容器内调用摄像头来进行工作。
在容器内用deepstream-app进行演示,使用samples/config/deepstream-app下的source1_usb_dec_infer_resnet_int8.txt配置文件,不过需要对配置文件进行以下的修改:
主要修改部分如下:
|
[tiled-display] ... columns=2 ... [source0] ... camera-v4l2-dev-node=0 # 将[source0]内容复制一份成下面的[source1],并修改节点编号 [source1] ... camera-v4l2-dev-node=2 ... [sink0] ... type=2 |
修改完后,就在容器内执行以下指令:
|
$ $ |
cd samples/config/deepstream-app deepstream-app -c source1_usb_dec_infer_resnet_int8.txt |
就应该能看到显示两个摄像头的画面。

如果您已经按照前面文章创建支持Python开发环境的DeepStream容器,现在就可以用前面存好的deepstream-l4t:6.1-python镜像创建ds_python容器,如果还没有创建好的话,请参考前一篇文章中去调试Python执行环境。
现在执行以下指令,使用deepstream-l4t:6.1-python镜像创建可执行Python范例的容器:
|
$ $
$ |
sudo xhost +si:localuser:root docker run -id --net=host --name=ds_python --runtime=nvidia -e DISPLAY=$DISPLAY \ -w /opt/nvidia/deepstream/deepstream -v /tmp/.X11-unix/:/tmp/.X11-unix \ -v ~/deepstream/deepstream/sources:/opt/nvidia/deepstream/deepstream/sources \ -v ~/deepstream/deepstream/samples:/opt/nvidia/deepstream/deepstream/samples \ --device /dev/video0 --device /dev/video2 deepstream-l4t:6.1-python docker exec -it ds_python bash |
进入容器后,先使用以下指令检查摄像头是否完成连接:
|
$ $ |
apt install -y v4l-utils v4l2-ctl --list-devices |
如果看到如下的信息,表示有两个USB摄像头:

现在使用Python范例的deepstream-test1-usbcam项目来执行USB摄像头的测试,请执行以下指令:
|
$ $ |
cd sources/deepstream_python_apps/apps/deepstream-test1-usbcam/ ./deepstream_test_1_usb.py /dev/video0 |
这样就能在容器内调用USB摄像头。
好文章,需要你的鼓励
尽管全球企业AI投资在2024年达到2523亿美元,但MIT研究显示95%的企业仍未从生成式AI投资中获得回报。专家预测2026年将成为转折点,企业将从试点阶段转向实际部署。关键在于CEO精准识别高影响领域,推进AI代理技术应用,并加强员工AI能力培训。Forrester预测30%大型企业将实施强制AI培训,而Gartner预计到2028年15%日常工作决策将由AI自主完成。
这项由北京大学等机构联合完成的研究,开发了名为GraphLocator的智能软件问题诊断系统,通过构建代码依赖图和因果问题图,能够像医生诊断疾病一样精确定位软件问题的根源。在三个大型数据集的测试中,该系统比现有方法平均提高了19.49%的召回率和11.89%的精确率,特别在处理复杂的跨模块问题时表现优异,为软件维护效率的提升开辟了新路径。
2026年软件行业将迎来定价模式的根本性变革,从传统按席位收费转向基于结果的付费模式。AI正在重塑整个软件经济学,企业IT预算的12-15%已投入AI领域。这一转变要求建立明确的成功衡量指标,如Zendesk以"自动化解决方案"为标准。未来将出现更精简的工程团队,80%的工程师需要为AI驱动的角色提升技能,同时需要重新设计软件开发和部署流程以适应AI优先的工作流程。
这项由德国达姆施塔特工业大学领导的国际研究团队首次发现,当前最先进的专家混合模型AI系统存在严重安全漏洞。通过开发GateBreaker攻击框架,研究人员证明仅需关闭约3%的特定神经元,就能让AI的攻击成功率从7.4%暴增至64.9%。该研究揭示了专家混合模型安全机制过度集中的根本缺陷,为AI安全领域敲响了警钟。