
视频处理
文章平均质量分 70
lit_wei
长期从事Linux系统、驱动相关工作。
展开
-
V4L2-虚拟摄像头驱动
【目的】在linux平台上创建虚拟摄像头设备/dev/video2,实现了V4L2的接口;【意义】1、熟悉V4L2的内核层面和驱动层面的一些接口操作; 2、原始数据的帧缓存自定义;【平台】ARM-IMX6Q硬件平台试验【驱动】 驱动的核心思想,就是queue入队列添加到queue出队列。 1、video_register_device()注册video设备:/dev/video2,初始化相关工作链表;...原创 2021-04-23 16:56:34 · 1313 阅读 · 0 评论 -
ARM视频输入流的电子倍焦-SCALE裁剪
【目的】依赖平台硬件实现视频输入流的电子倍焦(SCALE裁剪)功能【平台】Imx6q GPU Gstreamer1.0【思想】电子倍焦,就是图像裁剪后的图像放大,放大可以使用软件算法,也可以使用硬件。【软件方法】gstreamer的plugin:videoscale可以用于视频图像裁剪,但是是基于软件的,会有如下弊端: 1、纯软件的视频处理,消耗cpu非常高; 2、某些场景下,比如物理地址连续的一些plugin,...原创 2021-04-16 09:04:57 · 451 阅读 · 1 评论 -
rtsp_server嵌入工程中,以支持多路视频流和在线配置编码格式
【目的】 onvif项目中嵌入rtsp_server服务,并且支持encode的配置,例如在线配置编码格式H264/MPEG4/JPEG等,配置编码图像质量等;【方法】 rtsp_server使用gstreamer1.0框架,参考gst-rtsp-server开源代码;使用arm平台硬件编码器VPU,并且动态替换元件以支持编码格式修改;【效果】 对于多路视频流,有2种创建rtsp_server的方法: 1、多线程,每...原创 2021-04-08 14:43:35 · 534 阅读 · 1 评论 -
ONVIF_SERVER的ARM平台C代码
一、ONVIF的调试: ONVIF官方给出的调试工具有ODM和ODTools,具体区别:ODM更加和onvif_client工具更加类似,可以面向用户操作;OTDTools更加面向debug,可以对每一项接口进行debug。 也可以用大厂给出的onvif_client或者网上开源的onvif_client工具进行调试;二、ONVIF_SERVER代码框架: 1、一般使用gsoap工具来生成代码框架,支持C/C++/phthon等多种语言。但是生产的只是...原创 2021-03-05 10:26:09 · 1396 阅读 · 1 评论 -
gstreamer1.0动态替换element
pipeline处于playing状态时,如果要动态替换element元件,而又不从新停止pipeline,开始pipeline,则会用到下面的动态替换element元件。element元件包括ending element和filter element,所以包括如下2类:一、filter element替换: 【原理】 处于非ending point的element元件,在替换某元件时,在unlink旧的元件,link新的元件之前,需要添加probe eos探针,eos信号给被替换元件的...原创 2021-03-05 10:02:29 · 914 阅读 · 1 评论 -
ARM-IMX6Q硬件视频流混合imxg2dcompositor
【目的】 硬件平台的视频流混合,方便讲2条视频流或者多条视频流混合输出为一条视频流,输出可以以RTSP形式输出,也可以直接显示LCD,也可以通过qmlglsink给qt的UI显示。【意义】 使用基于G2D的硬件视频流混合,比纯软件混合(比如gstreamer的videomixer)占用CPU资源要少的多。【硬件平台】 Imx6q-arm的硬件平台,video0和video1两个摄像头输入,其中video0是红外摄像头,DVP接IPU;video1是OV摄像头,MIP...原创 2021-02-05 15:09:10 · 1341 阅读 · 2 评论 -
Qt+arm处理多路camera以及显示
qt采集摄像头视频并显示LCD的方案,基本如下3种:1、qt-widget v4l2: v4l2接口直接获取camera的qbuf,在timer中获取一帧数据后,添加上bmp头信息,然后通过imageWidget->setPixmap()来显示每帧图像;2、qt-widgetQcamera: qt使用qcamera空间,new QCameraViewfinder 用于LCD显示,new QCameraImageCapture 用于camera获取,SIGNAL...原创 2020-12-29 12:22:52 · 1703 阅读 · 0 评论 -
Gstreamer1.0+arm多路视频输入输出开发
一、背景: 【软件】ARM使用Imx6q,kernel使用4.9.88内核版本,从nxp官网获取yocto来编译整个BSP工程。rootfs使用包含qt5的版本,gstreamer1.0版本是1.12.2.NXP提供的yocto均为免费,其中我使用的是-b imx-linux-rocko -m imx-4.9.88-2.0.0_ga.xm这个版本的BSP。Imx6q支持的硬件IPU/VPU功能,在gstreamer中已经以插件和补丁形式提供支持。可以直接搜索:gst-inspect-...原创 2020-12-28 16:23:31 · 2254 阅读 · 0 评论