自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

雷霄骅(leixiaohua1020)的专栏

一个广院工科生的视音频技术笔记

  • 博客(323)
  • 资源 (141)
  • 收藏
  • 关注

通过Stratus 服务器在Flash Player中使用RTMFP 开发P2P应用

通过Stratus 服务器在Flash Player中使用RTMFP 开发 点对点应用(网文转摘) 作者:Jozsef Vass 译者:巴巴鲁 (请转载时注明和改编时出处,谢谢) Adobe Flash Player 10 and Adobe AIR 1.5 introduce a new communications protocol, Real-Time Media Flow Pro...

2013-10-31 23:46:00 789

转载 Lucene 学习资料

Lucene是一个基于Java的全文索引工具包。另外,如果是在选择全文引擎,现在也许是试试Sphinx的时候了:相比Lucene速度更快,有中文分词的支持,而且内置了对简单的分布式检索的支持;基于Java的全文索引/检索引擎——LuceneLucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索

2013-10-31 23:34:15 4297

Lucene 学习资料

Lucene是一个基于Java的全文索引工具包。 另外,如果是在选择全文引擎,现在也许是试试Sphinx的时候了:相比Lucene速度更快,有中文分词的支持,而且内置了对简单的分布式检索的支持;基于Java的全文索引/检索引擎——LuceneLucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检...

2013-10-31 23:34:00 424

原创 LIRe 源代码分析 3:基本接口(ImageSearcher)

上篇文章介绍了LIRe源代码里的DocumentBuilder的几个基本接口。本文继续研究一下源代码里的ImageSearcher的几个基本接口。下面来看看与ImageSearcher相关的类的定义:

2013-10-31 20:48:59 7160

LIRe 源代码分析 3:基本接口(ImageSearcher)

 注:此前写了一系列的文章,分析LIRe的源代码,在此列一个列表:LIRe 源代码分析 1:整体结构LIRe 源代码分析 2:基本接口(DocumentBuilder)LIRe 源代码分析 3:基本接口(ImageSearcher)LIRe 源代码分析 4:建立索引(DocumentBuilder)[以颜色布局为例]LIRe 源代码分析 5:提取特征向量[以颜色布局为例]LIRe 源代码...

2013-10-31 20:48:00 290

原创 LIRe 源代码分析 2:基本接口(DocumentBuilder)

本文分析LIRe的基本接口。LIRe的基本接口完成的工作不外乎两项:生成索引和检索。生成索引就是根据图片提取特征向量,然后存储特征向量到索引的过程。检索就是根据输入图片的特征向量到索引中查找相似图片的过程。

2013-10-31 19:24:27 7293

LIRe 源代码分析 2:基本接口(DocumentBuilder)

 注:此前写了一系列的文章,分析LIRe的源代码,在此列一个列表:LIRe 源代码分析 1:整体结构LIRe 源代码分析 2:基本接口(DocumentBuilder)LIRe 源代码分析 3:基本接口(ImageSearcher)LIRe 源代码分析 4:建立索引(DocumentBuilder)[以颜色布局为例]LIRe 源代码分析 5:提取特征向量[以颜色布局为例]LIRe 源代码...

2013-10-31 19:24:00 359

原创 LIRe 源代码分析 1:整体结构

LIRE(Lucene Image REtrieval)提供一种的简单方式来创建基于图像特性的Lucene索引。利用该索引就能够构建一个基于内容的图像检索(content- based image retrieval,CBIR)系统,来搜索相似的图像。在这里就不多进行介绍了,已经写过相关的论文:

2013-10-31 18:52:38 9442 1

LIRe 源代码分析 1:整体结构

注:此前写了一系列的文章,分析LIRe的源代码,在此列一个列表:LIRe 源代码分析 1:整体结构LIRe 源代码分析 2:基本接口(DocumentBuilder)LIRe 源代码分析 3:基本接口(ImageSearcher)LIRe 源代码分析 4:建立索引(DocumentBuilder)[以颜色布局为例]LIRe 源代码分析 5:提取特征向量[以颜色布局为例]LIRe 源代码分析 ...

2013-10-31 18:52:00 345

原创 Media Player Classic - HC 源代码分析 7:详细信息选项卡(CPPageFileInfoDetails)

本文分析一下mpc-hc的详细信息选项卡。在播放视频的时候,右键点击视频->选择“属性”后默认打开的就是该选项卡。一般情况下,该选项卡给出了正在播放的视频文件的一些基本参数:视频大小,分辨率,时长等。注意:详细信息选项卡和MediaInfo选项卡获得视频参数的原理是不一样的。详细信息选项卡是通过调用DirectShow函数接口而获得的视频的参数。而MediaInfo选项卡则是通过调用MediaInfo类库而获得视频的参数。

2013-10-31 00:33:25 7198

