08 2023 档案

摘要:一、简述 记--字符串分割,strtok()函数的使用例子、自己简单实现split()函数。 二、例子代码 #include <stdio.h> #include <string.h> /* * 函数:split * 描述:按指定分隔符分割字符串 * 参数: * str:要分割的字符串 * strL 阅读全文
posted @ 2023-08-30 20:03 阿风小子 阅读(2147) 评论(0) 推荐(0) 编辑
摘要:经过这几天的验证,终于走通了FFmpeg读取USB摄像头H264帧,然后用rtmp推流。使用的版本是4.0.2,网上的示例要么是命令形式的,要么是读取YUV格式的数据,然后在编码的,所以只能自己摸索了。 FFmpeg的源码在ubuntu16.04上的编译就不说了,这个网上的文章很多,这里我要说的是, 阅读全文
posted @ 2023-08-29 15:57 阿风小子 阅读(2169) 评论(0) 推荐(1) 编辑
摘要:一般ffmpeg都是直接从文件中读取或者从网络流中读取,比如rtp://xx.xx.xx.xx:xxxx。 事实上也支持从内存中获取。 函数avio_alloc_context()实现该功能。 AVIOContext *avio_alloc_context( unsigned char *buffe 阅读全文
posted @ 2023-08-29 14:15 阿风小子 阅读(450) 评论(0) 推荐(0) 编辑
摘要:前言 由于 ffmpeg4.4 缩放 NV12 后会导致颜色出现异常, 最后只能通过理解 NV12 的数据排列方式来实现 NV12 的缩放. 调用 FFmpeg 的 sws_getContext (NV12→NV12颜色异常) 测试了其中的所有缩放算法, 但是缩放后的图像都会有问题, 颜色对不上, 阅读全文
posted @ 2023-08-28 17:05 阿风小子 阅读(160) 评论(0) 推荐(0) 编辑
摘要:闲话不说,centos上如何安装rar、unrar在线解压缩软件呢?如果您的centos是32位的,执行如下命令: wget http://www.rarsoft.com/rar/rarlinux-3.9.3.tar.gztar -zxvf rarlinux-3.9.3.tar.gzcd rarma 阅读全文
posted @ 2023-08-24 23:36 阿风小子 阅读(2074) 评论(0) 推荐(0) 编辑
摘要:64位下载Releases · BtbN/FFmpeg-Builds (github.com) 32位下载 https://github.com/sudo-nautilus/FFmpeg-Builds-Win32/releases/tag/latest 阅读全文
posted @ 2023-08-21 10:42 阿风小子 阅读(590) 评论(0) 推荐(0) 编辑
摘要:FFmpeg支持Rtsp接收功能,并且相关的协议实现已经很完善了,另外它也支持保存文件的功能,这里我就向大家介绍怎么用它的API来实现这两个功能。 我把接收RTSP和录制文件的逻辑都用一个类RtspStreamMuxTask来处理,下面给出这个类的头文件和源文件。 RtspStreamMuxTask 阅读全文
posted @ 2023-08-16 19:37 阿风小子 阅读(1154) 评论(0) 推荐(0) 编辑
摘要:#include <QtCore/QCoreApplication>#include <QtMultimedia/QAudioFormat>#include <QtMultimedia/QAudioOutput>#include <QtCore/QFile>#include <iostream>#i 阅读全文
posted @ 2023-08-16 19:32 阿风小子 阅读(165) 评论(0) 推荐(0) 编辑
摘要:摄像头取出格式YUY2(YUYV) Y U00 Y V00 Y U01 Y V01 Y U02 Y V02 Y U03 Y V03Y U10 Y V10 Y U11 Y V11 Y U12 Y V12 Y U13 Y V13Y U20 Y V20 Y U21 Y V21 Y U22 Y V22 Y 阅读全文
posted @ 2023-08-16 10:56 阿风小子 阅读(323) 评论(0) 推荐(0) 编辑
摘要:YUV模型是根据一个亮度(Y分量)和两个色度(UV分量)来定义颜色空间,常见的YUV格式有YUY2、YUYV、YVYU、UYVY、AYUV、Y41P、Y411、Y211、IF09、IYUV、YV12、YVU9、YUV411、YUV420等,其中比较常见的YUV420分为两种:YUV420P和YUV4 阅读全文
posted @ 2023-08-16 10:24 阿风小子 阅读(932) 评论(0) 推荐(0) 编辑
摘要:首先确认YUYV与NV12 的采样格式, YUYV 属于YUV4:2:2采样, 而NV12属于YUV4:2:0采样。 采样方式如下图所示: 实心圆表示Y分量, 空心圆表示一对U和V的分量。并且YUV图像中每一个Y分量,即表示一个像素点。 可以很明显地看出YUV422采样中两个像素点共用一对U和V的分 阅读全文
posted @ 2023-08-16 09:34 阿风小子 阅读(583) 评论(0) 推荐(0) 编辑
摘要:概述 图像叠加与音频叠加(混音)不同,人耳可以同时听到两种声音,因此混音时需要将两种信号都保留;但视频不同,图像一旦叠加,那么叠加区域人眼就只能看到最上层的图像。本文仅阐述对原始图像数据做修改的叠加方式,不涉及多个plane实现显示级别的图像叠加的知识。因此本文所述的图像叠加基本原理就是:顶层图像的 阅读全文
posted @ 2023-08-16 09:19 阿风小子 阅读(283) 评论(0) 推荐(0) 编辑
摘要:Alpha 透明度混合算法,网上收集整理,分成以下三种: 一、 R1,G1,B1,Alpha1 为前景颜色值,R2,G2,B2,Alpha2 为背景颜色值,则 前景色 R = R1 * Alpha1 + R2 * Alpha2 * (1-Alpha1) ; G = G1 * Alpha1 + G2 阅读全文
posted @ 2023-08-15 14:14 阿风小子 阅读(408) 评论(0) 推荐(0) 编辑
摘要:准备移植好lvgl的工程 一、修改 lv_port_disp.c1、使能 lv_port_disp.c修改头晚间包含 lv_port_disp_template改为lv_port_disp 编译报错和警告,没有定义水平MY_DISP_HOR_RES、垂直分辨率MY_DISP_VER_RES和 最大水 阅读全文
posted @ 2023-08-10 17:59 阿风小子 阅读(546) 评论(0) 推荐(0) 编辑
摘要:前言 LVGL能实现非常简约美观的UI界面,比如上面这张动图就是LVGL的官方demo,前面移植好显示和触摸后,就可以尝试跑一下lv_demo。 有时间还可以研究一下demo是怎么实现的。 一、移植前准备 硬件(带触摸屏幕的STM32F407VE核心板) 移植好LVGL-8.1显示和触摸的Keil工 阅读全文
posted @ 2023-08-10 17:49 阿风小子 阅读(1167) 评论(0) 推荐(0) 编辑
摘要:飞凌嵌入式OKMX8MP-C开发板基于NXP i.MX 8M Plus处理器开发设计,该系列处理器专注于机器学习与视觉、高级多媒体以及具有高可靠性的工业自动化。旨在满足智慧城市、工业互联网、智能医疗、智慧交通等应用的需求。强大的四核或双核Arm® Cortex®-A53处理器,主频高达1.6GHz, 阅读全文
posted @ 2023-08-10 14:49 阿风小子 阅读(502) 评论(0) 推荐(1) 编辑
摘要:本文是基于Linux开发板的V4L2摄像头调用程序,包括YUYV解码为RGB,以及将摄像头数据显示在开发板屏幕上。代码未封装,可直接在linux下编译使用。 工作流程:打开设备 —> 检查和设置设备属性 —> 设置帧格式 —> 设置一种输入输出方法(缓冲区管理) —> 循环获取数据 —> 数据解码 阅读全文
posted @ 2023-08-10 14:32 阿风小子 阅读(1748) 评论(1) 推荐(0) 编辑
摘要:1.一般指令模式/指令模式1.1说明​ 进入vi后的默认模式,主要作用为移动光标 1.2命令1.2.1翻屏命令Ctrl+u:向文件首翻半屏;Ctrl+d:向文件尾翻半屏;Ctrl+f:向文件尾翻一屏;Ctrl+b:向文件首翻一屏; 1.2.2光标移动命令H:光标移至屏幕顶行 只是当前那一屏M:光标移 阅读全文
posted @ 2023-08-09 15:30 阿风小子 阅读(113) 评论(0) 推荐(0) 编辑
摘要:USB摄像头相关的内核配置在此专栏:https://www.ebaina.com/articles/140000016097 只需在官方提供的demo上修改即可,官方demo:rkmedia_vi_venc_rtsp_test 首先找到USB摄像头对应的节点是什么,我这里的是video45。 第一步 阅读全文
posted @ 2023-08-09 14:51 阿风小子 阅读(1393) 评论(0) 推荐(0) 编辑
摘要:1126的开发板内核已经把USB的驱动配置好了,但是USB摄像头的驱动还没有配置,所以要在内核打开UVC驱动 第一步:修改rv1126_defconfig 添加以下内容 vi ./kernel/arch/arm/configs/rv1126_defconfig CONFIG_MEDIA_USB_SU 阅读全文
posted @ 2023-08-09 14:50 阿风小子 阅读(929) 评论(0) 推荐(1) 编辑
摘要:一、框架 1、程序框架 仿照之前数码相册的框架来进行改造,完成在开发板上动态显示摄像头的数据信息: 对于上述完成主要功能的5个部分:display显示部分、debug调试信息输出部分、render渲染部分、video视频设备部分、convert格式转换部分 video视频设备部分:负责获得摄像头的原 阅读全文
posted @ 2023-08-09 08:56 阿风小子 阅读(295) 评论(0) 推荐(0) 编辑
摘要:V4L2 是 Video4Linux2 的缩写,是 Linux 内核中的一个视频设备驱动接口。 USB-V4L2 初始化流程 1.打开设备节点 open 2.配置参数:分辨率,fps,格式 ioctl 3.请求分配帧缓存->地址映射 4.加入队列中 /** ********************* 阅读全文
posted @ 2023-08-09 08:28 阿风小子 阅读(626) 评论(0) 推荐(0) 编辑
摘要:一、内核设置 Linux内核中已经带有很完善的USB摄像头驱动,支持几乎所有的USB摄像头,我们只需要配置内核,选择上相应的Sensor型号即可。 配置内核,支持USB摄像头: Device Drivers > <*> Multimedia support > <*> Video For Linux 阅读全文
posted @ 2023-08-08 17:34 阿风小子 阅读(225) 评论(0) 推荐(0) 编辑
摘要:一、v4l2介绍 v4l2意思为Video for Linux2,是linux中视频设备的内核驱动。它有以下几个接口: 视频采集接口:这种设备可以是高频头或摄像头; 视频输出接口:可以驱动计算机的外围视频图像设备 直接传输视频接口:主要工作是把从视频采集设备采集过来的信号直接输出到输出设备之上,而不 阅读全文
posted @ 2023-08-08 17:16 阿风小子 阅读(2920) 评论(1) 推荐(0) 编辑
摘要:ps -p <pid> -o %cpu,%mem,cmd 阅读全文
posted @ 2023-08-07 08:56 阿风小子 阅读(140) 评论(0) 推荐(0) 编辑