4.5.3 相机用例
本节介绍以下相机用例:本地显示实时预览、设备中保存的视频录制、显示快照、视频录制快照、双机并发、多机多客户端。
本地显示相机实时预览
笔记
该export WAYLAND_DISPLAY=wayland-1命令仅适用于Linux嵌入式系统。
-
在 shell 窗口中运行以下测试命令adb:
export XDG_RUNTIME_DIR=/run/user/root && gst-launch-1.0 qtiqmmfsrc name=qmmf ! video/x-raw\(memory:GBM\), format=NV12, width=3840, height=2160, framerate=30/1, camera=0 ! waylandsink fullscreen=true async=true sync=false
下图为主机显示:
-
要停止,请使用CTRL + C键。
相机录像保存在设备中
-
在 shell 窗口中运行以下测试命令adb:
gst-launch-1.0 -e qtiqmmfsrc name=camsrc camera=0 ! video/x-raw\(memory:GBM\),format=NV12,width=3840,height=2160,framerate=30/1 ! queue ! qtic2venc ! queue ! h264parse ! mp4mux ! queue ! filesink location="/data/4K_30FPS.mp4"
笔记
默认输出目录是/data创建所有输出文件的位置。如果要更改输出目录,请在/data其下创建一个新目录并进行相应修改,location以便在指定目录中创建所有输出文件。 -
要查看视频文件,请运行以下命令:
cd data
ls
示例输出:
4k30_h264.mp4 音频杂项持续安全测试墓碑供应商
带显示屏的相机快照
-
在 shell 窗口中运行以下测试命令adb:
export XDG_RUNTIME_DIR=/run/user/root && gst-pipeline-app -e qtiqmmfsrc camera=0 name=camsrc ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=30/1 ! waylandsink fullscreen=true camsrc.image_1 ! "image/jpeg,width=1280,height=720,framerate=30/1" ! multifilesink location="/data/4K%d.jpg" sync=true async=false camsrc. ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=30/1 ! queue ! qtic2venc ! h264parse ! mp4mux ! queue ! filesink location="/data/cam5_4K30_264.mp4"
笔记
默认输出目录是/data创建所有输出文件的位置。如果要更改输出目录,请在/data其下创建一个新目录并进行相应修改,location以便在指定目录中创建所有输出文件。 -
输入显示选项旁边出现的数字。输入9选择camsrc。
-
34如果要选择捕获图像选项,请输入。
-
输入0然后输入1即可拍摄快照。
-
输入b返回主菜单。
-
输入q退出应用程序。
相机快照与视频录制
-
在 shell 窗口中运行以下测试命令adb:
gst-pipeline-app -e qtiqmmfsrc name=qmmf camera=0 ! video/x-raw\(memory:GBM\),format=NV12,width=3840,height=2160,framerate=30/1 ! queue ! qtic2venc ! queue ! h264parse ! mp4mux ! queue ! filesink location=/data/mux1.mp4 qmmf. ! video/x-raw\(memory:GBM\),format=NV12,width=640,height=480,framerate=30/1 ! queue ! qtic2venc ! queue ! h264parse ! mp4mux ! queue ! filesink location="/data/mux2.mp4" qmmf.image_2 ! "image/jpeg,width=1920,height=1080,framerate=30/1" ! multifilesink location="/data/frame%d.jpg" sync=true async=false
笔记
默认输出目录是/data创建所有输出文件的位置。如果要更改输出目录,请在/data其下创建一个新目录并进行相应修改,location以便在指定目录中创建所有输出文件。 -
请按照带显示屏的相机快照中所述的说明进行操作。
双摄并发
-
确保主摄像头和跟踪摄像头已连接到 RB5 设备硬件。有关 MIPI 相机设置的更多信息,请参阅设置 MIPI 相机。
- 主摄像头(流程1):
- Stream1:4K at 30 AVC/HEVC mp4 混合
- Stream2:1080p,30 YUV 预览
- 跟踪摄像机(过程2):
- Stream1:720 at 30 YUV(无显示,VSLAM)
- 主摄像头(流程1):
-
adb在不同的shell窗口中同时 运行以下测试命令:
-
命令1:
gst-pipeline-app -e qtiqmmfsrc camera=0 name=qmmf ! video/x-raw\(memory:GBM\),format=NV12,width=3840,height=2160,framerate=30/1 ! waylandsink fullscreen=true async=true sync=false qmmf. ! video/x-raw\(memory:GBM\),format=NV12,width=3840,height=2160,framerate=30/1 ! queue !qtic2venc ! queue ! h264parse ! mp4mux ! queue ! filesink location="/data/mux1.mp4" qmmf. ! "image/jpeg,width=3840,height=2160,framerate=30/1" ! multifilesink location="/data/frame%d.jpg" sync=true async=false
-
命令2:
gst-launch-1.0 -e qtiqmmfsrc camera=1 name=qmmf ! video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 ! multifilesink enable-last-sample=false location="/data/client2_frame%d.yuv" max-files=5
笔记
默认输出目录是/data创建所有输出文件的位置。如果要更改输出目录,请在/data其下创建一个新目录并进行相应修改,location以便在指定目录中创建所有输出文件。
-
多机并发
以下命令将使用相机参数访问相机传感器,即 0-4,并帮助在文件夹中对 1280 × 720 分辨率、30 fps 的视频进行编码 /data/。
gst-launch-1.0 -e qtiqmmfsrc name=qmmf camera=0 ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=30/1 ! qtic2venc ! h264parse ! mp4mux ! queue ! filesink location="/data/mux1.mp4" qmmf.qtiqmmfsrc camera=1 ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=30/1 ! qtic2venc ! h264parse ! mp4mux ! queue ! filesink location="/data/mux2.mp4" qtiqmmfsrc camera=2 ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=30/1 ! qtic2venc ! h264parse ! mp4mux ! queue ! filesink location="/data/mux3.mp4" qtiqmmfsrc camera=3 ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=30/1 ! qtic2venc ! h264parse ! mp4mux ! queue ! filesink location="/data/mux4.mp4"
多摄像机多客户端
要运行多摄像头多客户端,请执行以下操作:
-
要启动主相机进程1,请运行以下命令:
export XDG_RUNTIME_DIR=/run/user/root/ && gst-pipeline-app -e qtiqmmfsrc camera=0 name=qmmf ! video/x-raw\(memory:GBM\),format=NV12,width=3840,height=2160,framerate=30/1 ! waylandsink sync=false x=0 y=0 width=500 height=500 enable-last-sample=false qmmf. ! video/x-raw\(memory:GBM\),format=NV12,width=3840,height=2160,framerate=30/1 ! queue ! qtic2venc ! queue ! h264parse ! mp4mux ! queue ! filesink location="/data/main_client1_4k30fps_h264.mp4" qmmf. ! "image/jpeg,width=3840,height=2160,framerate=30/1" ! multifilesink location="/data/snapshot%d.jpg" sync=true async=false
笔记
默认输出目录是/data创建所有输出文件的位置。如果要更改输出目录,请在/data其下创建一个新目录并进行相应修改,location以便在指定目录中创建所有输出文件。文章来源:https://www.toymoban.com/news/detail-830012.html -
要启动从流的主摄像头进程2,在主流启动后,运行以下命令:文章来源地址https://www.toymoban.com/news/detail-830012.html
export XDG_RUNTIME_DIR=/run/user/root/ && gst-pipeline-app -e qtiqmmfsrc slave=true camera=0 name=qmmf ! video/x-raw\(memory:GBM\),format=NV12,width=3840,height=2160,framerate=30/1 ! waylandsink sync=false x=400 y=400 width=500 height=500 async=true sync=false
- 要启动跟踪相机 process1,请运行以下命令:
export XDG_RUNTIME_DIR=/run/user/root/ && gst-launch-1.0 -e qtiqmmfsrc camera=1 name=qmmf ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=30/1 ! waylandsink sync=false x=0 y=500 width=500 height=500 enable-last-sample=false
- 要开始跟踪从属流的摄像机进程2,在跟踪摄像机主流后,请运行以下命令:
export XDG_RUNTIME_DIR=/run/user/root/ && gst-pipeline-app -e qtiqmmfsrc slave=true camera=1 name=qmmf ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=15/1 ! waylandsink sync=false x=800 y=500 width=500 height=500 enable-last-sample=false
- 在主摄像机主码流命令窗口1中运行本地主机显示1分钟。
- 通过键入来输入快照项目qmmf,然后指定显示的拍摄快照选项旁边出现的数字。
- 输入q停止从流命令window2。
- q测试完成后,输入停止主码流命令window1。
- 首先使用CTRL + C键停止跟踪摄像机从流,然后停止跟踪主流。主摄像头视频已保存。
到了这里,关于Qualcomm 机器人 RB5 开发套件用户指南(4)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!