Media Player Classic - HC 源代码分析 7:详细信息选项卡(CPPageFileInfoDetails)

 注:写了一系列分析Media Player Classic - HC 源代码的文章,在此列一个列表:Media Player Classic - HC 源代码分析 1:整体结构Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)...

2013-10-31 00:33:00 295

原创 ffdshow 源代码分析 5: 位图覆盖滤镜(总结)

在此,用一张图总结他们之间的关系:如图中所示,设置(Settings)部分是直接和系统上层关联的,它包含两个接口函数:createPages()和createFilters()。分别用于创建对话框(Dialog)和滤镜(Filter)。其中在TbitmapPage中对话框直接和注册表变量关联。而在TbitmapSettings中注册表变量和系统中的变量关联。TimgFilterBitmap最终读取TbitmapSettings中的变量完成相应的操作。目前来开TimgFilterBitmap是不会直接

2013-10-30 19:38:27 5279

ffdshow 源代码分析 5: 位图覆盖滤镜(总结)

 注:写了一系列的文章,都是关于ffdshow中的位图覆盖滤镜的源代码分析的,在此列一个列表:ffdshow 源代码分析 2: 位图覆盖滤镜(对话框部分Dialog) ffdshow 源代码分析 3: 位图覆盖滤镜(设置部分Settings)ffdshow 源代码分析 4: 位图覆盖滤镜(滤镜部分Filter)ffdshow 源代码分析 5: 位图覆盖滤镜(总结)前面写了三篇文章...

2013-10-30 19:38:00 259

翻译 ITU-T Technical Paper: 测量QoS的基本网络模型

本文翻译自ITU-T的Technical Paper:《How to increase QoS/QoE of IP-based platform(s) to regionally agreed standards》(2013/3/1)。这是其第六章的一部分,给出了测量QoS的基本网络模型。PS:在此感谢一位师弟的翻译。理想情况下,为每个客户的流量进行的测试都应该在相同的端点之间进行

2013-10-30 18:44:11 3227

ITU-T Technical Paper: 测量QoS的基本网络模型

本文翻译自ITU-T的Technical Paper:《How to increase QoS/QoE of IP-based platform(s) to regionally agreed standards》(2013/3/1)。这是其第六章的一部分,给出了测量QoS的基本网络模型。PS:在此感谢一位师弟的翻译。 理想情况下,为每个客户的流量进行的测试都应该在相同的端点之间进行。无...

2013-10-30 18:44:00 373

翻译 ITU-T Technical Paper: QoS 测量 (目标,方法,协议)

本文翻译自ITU-T的Technical Paper:《How to increase QoS/QoE of IP-based platform(s) to regionally agreed standards》(2013/3/1)。这是其第六章的一部分,给出了QoS测量方面的综述。PS:在此感谢一位师弟的翻译。 针对 QoS测量的考虑 [b-ITU-T E.800-Sup.8]通常

2013-10-30 11:23:44 4280

ITU-T Technical Paper: QoS 测量 (目标,方法,协议)

本文翻译自ITU-T的Technical Paper:《How to increase QoS/QoE of IP-based platform(s) to regionally agreed standards》(2013/3/1)。这是其第六章的一部分,给出了QoS测量方面的综述。PS:在此感谢一位师弟的翻译。 针对 QoS测量的考虑 [b-ITU-T E.800-Sup.8] 通常...

2013-10-30 11:23:00 450

原创 Media Player Classic - HC 源代码分析 6:MediaInfo选项卡 (CPPageFileMediaInfo)

前几篇文章分析了Media Player Classic - HC(mpc-hc)的核心类(CMainFrame):Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)Media Player Classic - HC 源代码分析 4:核心类 (CMainFrame)(3)核心类分析完之后,分析了一下CAboutDlg:Media Play

2013-10-30 00:42:45 7607

Media Player Classic - HC 源代码分析 6:MediaInfo选项卡 (CPPageFileMediaInfo)

 注:写了一系列分析Media Player Classic - HC 源代码的文章,在此列一个列表:Media Player Classic - HC 源代码分析 1:整体结构Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)...

2013-10-30 00:42:00 248

原创 Media Player Classic - HC 源代码分析 5:关于对话框 (CAboutDlg)

前几篇文章分析了Media Player Classic - HC(mpc-hc)的核心类(CMainFrame):Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)Media Player Classic - HC 源代码分析 4:核心类 (CMainFrame)(3)核心类已经分析的差不多了,现在可以看一看其他类的定义了。可是如此多的类

2013-10-30 00:18:19 9034

Media Player Classic - HC 源代码分析 5:关于对话框 (CAboutDlg)

 注:写了一系列分析Media Player Classic - HC 源代码的文章,在此列一个列表:Media Player Classic - HC 源代码分析 1:整体结构Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)...

2013-10-30 00:18:00 300

翻译 ITU-T Technical Paper: QoS的构建模块与机制

