自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学而时习之 不亦乐乎

本博目的是作为博主的小册子,方便博主日常查找一些印象不深的知识使用。 古人云好好记性不如赖笔头,更何况记性不好。 文章大多来源于网络的转载,感谢文章的原作者们。

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

转载 gcc中的-Wl,rpath=<your_lib_dir>选项

gcc编译链接动态库时,很有可能编译通过,但是执行时,找不到动态链接库,那是因为-L选项指定的路径只在编译时有效,编译出来的可执行文件不知道-L选项后面的值,当然找不到。可以用ldd 看看是不有 ‘not found’在你链接的库后面,解决方法是通过-Wl,rpath=,使得execute记住链接库的位置gcc -o foo foo.c -L/usr/local

2018-03-27 11:02:28 4331

转载 常用linux命令

1. 动态库文件操作1)查看 memcached 命令缺失什么库ldd /usr/local/memcached/bin/memcached2)查看 libevent-2.1.so.6 是否存在locate libevent-2.1.so.63)查看 memcached 查找依赖库的路径LD_DEBUG=libs /usr/local/memcached/bin/memcached -v 4) 将...

2018-03-06 15:37:45 251

转载 error while loading shared libraries: libevent-2.1.so.6 的解决办法

执行 memcached 启动命令时,报错,提示:error while loading shared libraries: libevent-2.1.so.6: cannot open shared object file: No such file or directory查看 memcached 命令缺失什么库ldd /usr/local/memcached/bin/memcached1结果...

2018-03-06 14:58:16 3174

转载 automake编写完整的项目---动态库+可执行文件

上一篇博客automake简介中简单的介绍了automake的使用流程,但是真正的项目肯定是很复杂的,包含不同的目录,有的生成动态库,有的是可执行文件,本文就用一个简单的opencv项目来介绍一下automake在大型项目的使用方法。本文中,最外层包含两个目录,一个目录是src,里面是不同模块的源文件,最后是要生成动态库的;一个目录是sample,里面是一个应用程序,调用src中的动态库生成可执行...

2018-03-02 15:22:14 606

转载 automake简介

在 Unix 上写过程序的人尤其是用 C 来开发程序的人一般都遇到过 Makefile,用 make 来开发和编译程序的确很方便,可是要写出一个 Makefile 就不那么简单了。GNU Make 那份几百页的文件,让许多人害怕。当然,现在关于 make的文档比较多,不过写一个 Makefile 总是一件很烦人的事情,GNU Autoconf 及Automake 这两个软件就是帮助程序开发者轻松产...

2018-03-02 15:21:31 21129

转载 修改所有文件创建时间

在一个特定的环境中遇到如下情况:configure: error: newly created file is older than distributed files!make: warning: Clock skew detected. Your build may be incomplete.123是因为现在的时钟要比文件的时间早,所以有两个方法去实现。1.设置当前系统的时间超过文件...

2018-03-01 16:22:52 6566

转载 typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];

