如何使用GStreamer获取VCAM-AR1335B(daA4200-30mci)实时视频?
解决VCAM-AR1335B(daA4200-30mci) GStreamer视频流获取问题
1. 先确认相机支持的格式与分辨率
先用v4l2工具排查相机输出参数,默认v4l2src可能未匹配到相机的原生输出格式:
v4l2-ctl -d /dev/video1 --list-formats-ext
该命令会列出相机支持的所有像素格式、分辨率及帧率,比如常见的MJPG(对应GStreamer格式image/jpeg)、YUYV(对应video/x-raw,format=YUY2),记录下适配的参数。
2. 指定匹配参数启动视频流
根据上述查询结果调整命令,以下是两种常见格式的示例:
- 若相机输出MJPG格式:
gst-launch-1.0 v4l2src device=/dev/video1 ! image/jpeg,width=1920,height=1080,framerate=30/1 ! jpegdec ! videoconvert ! autovideosink
- 若相机输出YUYV格式:
gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1 ! videoconvert ! autovideosink
注意替换width、height、framerate为相机实际支持的参数。
3. 替换显示后端尝试
autovideosink可能未自动适配当前显示环境,可指定具体sink:
- X11环境用xvimagesink:
gst-launch-1.0 v4l2src device=/dev/video1 ! image/jpeg,width=1920,height=1080,framerate=30/1 ! jpegdec ! videoconvert ! xvimagesink
- Wayland环境用waylandsink:
gst-launch-1.0 v4l2src device=/dev/video1 ! image/jpeg,width=1920,height=1080,framerate=30/1 ! jpegdec ! videoconvert ! waylandsink
4. 验证GStreamer插件完整性
确保Yocto构建时已包含必要插件:gstreamer1.0-plugins-good(含jpegdec、videoconvert)、gstreamer1.0-plugins-base(含v4l2src、xvimagesink),若缺失需在Yocto recipe中添加对应包。
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