本文翻译自ITU-T的Technical Paper:《How to increase QoS/QoE of IP-based platform(s) to regionally agreed standards》(2013/3/1)。这是其第五章的一部分,给出了QoS的构建模块与机制。PS:在此感谢一位师弟的翻译。 QoS的作用是支持特定应用的特点和属性,然而的不同的应用可能有着差别很大

2013-10-29 17:48:25 2983

ITU-T Technical Paper: QoS的构建模块与机制

本文翻译自ITU-T的Technical Paper:《How to increase QoS/QoE of IP-based platform(s) to regionally agreed standards》(2013/3/1)。这是其第五章的一部分,给出了QoS的构建模块与机制。PS:在此感谢一位师弟的翻译。 QoS的作用是支持特定应用的特点和属性,然而的不同的应用可能有着差别很...

2013-10-29 17:48:00 341

翻译 ITU-T Technical Paper: QoS 的参数(非常的全,共计88个)

本文翻译自ITU-T的Technical Paper:《How to increase QoS/QoE of IP-based platform(s) to regionally agreed standards》(2013/3/1)。这是其第四章的一部分,给出了QoS的参数。PS:在此感谢一位师弟的翻译。 QoS 参数 (也被称为 QoS指标、 QoS 决定因素等) 指明了一项服务的质量

2013-10-29 14:48:20 4701

ITU-T Technical Paper: QoS 的参数(非常的全,共计88个)

本文翻译自ITU-T的Technical Paper:《How to increase QoS/QoE of IP-based platform(s) to regionally agreed standards》(2013/3/1)。这是其第四章的一部分,给出了QoS的参数。PS:在此感谢一位师弟的翻译。 QoS 参数 (也被称为 QoS指标、 QoS 决定因素等) 指明了一项服务的质...

2013-10-29 14:48:00 629

翻译 ITU-T Technical Paper: NP, QoS 和 QoE的框架以及它们的区别

本文翻译自ITU-T的Technical Paper:《How to increase QoS/QoE of IP-based platform(s) to regionally agreed standards》(2013/3/1)。这是其第四章的一部分,区别了QoS 和 QoE的定义。 服务质量(QoS)这个术语被广泛地应用,并且随着新的通信环境的不断出现,其本身的应用范围也越来越广,

2013-10-29 14:11:15 6888

ITU-T Technical Paper: NP, QoS 和 QoE的框架以及它们的区别

本文翻译自ITU-T的Technical Paper:《How to increase QoS/QoE of IP-based platform(s) to regionally agreed standards》(2013/3/1)。这是其第四章的一部分,区别了QoS 和 QoE的定义。PS:在此感谢一位师弟的翻译。 服务质量(QoS)这个术语被广泛地应用,并且随着新的通信环境的不断出...

2013-10-29 14:11:00 482

原创 BMP 转 YUV (BMP2YUV)

位图文件(Bitmap-File,BMP)格式是Windows采用的图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式。BMP位图文件默认的文件扩展名是bmp或者dib。BMP文件大体上分为四个部分:位图文件头主要包括:typedef struct tagBITMAPFILEHEADER {WORD bfType; /* 说明文件的类型 */DWO

2013-10-29 13:41:02 26465 8

BMP 转 YUV (BMP2YUV)

本文介绍BMP 转 YUV。其实这是以前“数据压缩”实验课上的内容,前几天有人问我相关的问题,突然发现自己有一段时间没有接触BMP也有些生疏了,因此翻出资料总结一下。BMP文件格式解析位图文件(Bitmap-File,BMP)格式是Windows采用的图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式。BMP位图文件默认的文件扩展名是bmp或者dib。BMP文件...

2013-10-29 13:41:00 1288

原创 Media Player Classic - HC 源代码分析 4:核心类 (CMainFrame)(3)

此前已经写了2篇文章介绍Media Player Classic - HC (mpc-hc)源代码中的核心类 CMainFrame:Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)此前的文章一直都是围绕着OpenMe

2013-10-29 00:34:53 7350

Media Player Classic - HC 源代码分析 4:核心类 (CMainFrame)(3)

 注:写了一系列分析Media Player Classic - HC 源代码的文章,在此列一个列表:Media Player Classic - HC 源代码分析 1:整体结构Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)...

2013-10-29 00:34:00 299

原创 Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)

上一篇文章分析了Media Player Classic - HC(mpc-hc)的源代码中的核心类 CMainFrame:Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)主要介绍了CMainFrame类中的以下几个函数(“->”代表调用关系):OpenMedia()->OpenMediaPrivate()->OpenFile()本文补充介绍CMainFrame类中的其他一些函数。再回顾一下打开文件功能主要所在的函数OpenMediaPriv

2013-10-28 23:52:56 7387

Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)

 注:写了一系列分析Media Player Classic - HC 源代码的文章,在此列一个列表:Media Player Classic - HC 源代码分析 1:整体结构Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)...

2013-10-28 23:52:00 267

原创 Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)

