自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

那时风起

Fighting!!!加油,学无止境,勿忘初心

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

原创 博客已经搬迁

很长一段时间没有在CSDN写博客了,趁着目前打算离职,做下音视频相关知识总结!

2023-02-13 13:52:58 143

原创 ffmpeg音视频基础学习

ffmpeg音视频基础学习从去年开始了解音视频,中间也由于项目的需要,学习过ffmpeg、live555、以及QTAV框架,一直没总结过,现在大致总结下音视频中的常见词汇,后续慢慢更新添加!博客也会转载以及原创一些属于自己的东西!如果没有一点基础的朋友我建议打架可以看看雷博主的两篇博客对于新手真的很有用。●[总结]视音频编解码技术零基础学习方法●[总结]FFMPEG视音

2017-08-06 15:52:18 467

原创 重学C++ (一)基础回顾

由于进了一家敏捷开发的公司,把自己累得不像话,博客也好几个月没更新了,实在惭愧。由于C++基础非常重要,所以打算把平时重学C++的总结,抽时间上传到博客!1.切勿乱用带符号类型和无符号类型#include <iostream>using namespace std;int main(){unsigned u = 10;int i ...

2019-02-18 22:41:57 575 1

转载 回声消除(AEC)原理

转载:http://blog.51cto.com/silversand/166095一、前言因为工作的关系,笔者从2004年开始接触回声消除(Echo Cancellation)技术,而后一直在某大型通讯企业从事与回声消除技术相关的工作,对回声消除这个看似神秘、高端和难以理解的技术领域可谓知之甚详。要了解回声消除技术的来龙去脉,不得不提及作为现代通讯技术的理论基础——数字信号处理理论。...

2018-07-27 14:57:00 61127 6

转载 音频重采样造成音质损失的原理

1、WAV文件:采样率(Sample Rate),深度(bit-depth)WAV文件可以说是最原始的数字化音频格式了。Wav全称是Wave,就是将音频文件的波形完整记录。而波形的存在,可以想象为是折线图一般的东西。想记录波形,就需要两个最基本的参数:1、采样率,我们以怎样的频率记录波形的变化。44.1KHz,意味着每秒选取44100个采样点;48KHz意味着每秒选取48000个采样点。出于历...

2018-07-27 14:54:08 12025

原创 视频会议中的AEC、AGC、ANS是什么?

视频会议中的AEC、AGC、ANS是什么?1.AGC是自动增益补偿功能(Automatic Gain Control),AGC可以自动调麦克风的收音量,使与会者收到一定的音量水平,不会因发言者与麦克风的距离改变时,声音有忽大忽小声的缺点。2.ANS是背景噪音抑制功能(Automatic Noise Suppression),ANS可探测出背景固定频率的杂音并消除背景噪音,例如:风扇、空调声自动滤除...

2018-06-21 17:27:35 8488

原创 音视频基本概念:分辨率、帧速率、码流、采样位深、采样率、比特率

 音视频基本概念:分辨率、帧速率、码流、采样位深、采样率、比特率 一、分辨率       分辨率可以从显示分辨率与图像分辨率两个方向来分类。 显示分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所能显示的像素有多少。由于屏幕上的点、线和面都是由像素组成的,显示器可显示的像素越多,画面就越精细,同样的屏幕区域内能显示的信息也越多,所以分辨率是个非常重要的性能指标之一。可以把整个...

2018-06-21 17:24:14 25742 2

转载 H.323详解

H.323详解文章中的某些图粘不上去,可到资源页下载word版点击打开链接目  录(TOC Heading)第1章 协议概述... 4第2章 协议概念... 52.1 名词解释.. 52.2 协议模型.. 62.2.2 RAS. 72.2.3 Q.931. 72.2.4 H.245. 72.2.5 三者的区别和联系.. 82.3 组件的特征.. 82.3.1 GK. 82.3.2 GW.. 102...

2018-05-26 17:52:08 14025

转载 算法的时间复杂度和空间复杂度-总结

算法的时间复杂度和空间复杂度-总结        通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的算法时间...

2018-05-11 13:44:35 1176

原创 Appweb-6.1.1 移植到ARM

Appweb-6.1.1 移植到ARM编译环境:ubuntu-12.04 x64开发平台:Hi3535 arm版编译版本:appweb-6.1.1.zipESP下载地址=> ESP web site: https://www.embedthis.com/esp/download.html                   => ESP GitHub repository: https...

2018-03-22 21:24:44 3453 7

原创 error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file o

