上一篇文章为大家深入地讲解了videoSource()这个非常强大的输入源处理模块,本文的重点将聚焦在videoOutput()这个输出标的处理模块。
videoOutput()与videoSource()几乎具备一致的特性。这里直接列出了videoOutput()所支持的输出种类与媒体格式:
我们在前面已经熟悉了将结果输出到显示器上的方式,接下来就来体验其他几种输出方式,这对于将来开发边缘应用是非常有帮助的。要知道绝大部分的边缘计算场景,都是不能在设备上直接连上显示器的,那么此时如何观看该设备上所监控到的视频内容呢?通常就是将输入源所获取的数据,做完深度学习推理识别之后的结果,做以下两种处理方式:
至于使用哪种方式,必须根据实际场景而定。而本文的重点就是带着大家,对这两种用法进行试验,并借此学会这些使用方法。
我们还是用10lines.py代码为基础来进行修改,不过为了节省测试时间,这里会将深度学习推理计算的部分省略掉,只保留videoSource()与videoOutput()这两部分的代码。修改后的内容如下:
import jetson.utils input = jetson.utils.videoSource(INPUT) output = jetson.utils.videoOutput(OUTPUT)
while output.IsStreaming(): img = input.Capture() output.Render(img) |
这个6行代码,让人看起来非常轻松,却又支持了绝大部分常用的输入、输出形态与格式。
接下来的重点,就是将代码内的INPUT与OUTPUT做有效的置换,试试以下几种组合状况:
接下来就进行RTP视频流转向的示范步骤:
import jetson.utils input = jetson.utils.videoSource(“/dev/video0”) output = jetson.utils.videoOutput(“rtp://192.168.55.100:1234”)
# import jetson.inference # net = jetson.inference.detectNet("ssd-mobilenet-v2", threshold=0.5)
while output.IsStreaming(): img = input.Capture() # detections = net.Detect(img) output.Render(img) |
1 |
|
执行过程中会出现如下截屏的摄像头信息内容:
最后停在下面截屏的地方,发送端到这边就不用再去动这个指令框了。
1 |
|
正确执行指令后,接收端设备的命令行会停留在如下图的状态:
并且还会跳出一个显示框,核对以下显示的内容与Jetson Nano上的摄像头是否一致。
发送端与接收端之间的显示,是否出现时间差?取决于网络的质量!
首先得在接收设备上安装VLC播放软件,然后用文字编辑器生成一个”.sdp”文件,例如”rdp.sdp”,里面的内容如下:
ic=IN IP4 127.0.0.1 m=video 1234 RTP/AVP 96 a=rtpmap:96 H264/90000 |
同样先在发送端执行10lines.py这个代码,然后在接收端用VLC播放器打开rdp.sdp,就可以在VLC播放器上显示了。
这样就能很轻松地将Jetson Nano 2GB上的摄像头看到的画面,直接透过RTP转到PC上去呈现。
这时候,如果你打开Jetson Nano 2GB的jetson-stats监控软件,也会看的左下角“NVDEC”处于执行的状态。
如果我们这时候将“物件检测”的推理识别功能打开的话,会出现怎样的结果呢?先将前面代码中的”#”部分取消,开启对象检测的功能,执行一次看看就知道,是否如下图一样会出现检测的结果。
好的,到这里为止,是不是已经可以更好地掌握videoOutput()的一些用法了呢?
好文章,需要你的鼓励
传统数据工程面临数据质量差、治理不善等挑战,成为AI项目的最大障碍。多智能体AI系统通过协作方式正在彻底改变数据准备、治理和应用模式。Google Cloud基于Gemini大语言模型构建协作生态系统,让不同智能体专门负责数据工程、科学、治理和分析等任务。系统通过分层架构理解组织环境,自主学习历史工作流程,能够预防问题并自动处理重复性任务,大幅提升效率。
中科大团队开发出LongAnimation系统,解决了长动画自动上色中的色彩一致性难题。该系统采用动态全局-局部记忆机制,能够为平均500帧的动画进行稳定上色,性能比现有方法提升35-58%。核心创新包括SketchDiT特征提取器、智能记忆模块和色彩优化机制,可大幅提升动画制作效率。
微软推出Copilot调优功能,让企业通过低代码工具利用自动化微调技术训练企业数据。与基于公开数据的通用AI模型不同,企业需要理解内部数据和流程的专业化模型。Gartner预测专业化GenAI模型市场将在2026年翻倍至25亿美元。这些模型通常基于开源模型构建,部署为小语言模型,提供更好的成本控制和数据安全性,同时更易符合欧盟AI法案要求。
南开大学团队开发出DepthAnything-AC模型,解决了现有AI距离估算系统在恶劣天气和复杂光照条件下性能下降的问题。通过创新的扰动一致性训练框架和空间距离约束机制,该模型仅用54万张图片就实现了在雨雪、雾霾、夜晚等复杂环境下的稳定距离判断,同时保持正常条件下的优秀性能,为自动驾驶和机器人导航等应用提供了重要技术支撑。