上一篇文章概括性的介绍了Media Player Classic - Home Cinema (mpc-hc)播放器的源代码:Media Player Classic - HC 源代码分析 1:整体结构现在可以开始看看具体的源代码了。mpc-hc最核心的类名字叫CMainFrame,它的定义位于MainFrm.h文件中CMainFrame定义非常的长,包含了视频播放器的方方面面,一共900多行,在这里应该快放不下了。因此我删掉了很多代码,只保留了部分代码。关键的函数上面都写上了注释。

2013-10-28 18:21:05 11816 1

Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)

 注:写了一系列分析Media Player Classic - HC 源代码的文章,在此列一个列表:Media Player Classic - HC 源代码分析 1:整体结构Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)...

2013-10-28 18:21:00 303

原创 Media Player Classic - HC 源代码分析 1:整体结构

Media Player Classic - Home Cinema (mpc-hc)播放器一个经典的影音播放器,可播放CD、VCD、DVD、及MP3、MP4、AVI、AAC等多种影音格式。与此同时,它还是开源的。很多知名的视频播放器都是在它的基础上建立起来的,在这里就不例举了。本文将会对其源代码进行简要的分析。之前一篇博客中曾经介绍了它的编译过程:VC2010 编译 Media Player

2013-10-28 00:26:06 31486 3

Media Player Classic - HC 源代码分析 1:整体结构

注:写了一系列分析Media Player Classic - HC 源代码的文章,在此列一个列表:Media Player Classic - HC 源代码分析 1:整体结构Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)Med...

2013-10-28 00:26:00 391

原创 LAV Filter 源代码分析 4: LAV Video (2)

上一篇文章分析了LAV Filter 中的LAV Video的两个主要的类:CLAVVideo和CDecodeThread。文章:LAV Filter 源代码分析 3: LAV Video (1)在这里继续上篇文章的内容。文章中提到LAVVideo主要通过CDecodeThread这个类进行解码线程的管理,其中有一个关键的管理函数:ThreadProc(),包含了对解码线程的各种操作。函数如下所示:

2013-10-27 21:47:43 8113

LAV Filter 源代码分析 4: LAV Video (2)

上一篇文章分析了LAV Filter 中的LAV Video的两个主要的类:CLAVVideo和CDecodeThread。文章:LAV Filter 源代码分析 3: LAV Video (1)在这里继续上篇文章的内容。文章中提到LAVVideo主要通过CDecodeThread这个类进行解码线程的管理,其中有一个关键的管理函数:ThreadProc(),包含了对解码线程的各种操作。函数如...

2013-10-27 21:47:00 641 1

原创 LAV Filter 源代码分析 3: LAV Video (1)

LAV Video 是使用很广泛的DirectShow Filter。它封装了FFMPEG中的libavcodec,支持十分广泛的视频格式的解码。在这里对其源代码进行详细的分析。LAV Video 工程代码的结构如下图所示

2013-10-27 20:58:00 9861

最简单的基于FFmpeg的图像编码器 1.1

该图像编码器实现了YUV420P的数据编码为JPEG图片。尽管该图像编码器的代码十分简单,但是几乎包含了使用FFMPEG编码一个图像所有必备的API。十分适合FFmpeg的初学者。 1.1版本增加了多平台下编译的支持:Windows,MacOS,以及Linux。

2015-02-13

最简单的视音频播放示例

本工程包含了使用各种API(Direct3D,OpenGL,GDI,DirectSound,SDL2)播放多媒体例子。 其中音频输入为PCM采样数据。输出至系统的声卡播放出来。 视频输入为YUV/RGB像素数据。输出至显示器上的一个窗口播放出来。 通过本工程的代码初学者可以快速学习使用这几个API播放视频和音频的技术。 一共包括了如下几个子工程: simplest_audio_play_directsound: 使用DirectSound播放PCM音频采样数据。 simplest_audio_play_sdl2: 使用SDL2播放PCM音频采样数据。 simplest_video_play_direct3d: 使用Direct3D的Surface播放RGB/YUV视频像素数据。 simplest_video_play_direct3d_texture:使用Direct3D的Texture播放RGB视频像素数据。 simplest_video_play_gdi: 使用GDI播放RGB/YUV视频像素数据。 simplest_video_play_opengl: 使用OpenGL播放RGB/YUV视频像素数据。 simplest_video_play_opengl_texture: 使用OpenGL的Texture播放YUV视频像素数据。 simplest_video_play_sdl2: 使用SDL2播放RGB/YUV视频像素数据。

2014-10-18

最简单的视频编码器示例

该解决方案包含了几个常见的编码器的使用示例: simplest_vpx_encoder:最简单的基于libvpx的视频编码器 simplest_x264_encoder:最简单的基于libx264的视频编码器 simplest_x265_encoder:最简单的基于libx265的视频编码器

2014-12-21

最简单的基于FFmpeg的封装格式处理 1.2

