- 博客(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
4417
转载 常用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
264
转载 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
3191
转载 automake编写完整的项目---动态库+可执行文件
上一篇博客automake简介中简单的介绍了automake的使用流程,但是真正的项目肯定是很复杂的,包含不同的目录,有的生成动态库,有的是可执行文件,本文就用一个简单的opencv项目来介绍一下automake在大型项目的使用方法。本文中,最外层包含两个目录,一个目录是src,里面是不同模块的源文件,最后是要生成动态库的;一个目录是sample,里面是一个应用程序,调用src中的动态库生成可执行...
2018-03-02 15:22:14
640
转载 automake简介
在 Unix 上写过程序的人尤其是用 C 来开发程序的人一般都遇到过 Makefile,用 make 来开发和编译程序的确很方便,可是要写出一个 Makefile 就不那么简单了。GNU Make 那份几百页的文件,让许多人害怕。当然,现在关于 make的文档比较多,不过写一个 Makefile 总是一件很烦人的事情,GNU Autoconf 及Automake 这两个软件就是帮助程序开发者轻松产...
2018-03-02 15:21:31
21285
转载 修改所有文件创建时间
在一个特定的环境中遇到如下情况: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
6586
转载 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
1539
原创 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
1412
原创 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
4212
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
4438
转载 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
341
转载 ffmpeg精简
//* 一 */ffmpeg编译以后的libavcodec.dll,可能会在10M以上。作为一个dll实在是太大了,因此瘦身也是一个重要的编译过程。瘦身诀窍主要是2点:1,只编译必要的编码解码器。在./configure的时候,先把所有的encoders, encoders, muxers都disable掉。这样能减掉libavcodec.dll
2017-12-08 17:25:06
2136
转载 linux下编译安装ffmpeg
install 编译参数都是默认的,直接安装到系统中即可,安装成功之后继续回到ffmpeg解压后的目录,执行下面命令编译并安装:./configure --enable-shared --prefix=/monchickey/ffmpegmakemake install 编译过程有点长,耐心等待完成之后执行 cd /monchickey/ffmpeg/
2017-12-08 17:21:38
4192
转载 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
1170
转载 非阻塞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
1169
转载 如何利用 AVDictionary 配置参数
本文是我的 FFMPEG Tips 系列的第五篇文章,准备介绍下 ffmpeg 提供的一个非常好用的健值对工具:AVDictionary,特别是对于没有 map 容器的 c 代码,可以充分利用它来配置和定义播放器的参数,ffmpeg 本身也有很多 API 通过它来传递参数。1. AVDictionary 的用法简介AVDictionary 所在的头文件在 libavutil/
2017-01-17 14:19:46
9938
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
952
转载 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
6278
转载 音频处理——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
3858
转载 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
5424
转载 C++标准库实现WAV文件读写
在上一篇文章RIFF和WAVE音频文件格式中对WAV的文件格式做了介绍,本文将使用标准C++库实现对数据为PCM格式的WAV文件的读写操作,只使用标准C++库函数,不依赖于其他的库。WAV文件结构WAV是符合RIFF标准的多媒体文件,其文件结构可以如下:WAV 文件结构RIFF块WAVE FOURCCfmt
2017-01-05 16:44:21
1499
转载 在Windows下搭建基于nginx的视频直播和点播系统
本文来源:http://blog.chinaunix.net/uid-26000296-id-5747703.html一、软件准备由于nginx原生是为linux服务的,因此官方并没有编译好的windows版本可以下载,要在windows上使用nginx,要么下载源码进行编译,要么使用其他人已经编译好的文件。而要让nginx支持视频直播和点播,还需要第三方的ngin
2016-12-29 19:13:11
1435
转载 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
3510
转载 滤镜系列之(二) 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
2171
转载 滤镜系列之(一) 为ffmpeg添加自定义滤镜
本文来源 : http://blog.chinaunix.net/uid-26000296-id-3068068.html感谢作者的无私奉献!前言FFmpeg的优秀在于它的功能强大和良好的系统框架,而滤镜就是其中之一。ffmpeg的自带滤镜不但能对视频进行裁剪,添加logo,还能将多个滤镜组全使用。更妙之处在于它还可以方便地添加自己定义的各种滤镜。这种可扩展性对于实际应用来
2016-12-28 16:25:11
1697
转载 filter基础、实现例子及定义自己的filter
最近正在研究filter相关的技术,网上已经有不少先行总结介绍了相关的技术。感谢这些先行无私慷慨的贡献!本博目的是作为博主笔记本的目的,方便博主日常查找一些知识使用,文章大多来源于网络的转载,感谢文章的原作者。本文来源:(http://blog.csdn.net/newchenxf/article/details/51364105)目录目
2016-12-28 15:29:46
1673
原创 无法定位序数9828于动态链接库或者exe
如果是无法定位于dll,可以认定是dll导出接口问题,或者未注册,如果是exe问题,则有可能是加载的dll不存在或者加载的dll有问题,或者dll关联其他的dll缺失问题。今天遇到一个问题,如图:起初认为是关联动态库问题,怀疑是directx安装版本不够,后来发现无关。最后解决方法是:把配置属性中 -> MFC的使用 -> 从在共享dll中使用MFC修改为在静态库中
2016-12-28 13:47:30
7421
1
转载 VC实现显示、自动隐藏任务栏(SHAppBarMessage)
VC实现显示、自动隐藏任务栏(SHAppBarMessage)一、显示和隐藏任务栏要想对任务栏进行操作,首先当然需要获得任务栏的句柄,所以首先利用FindWindow获取句柄,再操作示例代码:1、隐藏任务栏HWND hWnd = FindWindow(_T("Shell_TrayWnd"),NULL);ShowWindow(hWnd,SW_HIDE);
2016-12-22 12:16:55
3499
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
7624
3
转载 H264编码原理以及I帧B帧P帧
----------------------前言----------------------- H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段
2016-12-06 21:54:33
321
转载 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
4861
转载 ffmpeg 新老接口问题及对照集锦
网上很多关于ffmpeg (libav)的资料都是N年以前的,而事实上ffmpeg数年来一直在“以时俱进”,因此无论是一些新手,或者号称为老手的人,有时候难免出头痛。。。。。。为了解决大家的头痛的问题,特列一个贴子,把ffmpeg相关的一些常见的、版本的问题列举出来,供大家参考,同时也请大家一起补充。1) 不认识guess_format.解决: #define guess_f
2016-12-06 09:58:10
591
转载 CImage 对话框初始化时候显示透明 PNG
PNG图片的透明背景总是一片白色,后来才发现这其实是微软GDI+的设计问题,PNG图片是ARGB,使用GDI+载入图片的时候,GDI+会默认已经进行了预剩运算(PARGB),即每象素的实际值是已经和ALPHA值按比例相乘的结果,实际上它根本就没有做预乘,在使用透明图片的象素ALPHA通道的时候,CImage内部正是调用的AlphaBlend,没有预乘的图当作预乘的图片处理的结果就是这相当于一张和纯
2016-11-29 13:52:25
421
转载 Debug下正常,而Release失败的原因
关于Debug和Release之本质区别的讨论 一、Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针
2016-11-29 13:50:28
3210
原创 Release版本编译CView GetDocument失败原因
需要将C++/代码生成下设置成 ” 多线程调试 DLL (/MDd)“,不能使用 "多线程 DLL (/MD)"
2016-11-29 13:49:27
331
转载 用fstream打开含中文路径文件时失败的问题。
最近写程序的时候遇到了使用ifstream打开含中文路径文件时失败的问题,在网上翻了一下,发现这是一个普遍遇到的问题,在很多人的博文中也都给出了一些解决技巧,但大多是转载的东西,很少对这个问题引发的原因有一个清晰、全面的解释。因此,我觉得有必要对该问题引发的原因作一个详细的剖析,希望对遇到同样问题的朋友们能有所帮助。首先,用一个简单的例子来重现一下我所遇到的问题:(1)在VS200
2016-11-24 16:28:44
1262
转载 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
399
原创 动态生成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
687
转载 MFC避免窗口闪烁的方法(OnEraseBkgnd) .
在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。因为窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响应
2016-10-14 14:05:24
677
转载 new操作符返回null是否需要检测!!!
大部分的C++开发者在他们的代码中会广泛的使用STL。如果你直接用STL和Visusal Studio 6.0,那么你的程序将在内存很低的情况下极有可能崩溃掉。原因在于没有对new操作的结果进行检验。更糟的是,若new操作确实失败了,得到的反馈也没有一个标准可言——有的编译器会返回空指针,而有的会抛出异常。 总之,如果你在MFC的项目中用STL,请注意MFC有它自己的规则。这篇文章主要讨论这些问题
2016-10-14 10:57:52
4337
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人