error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory交叉编译平台 ubuntu12.04 x64交叉编译工具链:Hi3516   arm-hisiv300配置交叉环境时出现:arm-hisiv300-linux-gcc: erro...

2018-03-22 21:20:00 9725

原创 小米面试总结

小米面试总结 总结一下前段时间小米面试的题目吧,考察了很多C11的新特性,由于自己也没怎么准备,而且公司只准使用C99开发,所以很多都忘记了,答的并不是很好在这上面,所以自己也需要重新回顾下C11的知识点了。 有时间也会将C++重新回顾的知识重点写成博客,供大家一起学习,有错误的地方希望指正,共同进步,因为有些问题是我自己总结的,所以难免会有错!!!1.STL中的容器vec...

2018-03-14 22:43:55 4767 1

转载 视频带宽计算公式(码流_分辨率_帧率)

视频带宽计算公式(码流_分辨率_帧率)码流  码流(Data Rate)是指视频文件在单位时间内使用的数据流量,也叫码率或码流率,是视频编码中画面质量控制中最重要的部分,一般我们用的单位是Kb/s或者Mb/s。一般来说同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。码流越大,说明单位时间内取样率越大,数据流,精度就越高,处理出来的文件就越接近原始文件,图像质量越好,画质越清晰,要求...

2018-03-04 15:53:14 18220 1

原创 [aac @ 0x1dd24c0] Input contains NaN/+-Inf

ffmpeg编码pcm为aac时报错:[aac @ 0x1dd24c0] Input contains NaN/+-Inf在./configure选项后面加上下列选项就可以--enable-encoder=libfdk_aac \  启用libfdk_aac编码器--enable-decoder=libfdk_aac \  启用libfdk_aac解码器--enable-libfdk-aac \ ...

2018-02-28 16:42:17 1786

原创 ERROR: libfdk_aac not found和ERROR: libmp3lame >= 3.98.3 not dound

ERROR: libfdk_aac not found和ERROR: libmp3lame >= 3.98.3 not dound编译ffmepg时出现这两个错误或者有时候需要x264编码的时候同样提示x264找不到的情况,其实是这些模块已经从ffmpeg独立出来了,要想使用必须我们自己导入他们的库1.libfdk_aac官网下载https://sourceforge.net/project...

2018-02-28 16:39:10 10221

原创 常用工具名

1.notepad++2.beyond compare3.postman4.potplayer5.vlc6.ecplise7.QtCreater8.secureCRT9.understand10.source insight11.wireshark12.foxmail13.trello15.listary16.evernote17.Audacity 1.3 Beta (Unicode)   处理音...

2018-02-27 16:37:51 567

原创 Appweb交叉编译

Appweb交叉编译编译环境:ubuntu-12.04 x64开发平台:Hi3535 arm版编译版本:appweb-6.1.1.zip下载地址=> Appweb web site:https://www.embedthis.com/appweb/download.html             => Appweb GitHub repository:https://github.c...

2018-02-27 15:54:21 3368 2

原创 Appweb配置

Appweb配置      具体配置网页=>https://www.embedthis.com/appweb/doc/users/configuration.html       具体参考源码配置demo:/appweb-6.1.1/test/appweb.conf      Appweb操作通常由Appweb配置文件(appweb.conf)控制。 这个配置文件是在Appweb启动时读取的...

2018-02-27 15:48:22 5389

原创 Appweb+ESP学习笔记

Appweb+ESP学习笔记1.Appweb简介       Appweb HTTP Web服务器是最快的小型Web服务器。这是一个高性能,紧凑的嵌入式网络服务器,具有模块化,安全的核心。它支持广泛的功能集合,包括:HTTP/1.1,TLS/SSL,CGI, PHP,ESP,虚拟主机,摘要式身份验证等。Appweb支持动态web应用程序框架,如ESP和PHP。它也支持像CGI这样的旧网页制作策略。...

2018-02-27 15:40:11 7957

原创 第九章-----虚拟内存

第九章-----虚拟内存       为了更有效地管理内存并且少出错,现代系统提供了一种对主存的抽象概念,叫做虚拟内存(VM)。虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的俺没交互,它为每个进程提供了一个大的、一致的和私有的地址空间。通过一个很清晰的机制,虚拟地址内存提供了三个重要的能力:        ● 它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存

2018-02-07 16:17:48 318

原创 第八章-------异常控制流