该解决方案包含了使用FFmpeg进行封装格式处理的各种例子: simplest ffmpeg demuxer:视音频分离器 simplest ffmpeg demuxer simple:视音频分离器(简化版) simplest ffmpeg muxer:视音频复用器 simplest ffmpeg remuxer:封装格式转换器 1.2版本增加了多平台下编译的支持:Windows,MacOS,以及Linux。

2015-02-13

最简单的基于FFmpeg的封装格式处理的例子 1.1

该解决方案包含了使用FFmpeg进行封装格式处理的各种例子: simplest ffmpeg demuxer:视音频分离器 simplest ffmpeg demuxer simple:视音频分离器(简化版) simplest ffmpeg muxer:视音频复用器 simplest ffmpeg remuxer:封装格式转换器 1 1版修复了以下问题: 1 Release版本下的运行问题 2 simplest ffmpeg muxer分装H 264裸流的时候丢失声音的错误">该解决方案包含了使用FFmpeg进行封装格式处理的各种例子: simplest ffmpeg demuxer:视音频分离器 simplest ffmpeg demuxer simple:视音频分离器(简化版) simplest ffmpeg muxer:视音频复用器 simplest ffmpeg remuxer:封装格式转换器 1 1 [更多]

2014-12-21

最简单的基于FFmpeg的编码器 1.1

本程序实现了YUV像素数据编码为视频码流(H.265,H264,MPEG2,VP8等等)。 是最简单的FFmpeg视频编码方面的教程。 它包含以下两个子项目: simplest_ffmpeg_video_encoder:最简单的基于FFmpeg的视频编码器。使用libavcodec和libavformat编码并且封装视频。 simplest_ffmpeg_video_encoder_pure:最简单的基于FFmpeg的视频编码器-纯净版。仅使用libavcodec编码视频,不使用libavformat。

2015-01-03

最简单的基于FFmpeg的内存读写的例子

本程序实现了FFmpeg对内存中的视频数据的读写。包含两个工程: simplest_ffmpeg_mem_player:播放内存中视频数据的播放器。 simplest_ffmpeg_mem_transcoder:转码内存中数据的转码器。

2014-10-05

最简单的基于FFmpeg的libswscale的教程

本教程是最简单的基于FFmpeg的libswscale进行像素处理的教程。它包含了两个工程: simplest_ffmpeg_swscale: 最简单的libswscale的教程。 simplest_pic_gen: 生成各种测试图片的工具。

2014-12-23

最简单的视音频播放示例 1.1

本工程包含了使用各种API(Direct3D,OpenGL,GDI,DirectSound,SDL2)播放多媒体例子。 其中音频输入为PCM采样数据。输出至系统的声卡播放出来。 视频输入为YUV/RGB像素数据。输出至显示器上的一个窗口播放出来。 通过本工程的代码初学者可以快速学习使用这几个API播放视频和音频的技术。 一共包括了如下几个子工程: simplest_audio_play_directsound: 使用DirectSound播放PCM音频采样数据。 simplest_audio_play_sdl2: 使用SDL2播放PCM音频采样数据。 simplest_video_play_direct3d: 使用Direct3D的Surface播放RGB/YUV视频像素数据。 simplest_video_play_direct3d_texture:使用Direct3D的Texture播放RGB视频像素数据。 simplest_video_play_gdi: 使用GDI播放RGB/YUV视频像素数据。 simplest_video_play_opengl: 使用OpenGL播放RGB/YUV视频像素数据。 simplest_video_play_opengl_texture: 使用OpenGL的Texture播放YUV视频像素数据。 simplest_video_play_sdl2: 使用SDL2播放RGB/YUV视频像素数据。 1.1版修复了一些问题

2014-12-21

最简单的基于FFMPEG+SDL的视频播放器 2.3

本程序实现了视频文件的解码和显示(支持HEVC,H.264,MPEG2等)。 是最简单的FFmpeg视频解码方面的教程。 通过学习本例子可以了解FFmpeg的解码流程。 项目包含3个工程: simplest_ffmpeg_player:标准版,FFmpeg学习的开始。 simplest_ffmpeg_player_su:SU(SDL Update)版,加入了简单的SDL的Event。 simplest_ffmpeg_decoder_pure:一个纯净的解码器。 2.3版加入simplest_ffmpeg_decoder_pure工程。

2015-01-03

最简单的基于DirectShow的示例

本程序包含了DirectShow开发的示例程序。适合DirectShow初学者进行学习。 它包含了以下几个子程序: simplest_directshow_player: 最简单的基于DirectShow的视频播放器。 simplest_directshow_player_custom: 最简单的基于DirectShow的视频播放器(Custom)。 playerGUI: 最简单的基于DirectShow的播放器-图形界面版。 simplest_directshow_info: 最简单的Directshow信息显示例子。 simplest_directshow_filter: 目前还未完成。

2015-01-10

最简单的基于FFmpeg的编码器 1.2

