自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吐着泡泡说爱你的博客

总结一些视音频技术,有的怕自己忘掉,写在这方便自己家浏览

  • 博客(63)
  • 资源 (1)
  • 收藏
  • 关注

原创 opencv之轮廓特征属性及应用

1)最小外接矩形 轮廓最小外接矩形–minAreaRect() RotatedRect minAreaRect(InputArray points); **points :输入的二维点集,可以填Mat 类型或std::vector **返回值:RotatedRect类矩形对象,外接旋转矩形主要成员有center,size,angle,points 在opencv中,坐标的原

2017-06-21 10:47:50 554

原创 opencv之轮廓特征属性及应用

使用特定形状的轮廓包围 在实际应用中,经常会有将检测到的轮廓用多边形表示出来的应用,提取包围轮廓的多边形也方便我们做进一步分析,轮廓包围主要有几种 1.轮廓外接矩形 2.轮廓最小外接矩形(旋转) 3.轮廓最小包围圆形 4轮廓拟合椭圆 5.轮廓毕竟多边形曲线轮廓外接矩形–boudingRect() Rect boundingRect(InputArray points); points

2017-06-20 20:25:40 523

原创 opencv之轮廓特征属性及应用(一)

1)凸包 凸包是一个计算机几何图形学中的概念,简单来说,给定二维平面点集,凸包就是能够将最外层的点连接起来构成的凸多边形,他能够包含点集中所有的点,物体的凸包检测常应用在物体识别,手势识别及边界检测等领域寻找凸包–convexHull() void convexHull(InputArray points,OutputArray hulll,bool clockwise=false,bool r

2017-06-20 09:49:42 1066

转载 ffmpeg字幕

转载自 dancing_night 增加字幕流 ffmpeg -i video.avi -i sub.ass -map 0:0 -map 0:1 -map 1 -c:a copy -c:v copy -c:s copy video.mkv提取字幕流 1)原始文本输出 ffmpeg -i output.mkv -an -vn -bsf:s mov2textsub -scodec copy

2017-06-19 17:12:46 1706

转载 x264参数介绍(二 ,分析和视频可用性信息)

分析partitions默认:’p8x8,b8x8,i8x8,i4x4′ 说明:H.264在压缩前会被切分为16×16大小的宏块。这些块可被进一步切分成更小的块,利用此参数,可以控制不同的帧类型(I、P、B)开启更细的帧切分(8×8、4×4),具体参数如下: I帧:i8x8、i4x4; P帧:p8x8(会同时开启p16x8和p8x16)、p4x4(会同时开启p8x4和p4x8); B帧:b8

2017-06-19 17:10:33 620

转载 x264参数介绍(-,帧类型和码率控制)

预设值预设值是x264在r1177版本增加的一个方便的命令行选项。可以用x264.exe –fullhelp查看所有的命令行帮助。profile默认:无 说明:限制输出文件的profile。这个参数将覆盖其它所有值,此选项能保证输出profile兼容的视频流。如果使用了这个选项,将不能进行无损压缩(qp 0 or crf 0)。 可选:baseline,main,high 建议:不设置。除非解

2017-06-19 17:09:19 1877

转载 x264编码----码率控制

x264是一个 H.264/MPEG4 AVC 编码器,本指南将指导新手如何创建高质量的H.264视频。对于普通用户通常有两种码率控制模式:crf(Constant Rate Factor)和Two pass ABR。码率控制是一种决定为每一个视频帧分配多少比特数的方法,它将决定文件的大小和质量的分配。如果你在编译和安装libx264 方面需要帮助,请查看ffmpeg和x264编译指南:http:/

2017-06-19 17:08:09 1002

转载 x264输出统计值含义

典型的x264输出(Stats Output)如下: [text] view plaincopyavis [info]: 1280x720 @ 1.77 fps (40997 frames) yuv4mpeg: 640x480@30/1fps, 0:0 x264 [info]: 352x288 (given by file name) @ 25.00 fps 取决于输入源会有不同,但大

2017-06-19 17:07:10 685

转载 FFmpeg基本用法

FFmpegFFmpeg 基本用法本课要解决的问题1.FFmpeg的转码流程是什么?2.常见的视频格式包含哪些内容吗?3.如何把这些内容从视频文件中抽取出来?4.如何从一种格式转换为另一种格式?5.如何放大和缩小视频?6.如何旋转,翻转,填充,裁剪,模糊,锐化视频?7.如何给视频加logo,删除logo?8.如何给视频加文本,动态文本?9.如何处理图片?10.如何录像,添加动态logo,截图,马赛克

2017-06-19 16:46:20 3428

转载 ffmpeg命令中文解释

