- 博客(87)
- 问答 (5)
- 收藏
- 关注
转载 GDB 反向调试(Reverse Debugging)
使用调试器时最常用的功能就是step, next, continue,这几个调试命令都是“往下执行”的, 但是很多时候会有这种需求:你在调试的过程中多跳过了几步而错过中间过程,这时候不得不重头调试一遍,非常麻烦。而GDB从7.0版本开始支持反向调试功能,也就是允许你倒退着运行程序,或者说撤销程序执行的步骤从而会到以前的状态。 直观地来看,加入你正在使用GDB7.0以上版本的调试器并
2016-04-06 18:07:29
1207
1
转载 如何用GDB进行多线程调试
follow-fork-modefollow-fork-mode的用法为:set follow-fork-mode [parent|child]parent: fork之后继续调试父进程,子进程不受影响。child: fork之后调试子进程,父进程不受影响。因此如果需要调试子进程,在启动gdb后:(gdb) set follow-fork-mode ch
2016-04-06 17:43:09
512
原创 C++标准库Vector & Iterator用法
//程序1#include #include //using namespace std;using std::cin;using std::cout;using std::endl;using std::vector;using std::string;//vector's demo classclass VectorDemo{privat
2015-11-29 12:04:12
895
转载 c++ iterator(迭代器)分类及其使用
前言: 以下的内容为我阅读c++沉思录18,19,20章的笔记以及自己的想法.正文: 总所周知,c++的stl中提出了iterator的概念,这是C所没有的.在一般的使用中,iterator的行为很像c内建的指针.而在java和c#中索性就直接取消了指针,而采用类似iterator的做法来代替了指针.很多编程人员在使用iterator的时候也仅仅把他当作了指针的一
2015-11-29 11:39:50
484
转载 c++中string类的详解
通过在网站上的资料搜集,得到了很多关于string类用法的文档,通过对这些资料的整理和加入一些自己的代码,就得出了一份比较完整的关于string类函数有哪些和怎样用的文档了!下面先罗列出string类的函数有哪一些,然后再罗列出函数的原型,最后到代码的实现标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。现将具体用法的一部分罗列如下,只起一个抛砖
2015-11-29 11:32:04
620
原创 _tmain和main之间的关系
用过C的人都知道每一个C的程序都会有一个main(),但有时看别人写的程序发现主函数不是int main(),而是int_tmain(),而且头文件也不是iostream.h>而是stdafx.h>,会困惑吧?一起来看看他们有什么关系吧 首先,这个_tmain()是为了支持unicode所使用的main一个别名而已,既然是别名,应该有宏定义过的,在哪里定义的呢?就在那
2015-11-29 11:05:21
423
原创 C++ map的基本操作和使用
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数; map mapstring; mapmapint; mapmapstring; mapmapchar; mapmapchar;
2015-11-29 10:52:55
1226
原创 C++ Vector的基本操作和使用
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout(5)使用迭代器访问元素.vectorint>::iterator it;for(it=vec.begin(
2015-11-29 10:45:37
670
原创 关于 error while loading shared libraries: libfaac.so.0: cannot open shared object file: No such fi
进入/etc/目录下,新建一个faac.conf,其内容如下所示执行sudo ldconfig
2015-10-09 10:46:30
1423
原创 裁剪ffmpeg2.7.2,支持H264以及Udp(大小在1M左右,已验证可用)
#!/bin/bashNDK=/home/ubuntu/Downloads/android-ndk-r10dSYSROOT=$NDK/platforms/android-9/arch-arm/TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64function build_one{./con
2015-10-06 15:03:52
842
原创 wireshark如何筛选协议包
1、根据目的地址或者源地址过滤(udp.port==xxx,tcp.port == 554等)可以过滤出有用的UDP、TCP包,2、可以Decode AS 成RTP或者RTSP。3、如果知道SDP信息,在分析RTP时,还可以用Edit—>Preferences在Protocols里面选H264等,直接可以解析成H264的Pay Load,是不是IDR Slice的信息也都可以看到了
2015-09-28 14:17:42
7154
原创 relocation error: /usr/lib/libswresample.so.1: symbol av_calloc, version LIBAVUTIL_54 not defined i
* 下载ffmpeg和x264的源码这个自己google* 配置文件选项./configure --enable-shared --enable-shared --enable-gpl --enable-nonfree --enable-x11grab --enable-libmp3lame --enable-libtheora --enable-libx264 --e
2015-09-17 20:24:16
2495
原创 分割音视频,成独立的音频es数据和独立的视频es数据
视频可以用ubuntu自带的videos软件可以播放,音频播放不了。。#include #include "libavformat/avformat.h" static const char *media_file = "11.mp4";int main(void){ int i, vid_idx, aud_idx; FILE *fp_vides = NULL, *f
2015-09-17 19:44:49
963
原创 解析ffmpeg-2.8自带例子decoding_encoding.c了解如何解析音视频流程
FFmpeg自带的例子注释和个人见解,有什么问题请大家指正。 /* libavcodec API use example. * * @example decoding_encoding.c * Note that libavcodec only handles codecs (mpeg, mpeg4, etc...), * not file formats (avi, vob, mp4
2015-09-17 14:07:07
2011
原创 makefile 分析
# use pkg-config for getting CFLAGS and LDLIBSFFMPEG_LIBS= libavdevice \ libavformat \ libavfilter
2015-09-14 11:43:57
575
原创 FFMpeg APIchanges
Never assume the API of libav* to be stable unless at least 1 month has passedsince the last major version increase or the API was added.The last version increases were:libavcodec: 2014-0
2015-09-14 10:51:08
1528
转载 wav与pcm数据
参考下这个WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource InterchangeFileFormat的缩写,每个WAVE文件的头四个字节便是“RIFF”。WAVE文件由文件头和数据体两大部分组成。其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。WAVE文件各部分内容及格式见附表。 常见的声音文件主要有两
2015-09-14 09:32:59
1496
转载 PCM数据格式
1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体声); 22050HZ 8bit mono: 每秒钟有 22050 次采样, 采
2015-09-14 09:28:00
643
原创 安装SDL
2.安装SDL:因为ubuntu里面有SDL,所以直接在命令窗口输入以下就可以了:sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-sound1.2-dev检测SDL装上了没有:sdl-co
2015-09-13 17:17:50
499
原创 交叉环境下,配置ffmpeg的configure时指定交叉编译参数
交叉环境下,配置ffmpeg的configure时指定交叉编译参数,估计大概如下面的配置:./configure --prefix=./install --disable-static --enable-shared --enable-gpl --enable-pthreads --cross-prefix=arm-none-linux-gnueabi- --enable-cross-co
2015-09-13 16:36:43
1211
原创 /usr/bin/ld: warning: libswresample.so.1, needed by /usr/lib/gcc/i686-linux-gnu/4.9/../../../../lib/
解决方案:gcc -o ffmpegtest acc.c -lavformat -lavcodec -lavutil -lz -lm -lswresample
2015-09-13 16:22:21
2974
2
转载 ffmpeg 新老接口问题及对照集锦
网上很多关于ffmpeg (libav)的资料都是N年以前的,而事实上ffmpeg数年来一直在“以时俱进”,因此无论是一些新手,或者号称为老手的人,有时候难免出头痛。。。。。。为了解决大家的头痛的问题,特列一个贴子,把ffmpeg相关的一些常见的、版本的问题列举出来,供大家参考,同时也请大家一起补充。1) 不认识guess_format.解决: #define guess
2015-09-13 15:56:59
446
转载 使用ffmpeg库编译错误及解决办法
一、FFmpeg源代码下载与编译# wget http://www.ffmpeg.org/releases/ffmpeg-0.5.13.tar.bz2# tar -jxvf ffmpeg-0.5.13.tar.bz2# vim ffmpeg_configure.sh./configure \--prefix=/YOUR_INSTLL_DIRECTORY \--enabl
2015-09-13 12:59:41
3406
转载 使用gdb和core dump迅速定位段错误
使用gdb和core dump迅速定位段错误关键字:gdb、段错误、core dump 一、什么是core dump core:内存、核心的意思; dump:抛出,扔出; core dump:前提:当某程序崩溃的一瞬间,内核会抛出当时该程序进程的内存详细情况,存储在一个名叫core.xxx(xxx为一个数字,比如core.699
2015-09-13 10:46:42
531
转载 使用Backtrace函数打印调用栈 - Debug居家必备
glibc提供了backtrace这个库函数,可以用来打印call stack。比如我们可以在程序中注册常见的一些signal,比如SIGSEGMENT, SIGPIPE,然后在这些信号的回调函数中,利用backtrace打印出call stack,这样debug就非常的方便。 backtrace的使用很简单,使用man手册中的Example代码即可,例如:
2015-09-13 10:45:26
1338
转载 用GDB调试程序
目录(?)[+]用GDB调试程序目录[隐藏]1 使用GDB2 GDB的命令概貌3 GDB中运行UNIX的shell程序4 在GDB中运行程序5 调试已运行的程序6 暂停/恢复程序运行6.1 设置断点(Break Points)6.2 设置观察点(WatchPoint)6.3 设置捕捉点(CatchPoi
2015-09-13 10:30:55
331
转载 gdb core 调试(ZZ)
http://blog.163.com/lanka83/blog/static/32637615200801793020182/http://blog.youkuaiyun.com/taina2008/archive/2007/08/09/1733464.aspx1. 前言:有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的.但
2015-09-13 10:28:10
449
转载 GDB调试精粹及使用实例
一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。 如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。 利用set args 命令就可以
2015-09-13 10:26:33
416
转载 GDB 使用与示例
GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:1、启动你的程序,可
2015-09-13 10:25:00
406
转载 GDB 用法和命令介绍
分类:2013-10-24 15:02 186人阅读 评论(0) 收藏 举报一、GDB常用命令简介 rrun运行.程序还没有运行前使用c cuntinue 运行到下一断点处qquit 退出tabtab命令补全功能h
2015-09-13 10:23:07
358
原创 ffmpeg配置
./configure –enable-static –enable-version3 –enable-gpl –enable-nonfree –enable-libfdk-aac –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libvo-aacenc –enable-libvo-amrwbenc –enable-libmp3
2015-09-13 10:07:18
7424
原创 ubuntu下ffmpeg编译安装 -只支持h264解码,输出为yuv420
0、下载gitsudo apt-get install git1、下载FFmpeg源码:sudo git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg2、下载yasmsudo apt-get install yasm3、configuresudo ./configure --prefix=/usr/local/F
2015-09-12 15:24:18
1229
转载 pthread_create如何传递多个参数
http://zhidao.baidu.com/question/315398992.html涉及多参数传递给线程的,都需要使用结构体将参数封装后,将结构体指针传给线程定义一个结构体struct mypara{ var para1;//参数1 var para2;//参数2}将这个结构体指针,作为void *形参的实际参数传递st
2015-08-31 15:37:19
4376
原创 移植lame-3.99.5库
1、下载lame源码: http://sourceforge.net/projects/lame/files/lame tar -zxvf lame-3.99.5.tar.gz 2、./configure CC=arm-linux-gcc--host=arm-linux--target=linux--disable-shared--prefix=$PWD/output
2015-08-29 16:18:26
2052
原创 如何算音频PTS
以采样8000hz为例,也就是说1秒种会有8000个采样,我的DSP采集上来的数据是以576个采样为一帧。AudioNum = 8000/576个音频帧。1000/AudioNum = 每个音频所占用的毫秒数(ns)ns*90=PTS。http://blog.163.com/tianyang%40yeah/blog/static/702238372010726225
2015-08-26 21:57:05
2351
转载 视频、音频打时间戳的方法及其音视频同步(播放)原理
视频、音频打时间戳的方法 http://blog.youkuaiyun.com/wfqxx/article/details/54971381. 视频时间戳 pts = inc++ *(1000/fps); 其中inc是一个静态的,初始值为0,每次打完时间戳inc加1. 在ffmpeg,中的代码为 pkt.pts= m_nVideoTimeS
2015-08-26 17:46:43
19724
原创 MP3头部结构体定义(一)
//MP3头结构体typedef struct Tag_Mp3_Header{ unsigned int sync :11; //同步信息 unsigned char version :2; //版本 unsigned char layer :2; //层 unsigned char
2015-08-24 14:39:34
1332
原创 PCM转MP3音频文件(借助lame库)
pcm2mp3.c#include #include #include #define INBUFSIZE 4096#define MP3BUFSIZE (int) (1.25 * INBUFSIZE) + 7200int encode(char* inPath, char* outPath) { int status = 0; lame_global_flags* gfp
2015-08-24 13:31:36
6031
1
转载 从视频文件提取音频并存储为MP3格式文件
在linux世界里,进行视频格式转化的软件有很多,其中大名鼎鼎的ffmpeg和mplayer下的mencoder。本文主要介绍如何从视频文件中提起音频,同时保存成mp3格式的文件。格式转换其实就是经过解码和重新编码两个过程,如果系统不存在对应的解、编码器,就需要额外安装。ffmpeg自带了MP2格式的编码器,对于MP2格式的音频,普通电脑上的播放器似乎都能支持,但大部分手机的播放器不支持,
2015-08-24 13:25:09
4258
1
转载 extern用法
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案与分析:
2015-08-24 11:02:52
346
空空如也
用VLC播放RTP传输过来H264的问题,不使用打开sdp文件的方式
2015-07-30
请问通过UDP发送数据,不使用SDP文件,有什么方法可以实现通过VLC实时视频播放
2015-07-30
TS裸流以每次188个字节通过RTP的方式发送给VLC合理吗?为什么VLC播放不了?
2015-07-28
在ubuntu下通过RTP(tcp)的方式往window发送h264裸流,VLC接收问题
2015-07-28
通RTP传输H264网络实时流文件,VLC接收,如何让VLC显示播放时间?急急急
2015-07-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人