当前位置: 首页 > news >正文

树莓派超全系列教程文档--(60)树莓派摄像头操作命令及使用其二

树莓派摄像头操作命令及使用其二

      • `rpicam-vid`
        • 编码器
        • 捕获高帧率视频
        • `libav` 与 `rpicam-vid` 集成
      • `rpicam-raw`
      • `rpicam-detect`

文章来源: http://raspberry.dns8844.cn/documentation

原文网址

rpicam-vid

rpicam-vid 可帮助您在 Raspberry Pi 设备上捕获视频。 rpicam-vid 显示预览窗口并将编码的比特流写入指定的输出。这会生成未打包的视频比特流,该比特流未包装在任何类型的容器(例如 mp4 文件)格式中。

NOTE: 如果可用, rpicam-vid 使用硬件 H.264 编码。

例如,以下命令将十秒的视频写入名为’test.h264’的文件:

$ rpicam-vid -t 10s -o test.h264

您可以使用 VLC 和其他视频播放器播放生成的文件:

$ vlc test.h264

在 Raspberry Pi 5 上,您可以通过为输出文件指定’mp4’文件扩展名直接输出为 MP4 容器格式:

$ rpicam-vid -t 10s -o test.mp4
编码器

‘rpicam-vid’ 支持运动 JPEG 以及未压缩和未格式化的 YUV420:

$ rpicam-vid -t 10000 --codec mjpeg -o test.mjpeg
$ rpicam-vid -t 10000 --codec yuv420 -o test.data

codec 选项决定输出格式,而不是输出文件的扩展名。

segment 选项将输出文件分解为片段大小的块(以毫秒为单位)。通过指定非常短(1 毫秒)的片段,这可以方便地将运动 JPEG 流分解为单个 JPEG 文件。例如,以下命令将 1 毫秒的片段与输出文件名中的计数器组合起来,为每个片段生成一个新文件名:

$ rpicam-vid -t 10000 --codec mjpeg --segment 1 -o test%05d.jpeg
捕获高帧率视频

要最大限度地减少高帧率 (> 60fps) 视频的丢帧,请尝试以下配置调整:

  • 使用 --level 4.2 将 H.264 目标级别 设置为 4.2。
  • 通过将 denoise 选项设置为 cdn_off 来禁用软件色彩降噪处理。
  • 使用 nopreview 禁用显示窗口以释放一些额外的 CPU 周期。
  • /boot/firmware/config.txt 中设置 force_turbo=1 以确保在视频捕获期间 CPU 时钟不会节流。有关更多信息,请参阅 force_turbo 文档。
  • 使用 --width 1280 --height 720 或更低的值调整 ISP 输出分辨率以实现您的帧速率目标。
  • 在 Raspberry Pi 4 上,您可以通过在 /boot/firmware/config.txt 中添加 gpu_freq=550 或更高来超频 GPU 以提高性能。有关更多详细信息,请参阅 超频文档。

以下命令演示了如何实现 1280×720 120fps 视频:

$ rpicam-vid --level 4.2 --framerate 120 --width 1280 --height 720 --save-pts timestamp.pts -o video.264 -t 10000 --denoise cdn_off -n
libavrpicam-vid 集成

rpicam-vid 可以使用 ffmpeg / libav 编解码器后端来编码音频和视频流。您可以将这些流保存到文件中,也可以通过网络传输它们。 libav 使用硬件 H.264 视频编码(如果存在)。

要启用 libav 后端,请将 libav 传递给 codec 选项:

$ rpicam-vid --codec libav --libav-format avi --libav-audio --output example.avi

rpicam-raw

rpicam-raw 直接从传感器将视频记录为原始Bayer帧。它不显示预览窗口。要将两秒钟的原始视频录制到名为 test.raw 的文件中,请运行以下命令:

$ rpicam-raw -t 2000 -o test.raw

rpicam-raw 输出完全没有格式信息的原始帧,直接一个接一个。应用程序将像素格式和图像尺寸打印到终端窗口,以帮助用户解释像素数据。

默认情况下, rpicam-raw 会将原始图像输出到一个可能非常大的文件中。使用 segment 选项将每个原始图像帧导入单独的文件,并使用 %05d directive 使每个图像帧的文件名独一无二:

$ rpicam-raw -t 2000 --segment 1 -o test%05d.raw

如果使用快速存储设备,rpicam-raw 能以 10fps 的速度将 18MB 的 1200 万像素 HQ 相机帧写入磁盘。rpicam-raw 无法将输出帧格式化为 DNG 文件;如需该功能,请使用 rpicam-still。使用 framerate 选项时,速度应低于 10,以避免丢帧:

$ rpicam-raw -t 5000 --width 4056 --height 3040 -o test.raw --framerate 8

有关原始格式的更多信息,请参阅 mode 文档。

rpicam-detect

NOTE: Raspberry Pi OS 不包含 rpicam-detect。不过,如果您安装了 已安装 TensorFlow Lite,则可以构建 rpicam-detect。有关详细信息,请参阅 rpicam-apps 构建说明。运行 meson 时不要忘记传递 Denable_tflite=enabled

rpicam-detect 显示一个预览窗口,并使用Google MobileNet v1 SSD(单发探测器)神经网络监控内容,该网络经过训练,可以使用可可数据集识别大约80类物体。 rpicam-detect 识别人、汽车、猫和许多其他物体。

每当 rpicam-detect 检测到目标对象时,它都会捕获全分辨率JPEG。然后它返回到监控预览模式。

有关模型使用的一般信息,请参阅 TensorFlow Lite对象检测 部分。例如,您可能会在外出时偷偷监视您的猫:

$ rpicam-detect -t 0 -o cat%04d.jpg --lores-width 400 --lores-height 300 --post-process-file object_detect_tf.json --object cat

上一篇 – 树莓派超全系列教程文档–(60)树莓派摄像头操作命令及使用其一
下一篇 –

相关文章:

  • 2.2.3 07年T1文章精读
  • 技术突破与落地应用:端到端 2.0 时代辅助驾驶TOP10 论文深度拆解系列【第二篇(排名不分先后)】
  • Docker安装、基础知识、项目部署笔记
  • AI会取代IT从业者吗?
  • 割草农业车技术与运行分析!
  • 设计 IGMP Report/Leave 报文抑制的状态机模型
  • 【AI论文】CASS:Nvidia到AMD的数据、模型和基准测试的转换
  • OD 算法题 B卷【最大岛屿体积】
  • 第三章支线四 ·事件风暴 · 时序与响应的协奏
  • 无源一阶低通电路噪声如何计算
  • NIFI的处理器:SplitJson 2.4.0
  • 达梦数据库EXISTS子查询实战指南
  • 如何迁移Cordova应用到HarmonyOS 5 以及迁移时常见的问题?
  • Solidity从入门到精通-Remix的基本使用和Solidity的基本数据类型
  • 当建筑成为“精装盒子”:MiC技术如何重塑未来建造
  • 期货与期权市场基本原理是什么?
  • configure构建工程
  • 申请大模型备案对企业的具体价值体现在哪些方面?
  • 数据集转换xml2txt 、xml2json、json2coco
  • 32位寻址与64位寻址
  • 创想商务网站建设/太原网站关键词排名
  • 谷歌官方建站服务/阿里云空间+1对1私人专属设计师
  • 沧州英文网站制作/百度优化
  • 平面设计素材包/四川seo排名
  • 张家港做网站的推荐/网络营销郑州优化推广公司
  • 法院门户网站建设发展趋势/网站申请流程