a) 通用选项-L license -h 帮助 -fromats 显示可用的格式,编解码的,协议的… -f fmt 强迫采用格式fmt -I filename 输入文件 -y 覆盖输出文件 -t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持 -ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持 -title s

2017-06-19 16:44:47 527

原创 opencv之轮廓的查找与绘制(二)

1)如何访问每一个轮廓 for(int i=0;i< contours.size();i++) { …………. } vector < vector /Point>>contours;//注这有个/是< 的意思 (每个轮廓的点集 size()单个轮廓中点的个数) (所有的轮廓集合 size() 轮廓的个数) 2)如何访问每一个轮廓的所有点 ex

2017-06-19 14:58:27 472

转载 ffmpeg转码研究命令行

Ffmpeg是一款功能强大的视频处理工具,那么转码肯定不是问题的,因为项目的需求,对转码进行了研究。刚开始首先去看了ffmpeg源代码中的一个例子transcode.c,但是发现该例子更应该称之为remux的一个例子,并没有具体的涉及到转码。所以转而去ffmpeg工具中寻求帮助了。 ffmpeg转码流程:举例: 输入文件为ts格式,视频编码为H.264,音频编码为AAC,要求的输出文件封装格式为

2017-06-19 11:17:12 755

转载 mpeg-ts(二)

MPEG2的三类帧 I帧:是帧内编码帧,其编码不依赖BP两帧,同时他是BP帧编解码的参考图像 P帧:前向预测编码图像,像素的预测值取为前面与其相邻的I帧或P帧中对应像素的值,即采用帧间运动补偿前值预测。 B帧:双向预测编码图像,像素的预测值取为前后与其距离最近的I帧或P帧相应像素的加权平均,即采用帧间运动补偿前后平均,需要指出,B帧不能作为其他B帧或P帧的编码参考图像。编码顺序: 传输流中编

2017-06-19 10:40:43 439

转载 mpeg2-ts基础

一:基本概念1.ES–Elementary Streams(原始流)是直接从编码器出来的数据流,ES经过PES打包器之后,转换成PES包。ES仅是包含一种数据内容的数据流,如h.264视频或者aac音频数据。打包之后的PES也是只包含一种的ES,如只含视频ES的PES或者只含音频ES的PES。每个ES都由若干个存取单元(AU)组成,每个视频AU或者音频AU都由头部和编码数据两部分组成,一个AU相当于

2017-06-19 10:28:01 473

原创 ffmpeg 一些命令

1.修改分辨率率将输入为640*480的修改为320*249ffmpeg -i input -vf scale=iw/2:-2 outputiw:输入帧宽,此处为640,640/2=320。-1告诉scale filter保持纵横比,所以scale filter计算出值240.2.改变音视频播放速度1>视频2倍播放速度,音频两倍播放速度。ffmpeg -i input.mkv -filter:v “

2017-06-19 10:22:03 587

转载 ffmpeg_Cropping video(剪裁视频)命令行

1.Cropping Basics老版本的ffmpeg有bottom, left, right, top选项,但是现在已经被废弃了,而改用crop filter来进行描述。值ow可从oh中得到,反之亦然,但是不可以从x和y中得到,因为x和y是从ow和oh中推断出来的。值x可从y中获取,反之亦然。比如:剪切输入帧的左第三,中第三,右第三,可以用下面的命令。ffmpeg -i input -vf cro

2017-06-19 10:19:56 2635

转载 ffmpeg -resize and scale

resize 的意思是改变长和宽,scale意思是用scale filter改变帧的大小。 1.Resizing video 宽和高用-s选项进行设置。要在output filename 之前设置。例如:初始化分辨率为320*240ffmpeg -i input_file -s 320*240 output_file2.预定义视频帧的大小下面的两个cmd有同样的效果ffmpeg -i input

2017-06-19 10:13:11 7501

转载 ffmpeg 获取帮助的命令

1.Text help in FFmpeg tools ffmpeg有很多的控制台帮助信息。可以查找到比如编解码器等信息。 下面的选项对于ffplay和ffprobe适用。例如: ffmpeg -h decoder=flv2.Available bitstream filters ffmpeg -bsfs3.Available codecs ffmpeg -codecs……3.Availa

2017-06-19 09:57:25 2116

转载 ffmpeg -比特率,帧率和文件大小

比特率和帧率是音视频基本的特性,对于音视频整体的质量有关键作用!如果知道比特率和持续时间,就可以计算输出文件的大小。 1.Frame(frequency)rate introduction 帧率就是每秒编码进视频文件的帧数目。人类的眼睛需要每秒至少15帧才能将图像连贯在一起。帧率的单位是HZ,LCD显示一般有60Hz的平率。 有2种类型的帧率-interlaced(denoted asi af

2017-06-19 09:50:34 18434

原创 opencv之轮廓的查找与绘制

1)什么是轮廓 轮廓可以简单的认为是将连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度,提取轮廓就是提取这些具有相同颜色或者灰度的曲线,或者说是连通域,轮廓在形状分析和物体的检测和识别中非常有用注意事项: 1.为了更加准确,要使用二值化图像,在寻找轮廓之前,要进行阈值化处理或者Canny边缘检测 2.查找轮廓的函数会修改原始图像,如果你在查找轮廓之后还想使用原始图像的话,应该将原始图