本程序实现了YUV像素数据编码为视频码流(H.265,H264,MPEG2,VP8等等)。是最简单的FFmpeg视频编码方面的教程。它包含以下两个子项目: simplest_ffmpeg_video_encoder:最简单的基于FFmpeg的视频编码器。使用libavcodec和libavformat编码并且封装视频。 simplest_ffmpeg_video_encoder_pure:最简单的基于FFmpeg的视频编码器-纯净版。仅使用libavcodec编码视频,不使用libavformat。 1.2版本增加了多平台下编译的支持:Windows,MacOS,以及Linux。

2015-02-13

最简单的基于FFMPEG的音频编码器 1.1

该音频编码器实现了音频PCM采样数据编码为AAC码流。 尽管该音频编码器的代码十分简单,但是几乎包含了使用FFMPEG编码一个音频所有必备的API。十分适合FFmpeg的初学者。 1.1版本增加了多平台下编译的支持:Windows,MacOS,以及Linux。

2015-02-13

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

本程序实现了音频的解码和播放。是最简单的FFmpeg音频解码方面的教程。通过学习本例子可以了解FFmpeg的解码流程。该版本使用SDL 2.0替换了第一个版本中的SDL 1.0。 2.1版本增加了多平台下编译的支持:Windows,MacOS,以及Linux。

2015-02-13

最简单的基于libRTMP的示例

本工程包含了LibRTMP的使用示例,包含如下子工程: simplest_librtmp_receive: 接收RTMP流媒体并在本地保存成FLV格式的文件。 simplest_librtmp_send_flv: 将FLV格式的视音频文件使用RTMP推送至RTMP流媒体服务器。 simplest_librtmp_send264: 将内存中的H.264数据推送至RTMP流媒体服务器。

2014-12-23

最简单的基于libVLC的例子

本工程是包含了一些基于libVLC的示例程序。一共包含了如下几个子程序。 playerGUI: 最简单的基于libVLC的播放器-图形界面版。 simplest_libvlc_example: 最简单的基于libVLC的播放器。 simplest_libvlc_streamer: 最简单的基于libVLC的推流器。

2015-01-08

最简单的基于FFmpeg的推流器(以推送RTMP为例)

本例子实现了推送本地视频至流媒体服务器(以RTMP为例)。 是使用FFmpeg进行流媒体推送最简单的教程。

2014-10-06

最简单的基于FFmpeg的封装格式处理的例子

该解决方案包含了使用FFmpeg进行封装格式处理的各种例子: simplest_ffmpeg_demuxer:视音频分离器。 simplest_ffmpeg_demuxer_simple:视音频分离器(简化版)。 simplest_ffmpeg_muxer:视音频复用器。 simplest_ffmpeg_remuxer:封装格式转换器。

2014-10-06

最简单的基于FFMPEG的AVDevice的例子 1.1

本工程包含两个基于FFmpeg的libavdevice的例子: simplest_ffmpeg_grabdesktop:屏幕录制。 simplest_ffmpeg_readcamera:读取摄像头。 工程基于VC2010,配置都已经做好,可以直接运行查看结果。 1.1版更新: 弹出的窗口可以移动了。

2015-01-09

最简单的基于FFMPEG+SDL的视频播放器 2.2

本程序实现了视频文件的解码和显示(支持HEVC,H.264,MPEG2等)。 是最简单的FFmpeg视频解码方面的教程。 通过学习本例子可以了解FFmpeg的解码流程。 项目包含两个工程: simplest_ffmpeg_player:标准版,FFmpeg学习的开始。 simplest_ffmpeg_player_su:SU(SDL Update)版,加入了简单的SDL的Event。 工程采用了VC2010,FFmpeg使用了较新的类库,SDL使用了2.0版本。 这是更新的2.2版本。增加了“flush_decoder”功能,用于在解码循环结束后,输出解码器中剩余的几帧数据。

2014-10-04

最简单的基于FFmpeg的AVFilter例子 1.2

本程序使用包含下面两个项目: simplest_ffmpeg_video_filter:可以将一张PNG图片作为水印叠加到视频上,结合使用了libavfilter,libavcodec等类库。 simplest_ffmpeg_video_filter_pure:可以给YUV像素数据加特效,只用了libavfilter库。

2016-02-01

YUV Player

自己修改过的YUV播放器,支持RGB、YUV等格式的播放。

2016-01-06

最简单的基于FFMPEG+SDL的视频播放器 2.5

本程序实现了视频文件的解码和显示(支持HEVC,H.264,MPEG2等)。 是最简单的FFmpeg视频解码方面的教程。 通过学习本例子可以了解FFmpeg的解码流程。 项目包含6个工程: simplest_ffmpeg_player:标准版,FFmpeg学习的开始。 simplest_ffmpeg_player_su:SU(SDL Update)版,加入了简单的SDL的Event。 simplest_ffmpeg_decoder:一个包含了封装格式处理功能的解码器。使用了libavcodec和libavformat。 simplest_ffmpeg_decoder_pure:一个纯净的解码器。只使用libavcodec(没有使用libavformat)。 simplest_video_play_sdl2:使用SDL2播放YUV的例子。 simplest_ffmpeg_helloworld:输出FFmpeg类库的信息。

