自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(195)
  • 资源 (6)
  • 收藏
  • 关注

转载 使用VS2010编译live555

最近加入了公司的C++视频小组,利用中秋这个假期将研究了一些live555的源码,现在先将如何编译使用vs2010编译live555,整理出来,对以后分析代码有很大帮助。1.下载live555源码,下载地址:http://www.live555.com/liveMedia/public/live555-latest.tar.gz2.live55简介Live555 是一个为流

2014-05-09 10:20:23 1050

转载 ffmpeg 源代码简单分析 : avcodec_decode_video2()

此前写了好几篇ffmpeg源代码分析文章,列表如下:图解FFMPEG打开媒体的函数avformat_open_inputffmpeg 源代码简单分析 : av_register_all()ffmpeg 源代码简单分析 : avcodec_register_all()ffmpeg 源代码简单分析 : av_read_frame(

2014-04-30 09:58:34 1275

转载 ffmpeg 源代码简单分析 : av_read_frame()

此前写了好几篇ffmpeg源代码分析文章,列表如下:图解FFMPEG打开媒体的函数avformat_open_inputffmpeg 源代码简单分析 : av_register_all()ffmpeg 源代码简单分析 : avcodec_register_all()ffmpeg 源代码简单分析 : av_read_frame(

2014-04-30 09:57:28 1606

转载 ffmpeg 源代码简单分析 : avcodec_register_all()

此前写了好几篇ffmpeg源代码分析文章,列表如下:图解FFMPEG打开媒体的函数avformat_open_inputffmpeg 源代码简单分析 : av_register_all()ffmpeg 源代码简单分析 : avcodec_register_all()ffmpeg 源代码简单分析 : av_read_frame(

2014-04-30 09:44:16 2279

转载 ffmpeg 源代码简单分析 : av_register_all()

此前写了好几篇ffmpeg源代码分析文章,列表如下:图解FFMPEG打开媒体的函数avformat_open_inputffmpeg 源代码简单分析 : av_register_all()ffmpeg 源代码简单分析 : avcodec_register_all()ffmpeg 源代码简单分析 : av_read_frame(

2014-04-30 09:38:00 3758

转载 图解FFMPEG打开媒体的函数avformat_open_input

此前写了好几篇ffmpeg源代码分析文章,列表如下:图解FFMPEG打开媒体的函数avformat_open_inputffmpeg 源代码简单分析 : av_register_all()ffmpeg 源代码简单分析 : avcodec_register_all()ffmpeg 源代码简单分析 : av_read_frame(

2014-04-29 15:52:58 1251

转载 使用FFmpeg类库实现YUV视频序列编码为视频

上一篇已经写了如何配置好开发环境,这次就先小试牛刀,来个视频的编码。搞视频处理的朋友肯定比较熟悉YUV视频序列,很多测试库提供的视频数据都是YUV视频序列,我们这里就用用YUV视频序列来做视频。关于YUV视频序列,我就不多讲了,可以看书学习,通常的视频序列都是YUV420格式的。步骤也就那几步,添加视频流,打开编码器,开辟相应的内存空间,然后就可以打开YUV序列逐帧写入数据了,so eas

2014-04-29 15:47:26 665

转载 FFplay源代码分析:整体流程图

FFplay源代码的流程图如图所示,网上的,不记得从哪弄的了,但是流程很清晰。看完FFplay源代码之后再看这个图感觉整个代码结构一目了然。

2014-04-29 15:41:20 1255

转载 最简单的基于FFMPEG+SDL的音频播放器

FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。在此我把自己做项目过程中实现的一个非常简单的音频播放器(大约200行代码)源代码传上来,以作备忘,同时方便新手学习FFMPEG。该播放器虽然简单,但是几乎包含了使用FFMPEG播放一个音频所有必备的API,并且使用SDL输出解码出来的音频。并且支持流媒体等多种音频输入。程序使用

2014-04-28 14:29:20 1070

转载 使用FFMPEG类库分离出多媒体文件中的H.264码流

在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的视频数据码流。只需要在每次调用av_read_frame()之后将得到的视频的AVPacket存为本地文件即可。经试验,在分离MPEG2码流的时候,直接存储AVPacket即可。在分离H.264码流的时候,直接存储AVPacket后的文件可能是不能播放的。如果视音频复用格式是TS(MPEG2 Transpo

2014-04-28 13:51:37 1658

转载 FFMPEG结构体分析:AVPacket

注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体

2014-04-28 13:37:59 593

转载 FFMPEG结构体分析:AVStream

注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体

2014-04-28 13:25:36 996

转载 FFMPEG结构体分析:AVCodec

注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体

2014-04-28 11:06:31 3332

转载 FFMPEG结构体分析:AVIOContext

注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体分析:AVStreamF

2014-04-28 10:51:35 642

转载 FFMPEG结构体分析:AVCodecContext

注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体

2014-04-28 10:13:24 1214

转载 FFMPEG结构体分析:AVFormatContext

注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体

2014-04-28 09:26:58 953

转载 FFMPEG 实现 YUV,RGB各种图像原始数据之间的转换(swscale)

FFMPEG中的swscale提供了视频原始数据(YUV420,YUV422,YUV444,RGB24...)之间的转换,分辨率变换等操作,使用起来十分方便,在这里记录一下它的用法。swscale主要用于在2个AVFrame之间进行转换。下面来看一个视频解码的简单例子,这个程序完成了对"北京移动开发者大会茶歇视频2.flv"(其实就是优酷上的一个普通视频)的解码工作,并将解码后的数

2014-04-25 21:16:19 3867

转载 FFMPEG结构体分析:AVFrame

注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体

2014-04-25 21:06:38 3227

转载 FFMPEG中最关键的结构体之间的关系

FFMPEG中结构体很多。最关键的结构体可以分成以下几类:a)        解协议(http,rtsp,rtmp,mms)AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol存储输入视音频使用的封装格式。每种协议都对应一个URLProtocol结构。(注意:FFMPEG中文件也被当做一种协议“file”)

2014-04-25 20:23:04 637

转载 SDL简介

SDL库的作用说白了就是封装了复杂的视音频底层操作,简化了视音频处理的难度。以下转自WiKi:SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前

2014-04-24 22:04:43 716

转载 100行代码实现最简单的基于FFMPEG+SDL的视频播放器

FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。我刚接触FFMPEG的时候也感觉不知从何学起。因此我把自己做项目过程中实现的一个非常简单的视频播放器(大约100行代码)源代码传上来,以作备忘,同时方便新手学习FFMPEG。该播放器虽然简单,但是几乎包含了使用FFMPEG播放一个视频所有必备的API,并且使用SDL显示解码出来的视频。

2014-04-24 21:59:01 895

转载 FFMPEG 库移植到 VC 需要的步骤

在VC下使用FFMPEG编译好的库,不仅仅是把.h,.lib,.dll拷贝到工程中就行了,还需要做以下几步。(此方法适用于自己使用MinGW编译的库,也同样适用于从网上下载的编译好的库,例如http://ffmpeg.zeranoe.com/builds/)。(1)像其他额外库一样,设置VC的Include路径为你c:\msys\local\include,设置VClib路径为次c:\ms

2014-04-24 21:41:46 668

转载 ffplay的快捷键以及选项

ffplay是ffmpeg工程中提供的播放器,功能相当的强大,凡是ffmpeg支持的视音频格式它基本上都支持。甚至连VLC不支持的一些流媒体都可以播放(比如说RTMP),但是它的缺点是其不是图形化界面的,必须通过键盘来操作。因此本文介绍一下它的快捷键以及选项。 快捷键 播放视音频文件的时候,可以通过下列按键控制视音频的播放按键作用

2014-04-24 21:22:02 1114

转载 ffmpeg参数中文详细解释

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

2014-04-24 21:17:53 545

转载 C 运行时库的使用,使用第三方库的时候尤其重要

因为各种原因常加一些第三方库到工程中。使用这些库,最好能够自己编译,否则应该真的应该好好检查一下它对C运行时库的依赖情况,否则真的容易出现莫名其名的访存错误。总结一下,要检查以下几个方面:1. 要检查一下依赖的C runtime lib是debug或release版,不要混用二者。2. 检查C runtime lib是单线程版、静态多线程还是动态链版。 我们

2013-08-21 21:21:01 2445

转载 C++编译器符号表有哪些内容?

C++编译器符号表有哪些内容?转自:http://blog.csdn.net/abortexit/article/details/1583306  很早就想写一篇关于符号表的学习小结,可是迟迟不能下笔。其一是因为符号表在编译器的设计中占有举足轻重的地位【我们在学习编译原理的时候更多的是注重principles,而没有关心一个编译器的实现,所以符号表讲解的也比较少】,编译阶段的每“遍”都

2012-05-19 14:28:40 925

原创 求一堆数中三个数的和为特定值的解

我觉得比较好的方法:对原始数据排序。将第一个数依次选举。然后在其后面求两个数的和为特定值的问题。复杂度为O(n^2)参考代码:#include#includeusing namespace std;int Num[]={1,2,3,4,5,6,7,8,9,10};int Len=10;void find1(int *num,int result,int len){ i

2012-05-09 19:52:50 1836 1

原创 全组合—动态规划

#include#include#includeusing namespace std;vector result;int hashtable[26]={0};bool flag=false;int main(){ string a; cin>>a; int len=a.length(); int i; for(i=0;i<len;i++) { int coun

2012-05-04 14:33:16 992

原创 利用中序+后序 恢复二叉树

要恢复一个二叉树,必须要有一个中序。利用后序得到根,再根据中序将树分成左右两份。然后递归地调用即可。参考代码:注意:此代码未对后序与中序的字符串有效性进行检查。#includeusing namespace std;struct Node{ char value; Node * left; Node * right;};Node * reconstruct(c

2012-04-25 20:35:34 1560

原创 KMP字符串查找算法

查找q是否在p中。先对q进行特征统计。。。比较挫的代码先贴上,以后有精力再改进改进。#includeusing namespace std;/**统计字串的特征比如字串为 const char *q="abcabcd"特征表为int table[]={-1,0,0,0,1,2,3};*/int * createTable(const char *q){ if(

2012-04-25 19:57:06 618

原创 只支持10以下的计算器

参考代码:#include#includeusing namespace std;/**return num2 opt num1*/int cal(int num1, int num2, char opt){ switch(opt) { case '+': return num2+num1; case '-': return num2-num1; case '*':

2012-04-23 23:23:34 590

原创 Dijkstra最短路径算法

基本思路是:选择出发点相邻的所有节点中,权最小的一个,将它的路径设置为确定。其他节点的路径需要保存起来。然后从刚刚确认的那个节点的相邻节点,算得那些节点的路径长。然后从所有未确定的节点中选择一个路径最短的设置为确定。重复上面步骤即可。参考代码如下:void Dijkstra(graph *g,string v){ int n = g->n; int *flag = new int[n];

2012-04-22 18:05:16 828

原创 无权图最短路径

参考代码: 复杂度为O(V+E)void Unweight(struct graph *g,string v){ int *mask= new int[g->n]; int i; int n; int num=0; for(i=0;in;i++) { mask[i]=0; if(VName[i]==v) n=i; } num++; queueq; q.p

2012-04-19 20:28:59 2015 1

原创 拓扑排序+入度检测

拓扑排序:     若有 a->b, 则要求a一定要在b之前打印出来。   思路:         找到一个入度为0的节点,打印出来,把与之相邻的节点入度-1;         重复上面工作。参考代码:void Topsort(graph *g){ int *Indegree = new int[g->n]; int i; /*统计入度*/ for(i=

2012-04-19 18:51:21 1929

转载 邻接表

邻接表    邻接矩阵用二维数组即可存取,比较简单,但除完全图外,一般的图不是任意两个顶点都相邻接,因此邻接矩阵也有很多零元素,特别是当n 较大而边数相对完全图的边(n-1)又少得多时,邻接矩阵仍是很稀疏,这样浪费存储空间。    邻接表(Adjacency List)是图的一种顺序存储与链式存储结合的存储方法,类似于树的孩子链表表示法。由于它只考虑非零元素,因而节省了零元素所占的存储空间

2012-04-19 16:35:09 4084

原创 hash表的代码

1、使用分离链接法避免collision参考代码:#include#include#includeusing namespace std;class node{public: string word; int count; node * next;};node * hashTable[700]={};void init(){ int i; for(i=0

2012-04-13 14:52:12 956

原创 在二元树中找出和为某一值的所有路径

从根到树叶, 找出所有路径中 和为给定的路径。 先序遍历,把访问到的节点放入vector中。当递归返回时从vector中删除节点。 参考代码:#include#includeusing namespace std;struct Tree{ Tree(int num):element(num),left(NULL),right(NULL){} int el

2012-04-12 20:05:36 549

转载 二叉查找树 转换成 排序的双向链表

http://www.cnblogs.com/XjChenny/archive/2011/10/01/2197783.html 自己写的代码:#include#includeusing namespace std;class Tree{public: Tree():element(0),left(NULL),right(NULL){} Tree(int nu

2012-04-12 18:38:16 423

原创 最长递增子序列

采用动态规划。使用LIS【】保存包含当前节点的子序列的长度。参考代码:#includeusing namespace std;int num[9]={ 1 ,2 ,4, 7, 4, 3, 1,8 ,1};int find(int *array, int len,int *Pre, int *index){    int i,j;    int *LIS =

2012-04-12 00:44:55 660

原创 句柄类(引用计数)——采用中间类实现方式

参考代码:#include#includeusing namespace std;class B{public: B(){} B(const string &n):name(n){} B(const char *n):name(n){} string getname(void) const{  return name; } B(const B &b)

2012-03-28 23:33:30 695

CUDA 编程指南4.0中文版

是CUDA4.0 toolkit中 program guide翻译过来的。翻译质量还可以,希望对学习CUDA的朋友有点参考价值。

2011-11-08

数字信号处理(胡广书_光碟)

光碟中有数字信号处理(胡广书第二版)中的算法代码。 代码包括C语言版、Fortran版、matlab版。

2010-11-19

带有注释的JM86_H264

JM86; 里面带有注释。 没有任何删减,注释也很正确。

2010-05-04

H.264最新英文标准

2009年3月出来的标准;2010年的标准好像还没有地方下载,这是最新的标准了,里面包含11种profile。

2010-05-04

h.264学习文档(5个文档)

里面包含H264+and+MPEG4+Video+Compression ; H.264_MPEG-4 Part 10 White Paper; H.264官方中文版; Overview of the H.264-AVC Video Coding Standard; Video coding using the H.264 MPEG-4 AVC compression standard

2010-05-04

x264最新源码 H264编码

x264最新源代码 代码在linux下运行通过没有问题。(Ubuntu ,suse) 希望对学习h264的新手有帮助

2010-01-18

空空如也

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

TA关注的人

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