【HarmonyOS IPC开发板开发板体验】 使用gstreamer 调用 IPC摄像头 - HarmonyOS技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛
分享 收藏 返回

【HarmonyOS IPC开发板开发板体验】 使用gstreamer 调用 IPC摄像头

IPC开发板已有固件支持标准的uvc摄像头开发,这里使用gstreamer这个强大的库来实现对摄像头功能的开发。

这里我使用的环境是虚拟机下的ubuntu20.04。

gstreamer 环境安装

sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

安装完后输入pkg-config --cflags --libs gstreamer-1.0 检查是否安装成功

image.png

一、播放摄像头

gst-launch-1.0 v4l2src device=/dev/video0 ! autovideosink

image.png

v4l2src 是 GStreamer 的v4l2插件,device是v4l2插件的属性,可以指定摄像头设备,如果不输入device则默认为/dev/video0, autovideosink为显示插件,会自动寻找合适的显示器,关于当前的GStreamer包有哪些插件,以及插件支持哪些属性,我们可以查看GStreamer的官网或者该插件的来源处,更为方便的是我们通过gst-inspect-1.0 自己研究说明书。

输入gst-inspect-1.0为显示当前GStreamer支持的插件

image.png

二、录制当前摄像头的画面为MP4,

gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! x264enc ! h264parse ! qtmux ! filesink location=hi.mp4 -e

按ctrl-c 结束录制,输入gst-play-1.0 hi.mp4 进行播放

image.png

三、使用gst-rtsp-server进行rtsp服务器搭建。

这里使用了gstreamer的另一个利器,gst-rtsp-server进行开发,实现了对摄像头画面的实时直播,用户可通过rtsp url进行订阅查看,支持多用户来同时查看摄像头的画面,这样我们就可以在其他局域网内的设备对摄像头的画面进行访问了,从而实现一个监控的功能。

image.png

回帖(1)

玩硬件的女孩纸

2022-9-19 16:20:46
感谢分享

更多回帖

×
发帖