2015-07-22

视音频数据处理入门

本项目包含如下几种视音频数据解析示例: (1)像素数据处理程序。包含RGB和YUV像素格式处理的函数。 (2)音频采样数据处理程序。包含PCM音频采样格式处理的函数。 (3)H.264码流分析程序。可以分离并解析NALU。 (4)AAC码流分析程序。可以分离并解析ADTS帧。 (5)FLV封装格式分析程序。可以将FLV中的MP3音频码流分离出来。 (6)UDP-RTP协议分析程序。可以将分析UDP/RTP/MPEG-TS数据包。

2016-01-29

最简单的基于FFMPEG+SDL的视频播放器-最终版

本程序实现了视频文件的解码和显示(支持HEVC,H.264,MPEG2等)。是最简单的FFmpeg视频解码方面的教程。通过学习本例子可以了解FFmpeg的解码流程。 项目包含两个工程: simplest_ffmpeg_player:标准版,FFmpeg学习的开始。 simplest_ffmpeg_player_su:SU(SDL Update)版,加入了简单的SDL的Event。 这显示该程序的最终版,除了支持VC2010之外,也支持如下几种编译方式: cl.exe命令行编译; mingw编译; gcc编译; gcc(MacOS)编译; 此外修复了个别操作系统(例如Ubuntu)中绿屏的问题。

2015-02-12

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

本程序实现了音频的解码和播放。是最简单的FFmpeg音频解码方面的教程。 通过学习本例子可以了解FFmpeg的解码流程。 项目包含3个工程: simplest_ffmpeg_audio_player:基于FFmpeg+SDL的音频解码器 simplest_ffmpeg_audio_decoder:音频解码器。使用了libavcodec和libavformat。 simplest_audio_play_sdl2:使用SDL2播放PCM采样数据的例子。

2015-07-22

最简单的Flash流媒体例子

本工程包含如下基于Flash技术的流媒体的例子: simplest_as3_rtmp_player:最简单的RTMP播放器(基于ActionScript) simplest_as3_rtmp_streamer:最简单的RTMP推流器(基于ActionScript) rtmp_sample_player_adobe:从Adobe Flash Media Sever提取出来的测试播放器 rtmp_sample_player_wowza:从Wowza服务器中提取出来的测试播放器 rtmp_sample_player_flowplayer:基于FlowPlayer的RTMP/HTTP播放器(添加RTMP plugin) rtmp_sample_player_videojs:基于VideoJS的RTMP/HTTP播放器 rtmp_sample_player_jwplayer:基于JWplayer的RTMP/HTTP播放器 hls_sample_player_flowplayer:基于FlowPlayer的HLS播放器(添加HLS plugin) hls_video_player_html5:基于HTML5的HLS/HTTP播放器 activex_vlc_player:基于VLC的ActiveX控件的播放器 注意:某些播放器直接打开html页面是不能工作的,需要把播放器放到Web服务器上。 (例如Apache或者Nginx)

2015-02-25

最简单的基于FFmpeg的AVFilter例子(叠加水印) 1.1

本程序使用FFmpeg的AVfilter实现了视频的水印叠加功能。可以将一张PNG图片作为水印叠加到视频上。 是最简单的FFmpeg的AVFilter方面的教程。适合FFmpeg的初学者。 1.1版本增加了多平台下编译的支持:Windows,MacOS,以及Linux。

2015-02-13

最简单的基于FFMPEG+SDL的视频播放器 2.4

本程序实现了视频文件的解码和显示(支持HEVC,H.264,MPEG2等)。是最简单的FFmpeg视频解码方面的教程。通过学习本例子可以了解FFmpeg的解码流程。 项目包含3个工程: simplest_ffmpeg_player:标准版,FFmpeg学习的开始。 simplest_ffmpeg_player_su:SU(SDL Update)版,加入了简单的SDL的Event。 simplest_ffmpeg_decoder_pure:一个纯净的解码器。 2.4版本增加了多平台下编译的支持:Windows,MacOS,以及Linux

2015-02-13

最简单的基于FFmpeg的libswscale的教程 1.1

本教程是最简单的基于FFmpeg的libswscale进行像素处理的教程。它包含了两个工程: simplest_ffmpeg_swscale: 最简单的libswscale的教程(YUV420P转RGB24)。 simplest_pic_gen: 生成各种测试图片的工具。 1.1版本增加了多平台下编译的支持:Windows,MacOS,以及Linux。

2015-02-13

传媒大学广播电视工程系小学期课程 - 基于FFmpeg+SDL的视频播放器的制作

