Linux 音视频开发
文章平均质量分 52
音频视频
rjszcb
不断学习变成牛
展开
-
基于Live555实现RtspServer及高清高码率视频传输优化
#https://www.cnblogs.com/haibindev/p/9503639.html_Message原创 2021-01-07 18:20:11 · 346 阅读 · 0 评论 -
FFmpeg+SDL+QT实现简单是视频播放器
每个对应的视频音频流信息都有对应的解码器AVCodec。AVFrame中保存了一帧解码后的数据。最终函数返回一个智能指针,该指针指向一个数组,该数组中包含了一帧视频中的YUV数据。av_format_find_stream_info()获取视频文件信息。avformat_open_input()打开输入的视频文件。avcodec_find_decoder()查找对应的解码器。avcodec_decode_video2()解压一帧的数据。avformat_close_input()关闭输入视频。...转载 2022-07-26 16:13:15 · 996 阅读 · 2 评论 -
【无标题】
2、查找视频流位置以及查找并打开视频解码器;Qt+FFmpeg简单实现视频播放。Linux下移植ffmpeg开源库。1、打开音视频流并获取音视频流信息;3、视频解码的同时处理图片像素数据;Qt+FFmpeg实时视频播放。4、最后要释放申请的内存空间。二、代码实现播放功能。...转载 2022-07-26 15:32:48 · 60 阅读 · 0 评论 -
hisi35xx保存yuv图片调试
hisi系列,yuv保存结构体, u64PhyAddr[3]是申请一个结构体类型时,分配的一个物理地址,当保存一帧图片到这个结构体时这帧图片分配的一端内存首地址,就放在这里,需要读取图片数据时,需要向内核,mmap,转换成虚拟地址放在 u64VirAddr[3]里,Y,U,V 地址分别放在0,1,2数组里。u32Stride是每一行占的长度,当设置为32对齐,或256对齐时,根据接入的相机的分辨率,会自动处理进行对齐,如640* 512,720* 576,如果不能满足要求,就回自动填充,进行原创 2022-05-30 15:45:40 · 631 阅读 · 0 评论 -
matlab球面投影(二)
matlab球面投影,想做一个全景相机,不知道,要做成啥样,于是在MATLAB先仿真一下,看下是个啥样子百度别人做的,复制下面的代码到MATLAB的命令串口下,,网上找了张全景图,可以是bmp,jpg,改程序就可以了回车运行就可以看到结果。复制下面代码时,下面的中文注释记得删除,MATLAB是会报错的,close all; clear all; clc[x,y,z]=sphere(50);A=imread('a.JPG'); //名字是自己命名的,记得改B=warp(x,y,-z,原创 2021-11-18 16:15:02 · 2805 阅读 · 0 评论 -
全景图,观察平面直线投影,不同视场大小,图像分辨率,显示分辨率算法处理后的图片效果
全景图,观察平面直线投影,不同视场大小,图像分辨率,显示分辨率的图片效果一、全景图,观察平面直线投影二、原始全尺寸图片展示1、相同图像分辨率,相同等比例缩放分辨率下,不同视场大小的效果。不同视角下能够看到不同宽度的物体。2、相同视场大小,相同等比例缩放分辨率下,不同的图像分辨率效果。3、相同视场大小,相同图像分辨率下,不同的缩放比例输,进行缩放的效果。4、鼠标控制3D旋转角度,展示的不同相机的不同角度下的画面。...原创 2021-11-17 17:46:43 · 2141 阅读 · 0 评论 -
hisi3520调试TLV320AIC3101耳机热插拔时产生爆破音问题(五)
hisi3520调试TLV320AIC3101耳机热插拔产生爆破音问题(五),有空写原创 2021-11-15 18:29:34 · 273 阅读 · 0 评论 -
hisi3520调试TLV320AIC3101耳机热插拔问题(四)
hisi3520调试TLV320AIC3101耳机热插拔问题(四)原创 2021-11-12 09:55:01 · 398 阅读 · 0 评论 -
linux 的tlv320aic3x驱动源码分析
linux 的tlv320aic3x驱动源码分析原创 2021-11-03 21:50:39 · 524 阅读 · 0 评论 -
为什么Linux的音频驱动位于sound目录下而不是driver/sound
为什么Linux的音频驱动位于sound目录下而不是driver/sound来自百度百科:https://zhidao.baidu.com/question/1766959028556770020.html1、早期的2.4内核所有的音频驱动和其他驱动一样都是位于drivers目录下的:drivers/sound2、到了2.5开发版内核,所有的音频驱动包括音频框架代码由drivers/sound移到了sound目录下:(1)2.6内核之前的git记录查找:http://git.kernel.org/?转载 2021-11-03 17:40:34 · 754 阅读 · 1 评论 -
鱼眼相机图像畸变原理(四)
预备中。。。。原创 2021-10-27 19:47:32 · 294 阅读 · 0 评论 -
双目相机融合(五)
预备中。。。。原创 2021-10-27 19:46:30 · 1584 阅读 · 0 评论 -
相机模型中的世界坐标系究竟指什么(三)
对于刚接触相机模型的同学来说,会从各个渠道被告知 相机模型中的世界坐标系是假想坐标系,可以被任意选取,当然这种描述是简洁且正确的,但这样描述会有些抽象,可任意选取代表了很强的随机性,这种抽象的描述及随机性往往对初学者的理解并不友好从概念上讲,为了定量描述物体间的 相对位置 关系,引入了坐标系。每个点在不同坐标系中的坐标值是不同的,但多个点间的 相对位置 或构成的 方向向量 并不随坐标系的改变而发生变化。所以,可以使用 任意坐标系 来定量刻画物体间的 相对位置 关系。为便于理解不同坐标系间的差异,引入转载 2021-10-23 14:55:42 · 761 阅读 · 0 评论 -
调焦、变焦的原理和清晰度的关系
一、小孔成像模型物距为u,像距为v,焦距为f,三者的关系为:1/v +1/u=1/f。根据该关系,不同的物距、像距、焦距的关系使得成像特点不同:1、当物距大于2倍焦距时,则像距在1倍焦距和2倍焦距之间,成倒立、缩小的实像。此时像距小于物距,像比物小,物像异侧。应用:照相机、摄像机。2、当物距等于2倍焦距时,则像距也在2倍焦距, 成倒立、等大的实像。此时物距等于像距,像与物大小相等,物像异侧。应用:测焦距。3、当物距小于2倍焦距、大于1倍焦距时,则像距大于2倍焦距, 成倒立、放大的实像。此时像距大于原创 2021-10-21 12:25:09 · 11835 阅读 · 2 评论 -
鱼眼镜头的成像原理到畸变矫正
https://blog.csdn.net/qq_16137569/article/details/112398976.1 镜头分类镜头类型 特征描述变焦镜头 在一定范围内可以变换焦距、从而得到不同宽窄的视场角,不同大小的影象和不同景物范围的照相机镜头。定焦镜头 标准镜头 视角在40°~45°之间,焦距长度与底片对角线长度基本相等。广角镜头 普通广角镜头 镜头焦距小于底片对角线长度的镜头称为广角镜头。普通广角镜头视角在90°以内。超广角镜头 视角在90° ~ 180°之间鱼眼镜头 视角超过18转载 2021-10-21 10:19:41 · 421 阅读 · 0 评论 -
光学成像模型\和物距、像距、焦距、三者关系\和世界坐标、相机坐标、图像坐标、像素坐标关系\和图像畸变标定处理(二)
来自百度百科:https://zhidao.baidu.com/question/55907940.html一、物距、相距、焦距、三者关系物距为u,像距为v,焦距为f,三者的关系为:1/v +1/u=1/f。根据该关系,不同的物距、像距、焦距的关系使得成像特点不同:1、当物距大于2倍焦距时,则像距在1倍焦距和2倍焦距之间,成倒立、缩小的实像。此时像距小于物距,像比物小,物像异侧。应用:照相机、摄像机。2、当物距等于2倍焦距时,则像距也在2倍焦距, 成倒立、等大的实像。此时物距等于像距,像与物大小相原创 2021-10-20 16:29:24 · 22194 阅读 · 0 评论 -
相机组成、镜头焦距、视场角、清晰度的概念(一)
镜头中心点到成像平面对角线两端所形成的夹角就是镜头视角,对于相同的成像面积,镜头焦距越短,其视角就越大。对于镜头来说,视角主要是指它可以实现的视角范围,当焦距变短时视角就变大了,可以拍出更宽的范围,但这样会影响较远拍摄对象的清晰度。当焦距变长时,视角就变小了,可以使较远的物体变得清晰,但是能够拍摄的宽度范围就变窄了以50mm镜头,全画幅机身为例。镜头焦距 F = 50mm镜头视角宽度 A全画幅相机感光器对角线长度约为43mm。视角宽度A可以等效于底边为43mm高为50mm的等腰三角形的顶角的大小。tan原创 2021-10-20 14:10:50 · 5232 阅读 · 0 评论 -
视频接口的种类及数据类型
视频接口的种类,有很多,有模拟信号的,有数字信号的,数字信号,又有差分串行的,并行的数字信号接口,有,RGB, VGA, HDMI, MIPI, LVDS,DVI,模拟信号接口,PAL,CVBS,原创 2021-10-20 12:20:48 · 1836 阅读 · 0 评论 -
I2S协议和hisi3520调试TLV320AIC3101音频驱动(一)
一、hisi的音频采集播放原理图ad就是音频芯片,i2s与hisi主控连接,hisi的采集和输出为ai和ao设备,通过内部的dma,将数据进行保存,不需我们关心。二、hisi的I2S文档介绍在介绍之前,先介绍hisi文档关于音频的说明,多媒体开发文档2、编解码处理器指南介绍根据文档,对讲只用一个ad芯片时的引脚设计。ad芯片作为主模式可以外接晶振,供芯片输出时钟,我选择ad芯片作为从模式,hisi就是主模式,提供时钟给ad芯片,输入和输出共用时钟。如下图三、hisi的I2S引脚和tl芯原创 2021-09-12 14:55:56 · 4523 阅读 · 0 评论 -
hisi3520dv400镜像烧录方法(hitool)或/tftp
我的板卡,是按hisi的推荐,设计的启动方式,接的是spi接口的norflash,作为启动介质,nand作为存储文件系统的介质方法一:HiTool.exe工具烧录hisi的hisitool工具里,有HiTool.exe,板卡第一次烧录镜像,需要用hisi的工具才能烧录打开HiTool.exe,选择hisi3520dv400,然后,选如下第二步的burn,出现如下画面。可以串口烧录,也可以网口烧录,我这里选的网口烧录,服务器ip,填pc电脑ip,板端配置填板卡设置好的ip,很奇怪,前面我试了很多次原创 2021-08-23 17:11:25 · 3181 阅读 · 0 评论 -
hi3520/hi3521视频解码vdec例程分析
一、vdec解码例程1、海思提供的视频解码,例程代码,本人,亲测试过,能跑起来,并解码成功,先上图,我是用海思提供的tool工具,dump代码,把yuv数据,保存为yuv格式图片,然后使用YUVPlayer工具,查看图片,下图是hisi 的sdk里的h264解码的图片。2、运行过程:在hisi的代码中,有很多模块的例程,找到vdec代码,把h264的api代码,拷贝出来在我们自己的工程中,不可能有两个main函数吧,自己写一个线程,运行这个api,就可以了。然后就是这个api的代码分析了原创 2021-08-02 12:39:32 · 1995 阅读 · 0 评论 -
yuv422,yuv420,yuv444的区别
一、yuv planar和packed的区别。YUV格式有两大类:planar和packed。PIXEL_FORMAT_YVU_SEMIPLANAR_422,PIXEL_FORMAT_YVU_SEMIPLANAR_420,PIXEL_FORMAT_YVU_SEMIPLANAR_444,PIXEL_FORMAT_YUV_SEMIPLANAR_422,PIXEL_FORMAT_YUV_SEMIPLANAR_420,PIXEL_FORMAT_YUV_SEMIPLANAR_444,PIXEL_F原创 2021-07-14 16:19:07 · 19336 阅读 · 0 评论 -
matlab鱼眼镜头,普通镜头,单目双目相机标定校正(四)
1、打开软件,找到工具箱有两个,一个是单个镜头标定,一个是双镜头标定,所以我们选第一个2、导入图图片一、参数设置一、校正前二、校正后三、校正前四、校正后五、导出参数通过show ,可以切换校正前后的效果图像,导出参数看erport...原创 2021-07-05 10:25:34 · 6074 阅读 · 9 评论 -
SDI信号和CVBS接口区别
1、下面的图是HDMI,AUDIO,CVBS,SDI接口图,2、SDI: SDI接口又称数字串行接口,串行接口就是把数据字的各个比特以及相应的数据通过单一通道顺序传送的接口由于串行数字信号的数据率很高。3、CVBS:CVBS信号,中文名字叫“复合同步视频广播信号”,以模拟波形来传输数据。复合视频包含色差(色调和饱和度)和亮度(光亮)信息,并将它们同步在消隐脉冲中,用同一信号传输。由于SDI视频信号被分为工程级和普通级,所以根据工艺、应用技术和功能的不同,工程级SDI转CVBS和普通的SDI转CV原创 2021-06-23 16:22:30 · 7345 阅读 · 1 评论 -
yuv、rgb 、yCbCr以及转换
一、和rgb之间换算公式的差异yuv<–>rgbY’= 0.299R’ + 0.587G’ + 0.114*B’U’= -0.147R’ - 0.289G’ + 0.436B’ = 0.492(B’- Y’)V’= 0.615R’ - 0.515G’ - 0.100B’ = 0.877(R’- Y’)R’ = Y’ + 1.140*V’G’ = Y’ - 0.394U’ - 0.581V’B’ = Y’ + 2.032*U’yCbCr<–>rgbY’ = 0.257转载 2021-06-23 12:13:50 · 1226 阅读 · 0 评论 -
Hi3521DV100 编译环境和SDK安装
一、安装交叉编译工具链\Hi3521DV100R001C01SPC040\ReleaseDoc\ReleaseDoc\zh\01.software\board\目录下找到指导文档,PDF文件1.3.2 安装交叉编译工具链将hisi提供的SDK包解压开,在Hi3521DV100R001C01SPC040/arm-hisiv500-linux,有一个压缩包,解压开得到交叉编译工具包执行命令,sudo ./arm-hisiv500-linux.install,进行安装,安装完将会看到在PATH=/o原创 2021-06-22 14:20:04 · 715 阅读 · 1 评论 -
Gamma校正原理及实现(一)
hisi3559提供的hipq工具,可以看到调试伽马参数曲线的变化,当系数小于1时,对暗区提升比较明显,对亮区提升并不多,这是我们需要的结果,如下三张图,不同系统,曲线弯曲度不一样,对图像的提升效果也不一样,根据实际需求,调整参数,一:二;三:gamma校正原理: 假设图像中有一个像素,值是 200 ,那么对这个像素进行校正必须执行如下步骤: 1. 归一化 :将像素值转换为 0 ~ 1 之间的实数。 算法如下 : ( i + 0. 5)/256 这里包含 1 个除法和 1 个加.原创 2021-06-17 17:41:48 · 3927 阅读 · 0 评论 -
直方图均衡提高图像对比度亮度hisi3559av100(四)
// 2. EqualizeHist 直方图均衡实现过程,hisi3559av100为例, typedef struct hiVIDEO_FRAME_S { HI_U32 u32Width; HI_U32 u32Height; VIDEO_FIELD_E enField; PIXEL_FORMAT_E enPixelFormat; VIDEO_FORMAT_E enVideoFor原创 2021-06-17 17:05:37 · 486 阅读 · 1 评论 -
直方图均衡化算法原理与实现(三)
直方图均衡化算法原理与实现工作后,对原来学习的一些基本图像处理算法有了一些新的认识,比如Canny 算法,直方图均衡化算法等,今天就来说说直方图均衡化算法。直方图均衡化原理我们知道提高图像对比度的变换函数f(x)需要满足一下条件:f(x)在0<=x<=L−1上单调递增(不要求严格单调递增),其中L表示灰度级(L=256)f(x)的范围是[0,L−1]我们知道当图像直方图完全均匀分布的时候,此时图像的熵是最大的(随机变量每个值的概率都相同时,概率最大),图像对比度是最大的。所以,理想情转载 2021-06-17 16:46:33 · 254 阅读 · 0 评论 -
直方图均衡化原理(二)
项目中遇到要直方图均衡化,在网上找到如下介绍:博主忘记是谁了,转载的,谢谢!直方图均衡化算法分为三个步骤,第一步是统计直方图每个灰度级出现的次数,第二步是累计归一化的直方图,第三步是计算新的像素值。第一步:for(i=0;i<height;i++){ for(j=0;j<width;j++){ n[s[i][j]]++; }}for(i=0;i<L;i++){ p[i]=n[i]/(width*height);}这里,n[i]表示的是灰度原创 2021-06-17 16:41:22 · 131 阅读 · 0 评论 -
直方图均衡化原理(一)
直方图均衡化的作用是图像增强。有两个问题比较难懂,一是为什么要选用累积分布函数,二是为什么使用累积分布函数处理后像素值会均匀分布。第一个问题。均衡化过程中,必须要保证两个条件:①像素无论怎么映射,一定要保证原来的大小关系不变,较亮的区域,依旧是较亮的,较暗依旧暗,只是对比度增大,绝对不能明暗颠倒;②如果是八位图像,那么像素映射函数的值域应在0和255之间的,不能越界。综合以上两个条件,累积分布函数是个好的选择,因为累积分布函数是单调增函数(控制大小关系),并且值域是0到1(控制越界问题),所以直方图均衡原创 2021-06-17 16:38:12 · 523 阅读 · 0 评论 -
海思平台HI35XX系列内存设置
本文转载来自:https://blog.csdn.net/li_wen01/article/details/86547859两个命令,对查看内存有用:cat /proc/meminfocat /proc/media-mem海思平台的内存分为两部分,一部分给系统使用,另外的一部分给多媒体使用。可以通过cat /proc/meminfo查看系统内存和cat /proc/media-mem 查看多媒体内存使用情况。/proc # cat /proc/meminfo MemTotal:原创 2021-06-17 16:33:26 · 467 阅读 · 0 评论 -
图像增强-直方图均衡
直方图均衡化的作用是图像增强。有两个问题比较难懂,一是为什么要选用累积分布函数,二是为什么使用累积分布函数处理后像素值会均匀分布。第一个问题。均衡化过程中,必须要保证两个条件:①像素无论怎么映射,一定要保证原来的大小关系不变,较亮的区域,依旧是较亮的,较暗依旧暗,只是对比度增大,绝对不能明暗颠倒;②如果是八位图像,那么像素映射函数的值域应在0和255之间的,不能越界。综合以上两个条件,累积分布函数是个好的选择,因为累积分布函数是单调增函数(控制大小关系),并且值域是0到1(控制越界问题),所以直方图均衡原创 2021-05-12 11:04:29 · 322 阅读 · 0 评论 -
灰度到伪彩色的转换公式
灰度到伪彩色的转换公式:f表示某一像素点的灰度if 0<=f<63 thenbeginr :=0; g :=254-4f; b :=255;end;if 64<=f<127 thenbeginr :=0; g :=4f-254; b :=510-4f;end;if 128<=f<191 thenbeginr :=4f-510; g :=255; b :=0;end;if 192<=f<=255 thenbeginr :=255;原创 2021-03-19 17:24:40 · 1177 阅读 · 0 评论 -
隔行的BT.656标准信号
凡是做模拟信号采集的,很少不涉及BT.656标准的,因为常见的模拟视频信号采集芯片都支持输出BT.656的数字信号,那么,BT.656到底是何种格式呢?本文将主要介绍 标准的 8bit BT656(4:2:2)YCbCr SDTV(标清) 数字视频信号格式,主要针对刚刚入门模拟视频采集的初学者入门之用。这是我采集的pal 720x576的波形蓝色的是正常的一行波形,下面黄色的波形在显示器显示是3块相同的图像的不正常的波形,帧的概念(Frame)一个视频序列是由N个帧组成的,采集图像的时候一般原创 2021-03-09 11:22:13 · 2183 阅读 · 4 评论 -
CVBS接口,PAL制式信号
CVBS接口的信号,分为PAL制式CVBS信号,和NTSC制式的CVBS信号原创 2021-03-02 10:06:18 · 4836 阅读 · 0 评论 -
海思Hi3519A MPP从入门到精通(一 系统概述)
转载:https://blog.csdn.net/ywcpig/article/details/85130217?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-15.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-15.control概述海思提供的媒体处理软件平台(Media Process Platform,简称转载 2021-01-09 15:19:45 · 434 阅读 · 0 评论 -
ubuntu下播放h264,h265文件
ubuntu下播放h264,h265文件vlc可以播放h264,h265文件, 并且既可以在win下,可以在ubuntu下安装vlc在ubuntu软件中心,搜索vlc,既可以看到vlc media player,点击安装对于h264结尾的文件,可以直接使用命令播放vlc *.h264对于h265文件, 我安装的时v2.1.6版本,不支持h265, 需要安装一库,采用ppa的方式sudo add-apt-repository ppa:strukturag/libde265sudo aptitu原创 2021-01-09 15:32:08 · 2730 阅读 · 0 评论