2017-06-19 09:39:21 603

转载 使用ffmpeg 获取视频总时长

以前一直以为知道pFormatContext后,通过其成员变量duration就是视频长度。但是通过实验,其数值都是很大的负数,一看就不对,最近看av_dump_format(),看到此函数输出了视频的时长,然后看了下源码,找到了获取视频的时长的方法 直接贴出 :if(pFormatCtx->duration!=AV_NOPTS_VALUE){ int hours,mins,secs,us;

2017-06-18 22:06:28 5680

转载 音频,视频时间戳计算及每帧播放时间

av_rescale_q用于计算Packet的PTS。av_rescale_q的返回值是一个很大的整数,且每次计算的结果间隔很大。 不同于avcodec_encode_video改变AVCodecContext *avctx的pts(小整数,且间隔小)。av_rescale_q(a,b,c)是用来把时间戳从一个时基调整到另外一个时基时候用的函数。它基本的动作是计算a*b/c,但是这个函数还是必需的

2017-06-18 17:09:07 2983

转载 h264编码原理以及I帧B帧P帧

前言 H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段变化不大图像画面,我们可以先编码出一个完整的图像帧A,随后的B帧就不编码全部图像,只写入与A帧的差别,这样B帧的大小就只有完

2017-06-18 17:02:04 1024

转载 h264编码速度质量参数设置

FFmpeg and x264 Encoding Guide 参数说明:http://ffmpeg.org/trac/ffmpeg/wiki/x264EncodingGuide preset 与编码速度和质量相关av_opt_set(c->priv_data, “preset”, “slow”, 0); Current presets in descending order of speed a

2017-06-18 16:39:14 8948

转载 ffmpeg常用参数一览表

基本选项: -formats 输出所有可用格式 -f fmt 指定格式(音频或视频格式) -i filename 指定输入文件名,在linux下当然也能指定:0.0(屏幕录制)或摄像头 -y 覆盖已有文件 -t duration 记录时长为t -fs limit_size 设置文件大小上限 -ss time_off 从指定的时间(s)开始, [-]hh

2017-06-18 16:33:37 935

转载 ffmpeg从MP4中提取h264的NALU

1.获取数据 ffmpeg读取mp4中的H264数据,并不能直接得到NALU,文件中也没有储存0x00000001的分隔符。下面这张图为packet.data中的数据从图中可以发现,packet中的数据起始处没有分隔符(0x00000001), 也不是0x65、0x67、0x68、0x41等字节,所以可以肯定这不是标准的nalu。其实,前4个字0x000032ce表示的是nalu的长度,从第5个字

2017-06-18 16:18:03 1222

转载 YUV RGB常见视频格式解析

I420是YUV格式的一种,而YUV有packed format和planar format两种,而I420属于planar format的一种。  同时I420表示了YUV的采样比例4:2:0。4:2:0的YUV并不是说没有V分量,而是指对于每一个行,只有一个U或者V分量。比如第一行里,是YUYYUY,到了第二行是YVYYVY,那么对于每一行来说就是4:2:0或者4:0:2。需要说明的是,这里的排

2017-06-18 16:08:14 998

转载 RTP头结构解析

RTP包头前12个固定字节机构图:0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

2017-06-18 15:56:28 1330

转载 如何利用AVDictionary配置参数

准备介绍下 ffmpeg 提供的一个非常好用的健值对工具:AVDictionary,特别是对于没有 map 容器的 c 代码,可以充分利用它来配置和定义播放器的参数,ffmpeg 本身也有很多 API 通过它来传递参数。AVDictionary 的用法简介AVDictionary 所在的头文件在 libavutil/dict.h,其定义如下: [cpp] view plain copy pr

2017-06-18 15:50:30 1520

转载 常用FFMPEG命令

1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流 2.视频解复用 ffmpeg -i test.mp4 -vcodec copy -an -f m4v test.2

2017-06-18 15:13:44 279

原创 opencv之模板匹配及应用 归一化 寻找最值

1)模板匹配 模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术,模板匹配不是基于直方图的,而是通过在输入图像中滑动图像块(模板)同时比对相似度,来对模板和输入图像进行匹配的一种方法 应用: 1.目标查找定位 2.运动物体跟踪 3其他。。。 因为是模板匹配所以倒置倾斜 相似度会差好多 不适应角度和寻找 不适应尺度变换matchTemplate(InputArray

2017-06-18 13:22:04 8101 5

转载 ffmpeg关于timebase的理解

——:ffmpeg的分层结构 写这篇文章的时候先把ffmpeg分层问题大致说明一下,我们按照最常见的”转码程序”和”摄像头采集”以及”播放器”三个模型总结 1:转码 转码基本流程:flv格式数据->h264/aac数据->yuv/pcm数据->h264/aac数据->mp4格式数据 a:我们把flv格式数据或者mp4格式数据这一层叫做mux/demux层或者是复用层有些人习惯于叫做封装层,这

2017-06-18 09:53:37 2104

原创 opencv直方图相关及应用

1)直方图均衡化 直方图均衡化是灰度变换的一个重要应用,它是通过拉伸像素强度分布范围来增强图像对比度的一种方法,广泛应用于图像增强处理中。 直方图均衡化是直方图最典型的应用,是图像点运算的一种,对于一幅输入图像,通过运算产生一幅输出图像,点运算是指输出图像的每个像素点的灰度值由输入像素点决定 即: B(x,y)=f[A(x,y)] 直方图均衡化是通过灰度