第八章-------异常控制流       比如,一个硬件定时器定期产生信号,这个时间必须得到处理。包括到达网络适配器后,必须存放在内存中。程序向磁盘请求数据,然后休眠,直到被通知说数据已就绪。当子进程终止时,创造这些子进程的父进程必须得到通知。现代系统通过控制流发生突变来对这些情况做出反应,一般而言,我们把这些突变称为异常控制流(Exceptional Control Flow, E

2018-02-07 16:09:21 293

原创 第七章------链接

第七章------链接1.静态链接     为了构造可执行文件,链接器必须完成两个主要任务:    ● 符号解析,目标文件定义和引用符号,每个符号对应于一个函数、一个全局变量或一个静态变量(即C语言中任何以static属性声明的变量)。符号解析的目的是将每个符号引用正好和一个符号定义关联起来。    ● 重定位,编译器和汇编器生成从地址0开始的代码和数据节。链接器通过把每个

2018-02-07 16:01:43 454

原创 简单实用Ecplise常用快捷键

简单实用Eclipse常用快捷键用了Eclipse两年了,简单总结下目前我经常使用的快捷键!!!1. Ctrl+Shift+R功能:打开资源,这组快捷键可以让你打开你的工程中的任何一个文件操作:输入关键字就能查找到,如图所示2. Ctrl+O功能:快速查找某个.cpp文件的方法操作:在某个.cpp文件中输入方法名的关键字3.Alt+Shift+R(当然你也可以鼠标右键然后选择->Refact...

2018-01-29 17:28:44 336

原创 第六章------存储器层次结构

第六章------存储器层次结构1.随机访问存储器      随机访问存储器(Random-Access Memory,RAM)分为两类:静态的和动态的。静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵得多。SRAM用来作为高速缓存存储器,既可以在CPU芯片上,也可以在片下。DRAM用来作为主存以及图形系统的帧缓冲区。典型地,一个桌面系统SRAM不会超过几兆字节,但是DRAM却有

2018-01-29 17:13:59 299

原创 第四章------处理器体系结构

1.一个处理器支持的指令和指令的字节级编码称为它的指令集体系结构(Instruction-Set Architecture, ISA).2.硬件寄存器如何工作的?       如下图所示,大多数时候,寄存器都保持在稳定状态(用x表示),产生的输出等于它的当前状态。信号沿着寄存器前面的组合逻辑传播,这时,产生了一个新的寄存器输入(用y表示),但只要时钟是低电位的,寄存器的输出就仍然保持不变。

2018-01-29 17:10:02 270

原创 第一章------计算机系统漫游

第一章------计算机系统漫游1.gcc -o hello hello.c,       在这里GCC编译器驱动程序读取源程序文件hello.c,并把它翻译成一个可执行目标文件hello。这个翻译过程可以分为四个阶段: 1)预处理阶段   2)编译阶段   3)汇编阶段    4)链接阶段2.系统的硬件组成1)总线       贯穿整个系统的是一组电子管道

2018-01-29 17:07:02 274

原创 Linux tinyhttpd编译总结

编译环境:ubuntu16.04  x64直接make编译tinyhttpd弹出如下错误和打印信息其中报出两个错误信息,一个是cannot find -lsocket,另外一个就是pthread_create报出的错误(关于这个错误一开始我以为是写线程函数时,源码定义函数为void类型,其实一般我们定义的返回值类型都是void *,改完之后还是提示找不到-lpthread),所以我

2017-11-29 22:00:49 1014 1

原创 vsftpd[9183]: warning: can't get client address: Socket operation on non-socket

今天在linux redhat7.2下执行service vsftpd start一直不能开启vsftpd服务,本来怀疑SELINUX的问题(其他ftp下载问题可以看下我的另外一篇博客),具体错误如下[root@localhost trainborne]# service vsftpd startRedirecting to /bin/systemctl start vsftpd.serv

2017-11-27 16:02:38 4970 1

原创 Valgrind交叉编译

编译环境:ubuntu x64开发平台:hisi3535 arm板1.下载Valgrind我下载的版本为valgrind-3.12.0.tar.bz2所有版本=>官网下载地址:http://valgrind.org/downloads/old.html2.交叉编译Valgrind(三步走)   1)配置configure        ./configure CC=ar

2017-11-24 16:42:35 10604 12

原创 windows下MinGW编译ffmpeg

windows下MinGW编译ffmpeg1.官网下载MinGW并安装     1)下载,下载网址:https://sourceforge.net/projects/mingw/files/?source=navbar找到如下图所示区域,点击红色箭头指示的地方就可以下载了       2)安装,下载好了双击安装就出现如下图所示界面,我们就选择默认安装盘C:\MinG

2017-11-08 15:54:05 5236

转载 __attribute__((packed))详解

__attribute__((packed))详解   1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。例如:在TC下:struct