看智能指针的时候遇到一组函数蛮有意思的,即checked_delete(T* x)和checked_array_delete(T* x),这两个函数的作用是安全删除参数所指向的变量或数组。[cpp] view plain copytemplateclass T> inline void checked_delete(T* x)  {  

2018-01-09 14:13:42 1511

原创 ffmpeg解码音频的两种方式(二)根据同步字节解析音频帧

根据adts同步头提取aac音频单帧:#include "stdafx.h"#include #include #include extern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libswresample/swresample.h"//SDL#inclu

2017-12-18 15:52:20 1388

原创 ffmpeg解码音频的两种方式(一)av_parser_parse解析器

使用ffmpeg解析器自动提取音频单帧数据:#include "stdafx.h"#include #include #include extern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libswresample/swresample.h"

2017-12-18 15:25:52 4119 2

原创 linux设置环境变量动态库搜索路径

1.  添加环境变量在/etc/profile文件下增加如下字段:FFMPEG=/usr/local/ffmpegX264=/usr/local/x264YASM=/usr/local/yasmexport FFMPEG X264 YASMexport PATH=$PATH:$FFMPEG/bin:$X264/bin:$YASM/binexp

2017-12-08 18:28:22 4416

转载 Linux下编译带x264的ffmpeg的方法

一、环境准备ffmpeg下载:http://www.ffmpeg.org/download.htmlx264下载:http://download.videolan.org/x264/snapshots/yasm下载:http://yasm.tortall.net/Download.html二、编译1、编译yasm。./configure

2017-12-08 18:11:38 314

转载 ffmpeg精简

//* 一 */ffmpeg编译以后的libavcodec.dll,可能会在10M以上。作为一个dll实在是太大了,因此瘦身也是一个重要的编译过程。瘦身诀窍主要是2点:1,只编译必要的编码解码器。在./configure的时候,先把所有的encoders, encoders, muxers都disable掉。这样能减掉libavcodec.dll

2017-12-08 17:25:06 2064

转载 linux下编译安装ffmpeg

install  编译参数都是默认的,直接安装到系统中即可,安装成功之后继续回到ffmpeg解压后的目录,执行下面命令编译并安装:./configure --enable-shared --prefix=/monchickey/ffmpegmakemake install  编译过程有点长,耐心等待完成之后执行 cd /monchickey/ffmpeg/ 

2017-12-08 17:21:38 4145

转载 MFC控件的Z序

1. 创建4个按钮CRect rcCreate(0,0,80,80);m_btTest1.Create(TEXT("Test1"),WS_CHILD|WS_VISIBLE,rcCreate,this,114);m_btTest2.Create(TEXT("Test2"),WS_CHILD|WS_VISIBLE,rcCreate,this,112);m_btTest3

2017-11-15 10:18:50 1136

转载 非阻塞Connect对于select时应注意问题, 很精致的分析

对于面向连接的socket类型(SOCK_STREAM,SOCK_SEQPACKET)在读写数据之前必须建立连接,首先服务器端socket必须在一个客户端知道的地址进行监听,也就是创建socket之后必须调用bind绑定到一个指定的地址,然后调用int listen(int sockfd, int backlog);进行监听。此时服务器socket允许客户端进行连接,backlog提示没被ac

2017-07-11 10:00:29 1151

转载 如何利用 AVDictionary 配置参数

本文是我的 FFMPEG Tips 系列的第五篇文章,准备介绍下 ffmpeg 提供的一个非常好用的健值对工具:AVDictionary,特别是对于没有 map 容器的 c 代码,可以充分利用它来配置和定义播放器的参数,ffmpeg 本身也有很多 API 通过它来传递参数。1.  AVDictionary 的用法简介AVDictionary 所在的头文件在 libavutil/

2017-01-17 14:19:46 9843 1

转载 ffmpeg的复习、学习、总结

本文从ffmpeg的例程入手,记录下ffmpeg能做什么点击(此处)折叠或打开//avio_reading.c#include libavcodec/avcodec.h>#include libavformat/avformat.h>#include libavformat/avio.h>#include libavutil/

2017-01-17 14:18:24 930

转载 AV_SAMPLE_FMT_S16P and AV_SAMPLE_FMT_S16 的区别

AV_SAMPLE_FMT_S16P is planar signed 16 bit audio, i.e. 2 bytes for each sample which is same for AV_SAMPLE_FMT_S16.The only difference is in AV_SAMPLE_FMT_S16 samples of each channel are inter

2017-01-10 15:53:21 6132

转载 音频处理——pcm基础知识与重采样

1 基本概念1:获取pcm音频帧声道数AVCodecContext->channelsavframe->channelsprintf("av_frame_get_channels = %d\n",av_frame_get_channels(frame));1.1 声道与布局具有映射关系audio channels and channel_layout

2017-01-10 14:05:17 3745

转载 PCM数据格式

1. 8 Bit 单声道: 1. 8 Bit 单声道:采样1采样2数据1数据22. 8 Bit 双声道采样1采样2声道1数据1声道2数据1声道1数据2声道2数据21. 16 Bit 单声道:采样1采样2数据1低字节数据1高字节

2017-01-10 14:02:59 5366

转载 C++标准库实现WAV文件读写

在上一篇文章RIFF和WAVE音频文件格式中对WAV的文件格式做了介绍,本文将使用标准C++库实现对数据为PCM格式的WAV文件的读写操作,只使用标准C++库函数,不依赖于其他的库。WAV文件结构WAV是符合RIFF标准的多媒体文件,其文件结构可以如下:WAV 文件结构RIFF块WAVE FOURCCfmt

2017-01-05 16:44:21 1458

转载 在Windows下搭建基于nginx的视频直播和点播系统

本文来源:http://blog.chinaunix.net/uid-26000296-id-5747703.html一、软件准备由于nginx原生是为linux服务的,因此官方并没有编译好的windows版本可以下载,要在windows上使用nginx,要么下载源码进行编译,要么使用其他人已经编译好的文件。而要让nginx支持视频直播和点播,还需要第三方的ngin

2016-12-29 19:13:11 1414

转载 windows下搭建基于nginx的rtmp服务器

本文来源:http://blog.chinaunix.net/uid-26000296-id-5748243.htmlWindows机器配置:Windows7旗舰版 64位Intel(R) Core(TM)i5-2520 CPU @2.50GHz 2.50 GHz内存: 4GB1. 下载 nginx 1.7.11.3 Gryphon下载链接: http://ng

2016-12-29 19:11:30 3493

转载 滤镜系列之(二) ffmpeg自带常用滤镜

本文来源: http://blog.chinaunix.net/uid/26000296/abstract/1.html1. FFmpeg滤镜文档2. 示例  2.1 缩放  2.2 视频加速  2.3 滤镜图,链和滤镜关系  2.4 多个输入覆盖同一个2x2 网格  2.5 转义字符  2.6 烧录时间码  2.7 描述命令行参数  2.8 测试源

2016-12-28 16:36:19 2094

转载 滤镜系列之(一) 为ffmpeg添加自定义滤镜

本文来源 : http://blog.chinaunix.net/uid-26000296-id-3068068.html感谢作者的无私奉献!前言FFmpeg的优秀在于它的功能强大和良好的系统框架,而滤镜就是其中之一。ffmpeg的自带滤镜不但能对视频进行裁剪,添加logo,还能将多个滤镜组全使用。更妙之处在于它还可以方便地添加自己定义的各种滤镜。这种可扩展性对于实际应用来

2016-12-28 16:25:11 1599

转载 filter基础、实现例子及定义自己的filter

最近正在研究filter相关的技术,网上已经有不少先行总结介绍了相关的技术。感谢这些先行无私慷慨的贡献!本博目的是作为博主笔记本的目的,方便博主日常查找一些知识使用,文章大多来源于网络的转载,感谢文章的原作者。本文来源:(http://blog.csdn.net/newchenxf/article/details/51364105)目录目

2016-12-28 15:29:46 1652

原创 无法定位序数9828于动态链接库或者exe

如果是无法定位于dll,可以认定是dll导出接口问题,或者未注册,如果是exe问题,则有可能是加载的dll不存在或者加载的dll有问题,或者dll关联其他的dll缺失问题。今天遇到一个问题,如图:起初认为是关联动态库问题,怀疑是directx安装版本不够,后来发现无关。最后解决方法是:把配置属性中 -> MFC的使用 -> 从在共享dll中使用MFC修改为在静态库中

2016-12-28 13:47:30 7319 1

转载 VC实现显示、自动隐藏任务栏(SHAppBarMessage)

VC实现显示、自动隐藏任务栏(SHAppBarMessage)一、显示和隐藏任务栏要想对任务栏进行操作,首先当然需要获得任务栏的句柄,所以首先利用FindWindow获取句柄,再操作示例代码:1、隐藏任务栏HWND hWnd = FindWindow(_T("Shell_TrayWnd"),NULL);ShowWindow(hWnd,SW_HIDE);

2016-12-22 12:16:55 3453 1

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

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

2016-12-07 17:24:28 7535 3

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

----------------------前言-----------------------       H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段

2016-12-06 21:54:33 306

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

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

2016-12-06 13:38:36 4805

转载 ffmpeg 新老接口问题及对照集锦

网上很多关于ffmpeg (libav)的资料都是N年以前的,而事实上ffmpeg数年来一直在“以时俱进”,因此无论是一些新手,或者号称为老手的人,有时候难免出头痛。。。。。。为了解决大家的头痛的问题,特列一个贴子,把ffmpeg相关的一些常见的、版本的问题列举出来,供大家参考,同时也请大家一起补充。1) 不认识guess_format.解决:  #define guess_f

2016-12-06 09:58:10 535

转载 CImage 对话框初始化时候显示透明 PNG

PNG图片的透明背景总是一片白色,后来才发现这其实是微软GDI+的设计问题,PNG图片是ARGB,使用GDI+载入图片的时候,GDI+会默认已经进行了预剩运算(PARGB),即每象素的实际值是已经和ALPHA值按比例相乘的结果,实际上它根本就没有做预乘,在使用透明图片的象素ALPHA通道的时候,CImage内部正是调用的AlphaBlend,没有预乘的图当作预乘的图片处理的结果就是这相当于一张和纯

2016-11-29 13:52:25 404

转载 Debug下正常,而Release失败的原因

关于Debug和Release之本质区别的讨论 一、Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针

2016-11-29 13:50:28 3144

原创 Release版本编译CView GetDocument失败原因

需要将C++/代码生成下设置成 ” 多线程调试 DLL (/MDd)“,不能使用 "多线程 DLL (/MD)"

2016-11-29 13:49:27 316

转载 用fstream打开含中文路径文件时失败的问题。

最近写程序的时候遇到了使用ifstream打开含中文路径文件时失败的问题,在网上翻了一下,发现这是一个普遍遇到的问题,在很多人的博文中也都给出了一些解决技巧,但大多是转载的东西,很少对这个问题引发的原因有一个清晰、全面的解释。因此,我觉得有必要对该问题引发的原因作一个详细的剖析,希望对遇到同样问题的朋友们能有所帮助。首先,用一个简单的例子来重现一下我所遇到的问题:(1)在VS200

2016-11-24 16:28:44 1235

转载 C语言字符串操作常用库函数

函数名: strrchr 功  能: 在串中查找指定字符的最后一个出现 用  法: char *strrchr(char *str, char c);举例:char fullname="./lib/lib1.so";  char *ptr;  ptr = strrchr(fullname,'/');  printf("filename is %s",++

2016-10-18 11:33:35 390

原创 动态生成guid

#include  #include     const char* CreateGUID()  {      static char buf[64] = {0};      GUID guid;      if (S_OK == ::CoCreateGuid(&guid))      {          _snprintf(buf, sizeof(buf)

2016-10-17 15:34:35 669

转载 MFC避免窗口闪烁的方法(OnEraseBkgnd) .

在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。因为窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响应

2016-10-14 14:05:24 650

转载 new操作符返回null是否需要检测!!!

大部分的C++开发者在他们的代码中会广泛的使用STL。如果你直接用STL和Visusal Studio 6.0,那么你的程序将在内存很低的情况下极有可能崩溃掉。原因在于没有对new操作的结果进行检验。更糟的是,若new操作确实失败了,得到的反馈也没有一个标准可言——有的编译器会返回空指针,而有的会抛出异常。 总之,如果你在MFC的项目中用STL,请注意MFC有它自己的规则。这篇文章主要讨论这些问题

2016-10-14 10:57:52 4196

rtsp拉流简单封装库,支持多路请求ps流封装

支持rtsp多路视频请求,支持音视频ps流的封装,小项目可直接应用,也可以作为调试工具使用

2018-12-19

空空如也

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

TA关注的人

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