2017-06-17 10:55:49 480

原创 opencv之直方图计算及绘制

图像直方图概述 直方图是对数据进行统计的一种方法,可以直观表现图像某属性的数据(频率)分布情况,包括灰度直方图,RGB直方图等 相关 概念及函数 &&dims :需要统计的特征数目 ,如只统计灰度值—dims=1,统计RGB值 –dims=3 &&bins:每个特征空间子区域段的数目,也可以称为组距(简单理解为直方图分成几个柱子组成)

2017-06-16 20:06:24 500 1

原创 opencv之霍夫圆变换

霍夫圆变换的基本原理和霍夫线变换大体上相似,只是点对应的二维极径极角空间被三维的圆心点x,y和半径r空间取代,如果用完全一样的方法运算量比较大,运行速速比较慢,所以采用“”霍夫梯度法“”来做圆变换 4.1霍夫梯度法的原理 1.首先对图像应用边缘检测,比如用canny边缘检测 2.然后,对边缘图像中的每一个非零点,考虑其局部梯度,就是用Sobel()函数计算x,y方向的Sobel一阶

2017-06-15 15:07:51 670

原创 opencv 之霍夫线变换及应用

霍夫变换是图像处理中的一种特征提取技术,该过程中在一个参数空间中通过计算累计结果的局部最大值得到一个符合该特定形状的集合作为霍夫变换的结果 霍夫变换在opencv中主要分两种 霍夫线变换–检测直线(线段) 霍夫圆变换–检测圆 用到的函数: HoughLines()–标准霍夫变换,多尺度霍夫变换 HoughLinesP()—累计概率霍夫变换 HoughC

2017-06-15 11:39:15 628

原创 opencv图像边缘检测

边缘检测检测 &&边缘检测可以提取图像重要轮廓信息,减少图像内容,可以用于分割图像,做特征 提取 &&边缘检测的一般步骤 滤波——(滤出噪声对检测边缘的影响) 滤高频 增强——(可以将像素邻域强度变化凸显出来–梯度算子)变化率 检测——(阈值方法确定边缘) &&常用边缘检测算子 Canny算子 Sobel算子 Scharr算子 Laplacian 算子 Ro

2017-06-14 15:09:51 513

原创 自学qt之临时文件临时目录 listWidget QStringList 打包程序 qml

在实际应用中,可能会使用到临时文件,qt当中提供了QTemporaryFile来操作临时文件 临时目录是存放临时文件的目录 ,在不同的平台可以使用QDir::tempPath()获得QListWidget QListWidgetItemQString cityName=ui->lineEdit->text(); QListWidgetItem *item=new QListWidgetItem

2017-06-14 11:08:17 690

原创 自学qt之添加动作图标 程序启动画面

工程中添加资源文件 步骤 右击项目 然后出来 add New qt Qt Resource file Name =res 然后打开 res.qrc 把资源放在工程目录下Add加一个前缀后 Add加文件 然后把资源全部加进去 Save All 全都保存 Action 添加图标 右击然后点编辑 工具栏添加图标 直接拖action 到工具

2017-06-14 10:35:40 627

原创 自学qt之新建菜单,文件 QtextEdit 打开保存文件 设置字体

主界面程序一定要使用QMainWindowQWidget 自定义部件单独完成一个工作用对话框 QDialogQObject::conncetmenuBar mainToolBar statusBar文件(&F)这样就可以使用快捷键 shift+f QACtion类似于button Signals void trigered(bool checked=false)

2017-06-13 21:20:03 2197

ffmpeg基础

ffmpeg基础

2017-08-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除