2017-10-26 09:30:32 295

转载 图像I、P、B帧介绍

I、p、b 帧I帧:帧内编码帧 :尽可能去除图像空间冗余信息来压缩传输数据量的帧内编码图像;P帧:前向预测编码帧: 通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧; B帧:双向预测内插编码帧 既考虑与源图像序列前面已编码帧,也顾及源图像序列后面已编码帧之间的时间冗余信息来压缩传输数据量的编码图像,也叫双向预测帧;一般地,I帧压缩效率最低,P帧较高,

2017-08-06 15:48:23 1428

原创 使用select需要注意的细节

关于select的一些总结     在学校的时候就使用过select,但是在项目中使用的时候却犯了个错误。select如何使用就不进行总结了,网上教程太多,以下是项目中我写的一小段代码,便于总结。int TvsStateManager::handleProbeStreamMsg(){ struct sockaddr_in addr; int fd, n,addrlen; str

2017-08-06 14:42:51 803

转载 绝对强大的三大linux指令:ar, nm, objdump

前言如果普通编程不需要了解这些东西,如果想精确控制你的对象文件的格式或者你想查看一下文件对象里的内容以便作出某种判断,刚你可以看一下下面的工具:objdump, nm, ar。当然,本文不可能非常详细的说明它们的使用方法和功能。如果你觉得本文不够清楚,你可以使用:man. 我的计划只是想让更多的人了解这些工具,以后在今后 的编程过程中能有所帮助。操作系统: Linux开始

2017-07-30 17:06:50 1974

原创 ntp导致其他线程卡顿原因总结

这个是在项目开发中遇到的一个比较严重的问题,第一影响到主界面的播放卡顿,第二影响到我这边线程同样卡顿,按道理来说两个没有数据交互的线程应该没有任何影响,改为detach模式也没用,最后定位到居然是单独的ntp线程影响到这两个线程的运行了,最后跟踪下去是popen和fgets的影响。       都知道调用system命令无法获取返回值,所以很多时候采用popen来获取,但是有一个问题popen

2017-07-10 11:32:26 839

原创 linux高级编程之线程间的通信(pthread_cleanup_push和pthread_cleanup_pop)

linux高级编程之线程间的通信(pthread_cleanup_push和pthread_cleanup_pop)        线程可以安排他退出时需要调用的函数,这与进程可以用atexit函数安排进程退出时需要调用的函数是类似的。这样的函数称为线程清理处理程序,线程可以建立多个清理处理程序。处理程序记录在栈中,也就是说他们的执行顺序与他们注册的顺序相反。      pthread...

2017-06-05 21:43:53 20985 16

原创 笔记:设置redhat 7.2 默认root用户启动以及网络服务自启动

笔记:设置redhat 7.2 默认root用户启动以及网络服务自启动1.root用户启动   root用户下打开 /etc/gdm/custom.conf文件,添加字段如下:   [daemon]   AutomaticLoginEnable=true   AutomaticLogin=root   重启,系统将会自动默认root用户登录2.网络服务自

2017-05-19 17:40:06 5264

原创 ping功能实现(ICMP)

简单记录下项目中ping功能实现笔记:ping功能实现void Handler::handlePingDepot(const char *ip){ int mSize=50*1024; bzero(&mDestAddr,sizeof(mDestAddr)); mDestAddr.sin_family = AF_INET; mDestAddr.sin_ad

2017-05-16 16:55:02 1174 1

原创 This application failed to start because it could not find or load the Qt platforms plugins

由于一直在linux下操作,今天Qt移植平台的时候导致.exe可执行文件一直运行不起来,提示缺少某些dll库,这个问题解决起来简单(直接去qt源码里面查找对应库添加到可执行文件目录就行),但是之后一直弹出下面这个对话框。在网上查找了很多个解决版本,但是还是没有全部解决,下面我自己总结下:1.首先如何添加dll库不再解释2.添加好库以后就会弹出我上面那个对话框,提示是找不

2017-05-15 15:29:11 23983 1

原创 GDB使用简单总结

简单总结常用gdb调试命令不长篇讨论gdb是什么,或者怎么使用了,因为网上很多都讲的比较详细,以下只是做个备录,经常使用的命令,偶尔不用容易忘记!1.set args xxxx  (xxx为参数)2.r  (run   运行程序)3.n (next   是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步)4.s  (step  同...

2017-05-12 10:40:37 371

QtAVPlayer.tar.gz

使用QtAV框架,主要实现了快进、后退、暂停、播放、选择文件、调节音量大小等

2018-01-31

空空如也

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

TA关注的人

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