传媒大学广播电视工程系小学期课程《基于FFmpeg+SDL 的视频播放器的制作》的资料。包括: PPT-PDF:课程的PPT 工具:视音频处理软件以及测试视频 代码:课程中的代码 其它文档:一些参考资料

2015-07-26

QAM调制与解调仿真程序

一个仿真DVB-C(Cable,数字有线电视)系统中QAM调制和解调的程序。在这个程序中,每执行一步操作,都会画出时域信号图和频域信号图,同时会在控制台打印出有关变量的取值,对于理解QAM调制与解调有一定的帮助。

2015-02-21

最简单的基于FFmpeg的内存读写的例子 1.1

本程序实现了FFmpeg对内存中的视频数据的读写。包含两个工程: simplest_ffmpeg_mem_player:播放内存中视频数据的播放器。 simplest_ffmpeg_mem_transcoder:转码内存中数据的转码器。 1.1版本增加了多平台下编译的支持:Windows,MacOS,以及Linux。

2015-02-13

最简单的基于FFMPEG的AVDevice的例子 1.2

FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。因此做了一个FFmpeg中的libavdevice类库的使用例子。 本工程包含两个基于FFmpeg的libavdevice的例子: simplest_ffmpeg_grabdesktop:屏幕录制。 simplest_ffmpeg_readcamera:读取摄像头。 1.2版本增加了多平台下编译的支持:Windows,MacOS,以及Linux。

2015-02-13

TIandSI 3.0 windows

本工具用于计算视频的时间信息(TI,也称为时间复杂度),以及空间 信息(SI,也称为空间复杂度),以上两个指标取自于ITU-R BT.1788标准。 该项目包含了4个工程: TIandSI : 计算YUV数据的TI和SI-图形界面版。 TIandSIcmd : 计算YUV数据的TI和SI-命令行版。 TIandSIpro : 计算压缩码流数据的TI和SI-图形界面版。 TIandSIprocmd : 计算压缩码流数据的TI和SI-命令行版。

2015-05-30

最简单的基于FFmpeg的AVUtil例子 (AVLog, AVOption等)

本程序是FFmpeg中的libavutil的示例,目前包含: AVLog AVOption (AVClass) AVDictionary ParseUtil

2015-07-22

最简单的基于FFmpeg的推流器(以推送RTMP为例) 1.1

本例子实现了推送本地视频至流媒体服务器(以RTMP为例)。是使用FFmpeg进行流媒体推送最简单的教程。 1.1版本增加了多平台下编译的支持:Windows,MacOS,以及Linux。

2015-02-13

最简单的基于FFmpeg的推流器 1.2

本例子实现了推送本地视频至流媒体服务器(以RTMP为例)。 是使用FFmpeg进行流媒体推送最简单的教程。 解决方案包含2个项目: simplest_ffmpeg_streamer: 将本地视频文件推送至流媒体服务器。 simplest_ffmpeg_receiver: 将流媒体数据保存成本地文件。

2015-07-22

最简单的基于FFmpeg的移动端例子

本解决方案包含了使用FFmpeg在移动端处理多媒体的各种例子: [Android] simplest_android_player: 基于安卓接口的视频播放器 simplest_ffmpeg_android_helloworld: 安卓平台下基于FFmpeg的HelloWorld程序 simplest_ffmpeg_android_decoder: 安卓平台下最简单的基于FFmpeg的视频解码器 simplest_ffmpeg_android_decoder_onelib: 安卓平台下最简单的基于FFmpeg的视频解码器-单库版 simplest_ffmpeg_android_streamer: 安卓平台下最简单的基于FFmpeg的推流器 simplest_ffmpeg_android_transcoder: 安卓平台下移植的FFmpeg命令行工具 simplest_sdl_android_helloworld: 移植SDL到安卓平台的最简单程序 [IOS] simplest_ios_player: 基于IOS接口的视频播放器 simplest_ffmpeg_ios_helloworld: IOS平台下基于FFmpeg的HelloWorld程序 simplest_ffmpeg_ios_decoder: IOS平台下最简单的基于FFmpeg的视频解码器 simplest_ffmpeg_ios_streamer: IOS平台下最简单的基于FFmpeg的推流器 simplest_ffmpeg_ios_transcoder: IOS平台下移植的ffmpeg.c命令行工具 simplest_sdl_ios_helloworld: 移植SDL到IOS平台的最简单程序

2015-07-22

TIandSI 3.0

本工具用于计算视频的时间信息(TI,也称为时间复杂度),以及空间 信息(SI,也称为空间复杂度),以上两个指标取自于ITU-R BT.1788标准。 该项目包含了4个工程: TIandSI : 计算YUV数据的TI和SI-图形界面版。 TIandSIcmd : 计算YUV数据的TI和SI-命令行版。 TIandSIpro : 计算压缩码流数据的TI和SI-图形界面版。 TIandSIprocmd : 计算压缩码流数据的TI和SI-命令行版。

2015-05-30

空空如也

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

TA关注的人

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