自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (44)
  • 收藏
  • 关注

原创 实现用FFmpeg接收RTSP,把H264视频和AAC音频录制成MP4文件(附完整代码)

FFmpeg支持Rtsp流接收功能,协议实现已经较为完善,利用FFmpeg还可以将RTSP收到的流录制为某种容器格式。这里我向大家介绍怎么用它的API来实现RTSP接收和录制这两个功能。 我把接收RTSP和录制文件的逻辑都用一个类RtspStreamMuxTask来处理,下面给出这个类的头文件和源文件。RtspStreamMuxTask.h文件:#ifndef RtspS...

2018-03-02 20:48:11 18631 11

原创 一个开源的Directshow RTSP Filter:实现了一个简单的RTSP Server

   如果你是一个Directshow开发员,用过的Filter一定有很多,可能大部分都是Directshow SDK内置的Filter。虽然Directshow SDK已经包含了很多实现了各种功能的Filter,但是由于应用的多样性和复杂性,这些Filter往往还不能满足我们实际应用开发的需求。这时候就需要借助第三方Filter,或者自己来开发Filter。开源的实现了RTSP协议的Direct...

2018-03-01 13:48:46 3394 5

原创 MFC对话框中调用CEF浏览器控件(使用2018年新版本的CEF SDK)

如果你是一个Windows程序开发员,要实现在一个对话框中显示网页,那很自然会想到用IE控件。在MFC类库里,有CHTMLView类和CHTMLDialog类专门用来加载网页的。但是很多时候,我们觉得用IE控件很不爽,主要是渲染网页速度慢,还有安全规则比较多,有时候会弹出令人恼火的警告提示框出来。那不用IE控件有没有其他的浏览器插件可以代替呢?那当然有,这里就推荐一个用得比较广泛的插件---CEF...

2019-02-02 18:29:19 2871 2

原创 在MFC窗口中嵌入VLC ActiveX控件,读网络流和本地文件的不同调用方法

关于如何在MFC的窗口中插入VLC ActiveX控件,请看这位大神的一篇文章:https://blog.csdn.net/zjw12221/article/details/38051183注意不同版本的DLL接口可能有点不同,而我介绍的接口调用方法只在VLC 3.0.2上测过。如上面链接博文所述,在MFC的对话框中插入一个VLC控件后,然后定义一个控件变量,假设变量名为m_VLC,这样在...

2019-02-02 17:22:24 941

原创 如何读取H264并用RTP发送(VsParserSendH264)

在上一篇博文中介绍了一个H264文件的解析封装类(https://blog.csdn.net/toshiba689/article/details/86747620),而这篇博文给大家介绍怎么把读出来的H264数据以RTP协议发送出去。我继续以前面读H264的代码为例子,加上发送H264的功能。这个例子的main函数代码如下:int _tmain(int argc, _TCHAR* a...

2019-02-02 16:15:02 950

原创 如何读取H264文件获得每一帧的数据(VsParserPro)

网上有很多读取H264的封装类,但是大多数都是提取NAL单元的,而我想要的是提取每一帧的数据。并且,很多解析H264的代码都是有Bug的,不是太完善。在这篇博文里我向大家分享一个比较完善的H264的封装类,该代码可以读取H264(注意是裸流文件),并能获得每一帧的数据,以及获取视频的分辨率。下面是这个类的头文件定义://支持分析H264/MPEG4/MPEG2的裸流文件,获得里面每一帧的...

2019-02-02 12:07:28 8340 1

原创 如何滚动显示Word格式的文档

   Office的富文档格式显示的内容很丰富,但是在自己的软件中把Word格式的文档显示出来就比较难了。目前,我知道有2种方法:一种是把Word文档转为HTML网页文件,然后通过浏览器控件来显示;另外一个办法是转为RTF格式(可能源Word文档的某些格式内容会丢失),通过RichEditCtrl来显示。这篇文章就给大家展示第二种方式的实现方法,我在资源里提供了一个例子:http://downlo...

2018-03-03 20:39:13 513

原创 制作背景透明图标的小工具(附源代码)

    UI开发人员在开发的时候经常使用PNG图标,而图标的背景色一般都要设置为透明的。虽然可以通过Photoshop来做,但是图标多的时候,用Photoshop不大方便。还有对于开发人员,很多不熟悉Photoshop的,如果为处理几个图标去求助美工又显得有点麻烦。我这个工具是就为开发人员提供了一个更简单的方法,只选择点击几下,就可以输出透明的PNG图。  工具截图如下:   工具使用非常简单,这...

2018-03-03 19:15:00 1082

原创 一个统计代码行数的小工具(附源代码)

    这个工具实现了统计一个工程里面代码行数的功能,本来网上也有很多这种工具,都是很多觉得不大好用,反正自己开发一个不是很难,所以我就写了一个,也当作一种编程实践。  这个工具支持的功能有:  可以配置过滤文件类型,如果一个工程下有很多类型的文件,有些类型的文件不是代码文件,所以不需要统计行数进去,一般地,C++代码的文件是以.h,.cpp为文件后缀的,这是默认支持的过滤项,但是也可以添加其他类...

2018-03-03 19:03:33 2518

原创 如何基于MFC的CListCtrl实现虚拟列表控件

    当我们开发的应用程序中经常用到MFC的列表控件来显示数据,但当数据记录超过上千条甚至上万条时,用CListCtrl的一般模式显示效率就有问题:内存占用大,还有刷新时会比较卡。其实CListCtrl还有一个强大的功能--虚拟列表模式,这种模式是微软专门为显示大数据量的情况而设计的,比如是数据库的列表控件要显示成千上万条记录,显示效率非常高。工作在这种模式下,数据只在需要显示的时候才被回调,刷...

2018-03-03 17:31:33 5728 3

原创 VC开发的类似FlashGet的下载进度条

大家可能都觉得FlashGet的下载进度条很酷是吧?想不想开发一个呢?我自己用VC实现了一个,下面是截图:代码下载地址:http://download.csdn.net/download/toshiba689/10261734下面讲一下实现思路。首先,定义几个变量:typedef struct{ int start; int end;}BLUE;BLUE b[3...

2018-03-03 14:40:53 284

转载 RTP时间映射及同步

原文链接:http://blog.csdn.net/yu_yuan_1314/article/details/8963673RTP包中的时间戳字段是说明数据包时间的同步信息,是数据能以正确的时间顺序恢复的关键。时间戳的值给出了分组中数据的第一个字节的采样时间。为了计算各个数据流的播放时间以及同步处理,仅有RTP包中的时间戳信息是不够的。在整个播放过程中,包括这样几种时间,1)RTP包中的rtp t...

2018-03-03 11:26:41 480

原创 关于RTP时间戳以及播放器对时间戳的处理

首先,了解时间戳几个基本概念:时间戳单位:时间戳计算的单位不是秒之类的单位,而是由采样频率所代替的单位,这样做的目的就是为了是时间戳单位更为精准。比如说一个音频的采样频率为8000Hz,那么我们可以把时间戳单位设为1 / 8000。时间戳增量:相邻两帧之间的时间差(以时间戳单位为基准)。采样频率: 有些地方也叫时钟频率,即 每秒钟抽取样本的次数,例如音频的采...

2018-03-03 11:22:02 2717 1

原创 如何在Directshow中使用硬解码功能

    在Directshow中使用硬解码一般通过DXVA技术,这是微软针对Windows系统定义的硬件加速解码的一个标准接口,目前很多显卡厂商已经实现了。通过DXVA接口,我们以一种统一的接口形式访问各种显卡的硬件加速(解码)功能,还可以通过API接口设置参数来控制解码的一些流程。但这篇博文不是给大家讲怎么用DXVA API来解码视频,而是介绍另外一种简单的方法:通过LAV Video Deco...

2018-03-01 15:39:17 2430

原创 关于FrameExtractFilter的使用说明

    Filter的下载链接:http://download.csdn.net/download/toshiba689/10264661    这是一个Source Filter,支持读取H264、MPEG2、MPEG4格式的视频流,注意是ES流,不支持常见的MP4、MKV、TS等封装格式。这个Filter是我根据三星S3C6410开发板上的一个例子改的,它实现了IFileSourceFilte...

2018-03-01 15:05:17 341

原创 Directshow的优点与缺点

   Directshow是微软研发出来的一个多媒体框架,它能实现常见多媒体应用的功能,比如文件/流的接收读取 、AV文件的解交织(Demux)、音视频的解码、音视频的同步、音视频的展现等。曾几何时,Directshow是Windows平台的一项热门技术,是做Windows多媒体开发的不二之选,在工业上应用得很广泛。现在市面上很流行的播放器,比如MPC,暴风影音,快播等,都是基于Directsho...

2018-02-28 13:48:54 2647

原创 用Directshow从摄像头(采集卡设备)采集图像并录制成AVI、MP4文件的实现方案

    之前在一家公司做过一个采集卡的SDK,要求支持基于Directshow架构的视频采集设备(采集卡、USB摄像头)和音频采集设备(麦克风或AV音频输入),能同时采集图像和声音,并把视频和音频编码之后录制成AVI或MP4文件;采集过程中可以预览图像,并且支持在任意时间段录制(即可以在不同的时间点开始录,但需要录完一个才能录下一个);录制的视音频必须同步。   我再补充一些条件,从视频要求编...

2018-02-27 23:00:08 5741 7

原创 常用的Directshow分离器

现在多媒体的格式种类非常多,常见的有avi,mkv,mp4,wmv,ts,针对不同的格式,构建Directshow播放任务时必须使用支持这种格式的分离器,以便从文件中分出视频和音频流。下面我就介绍一下常见的几种分离器:1. AVI Splitter FilterDirectshow内置的Splitter插件,支持分离AVI文件。2. WM ASF Reader FilterDirectshow内置...

2018-02-27 16:11:07 444

转载 基于Directshow架构的开源播放器和插件

> MPC-HC MPC-HC,全称Media Player Classic Home Cinema,是Windows平台上一个非常轻量级的开源媒体播放器。它支持所有常见的视频和音频文件格式的播放。它是100%免费的,没有任何广告或后门。MPC-HC的维护: XhmikosR(希腊)------项目管理+官网网页维护 Underground78(法国)------项目管理+代码开发 Nevc...

2018-02-27 15:21:35 645

读取H264+发送RTP包的例子代码--VsParserSendH264

读取H264文件,获得每一帧的数据,然后切分成NAL,封装成RTP包,用UDP发送到网络。

2019-02-02

支持解析H264文件的封装类,可以获得每一帧数据

可以读取H264文件,并从中提取每一帧(是完整一帧,不是NAL)的数据,并能获得视频的分辨率。

2019-02-02

谷歌CEF浏览器控件的使用例子

CEF控件是对WebKit的一个封装,即使用的是谷歌浏览器内核,功能比IE控件要强大。这是一个用MFC应用程序调用CEF控件的例子。

2019-01-09

如何滚动显示Office格式文档

用RichEditCtrl滚动显示富文档格式数据(需要转换为RTF格式)

2018-03-03

一个支持读取H264视频流(.264)的Source Filter

Directshow source filter,读取H264编码的裸流,一般文件后缀为.h264,.264,把读取到的帧传给下一级Filter

2018-03-01

Directshow的GraphEdit工具

Directshow里的一个工具,用于查看和添加Filter,构建和运行Filter Graph的一个测试工具

2018-03-01

RTSPJukebox RTSP Server:一个开源的Directshow RTSP Filter

RTSP服务器,在Directshow中使用的Renderer Filter,Filter支持传入H264视频和AAC音频,实现了RTSP over udp传输,是一个简单易用的RTSP服务器。详细使用方法请浏览我的博客中的一篇文章。

2018-02-28

用VC开发的将图标背景改为透明的小工具(带源码)

将图标中背景色改成透明,输出为PNG文件,不用Phtoshop滤镜也能够生成底色透明的PNG图。

2018-02-27

VC开发的类似FlashGet的下载进度条

实现类似FlashGet的下载进度条,演示了如何在滚动视图里用CImageList绘制小图标,并且避免界面刷新时闪烁。

2018-02-27

一个C++实现的源代码行数统计工具

统计你的工程的代码行数,可以设置过滤的文件类型,支持批量添加文件,用Visual C++开发。

2018-02-27

mfc开发的虚拟列表控件例子(包含3个例子)

实现了3个虚拟列表控件例子,其中有2个例子实现了类似Windows资源管理器的功能显示图片缩略图功能,另外一个例子实现了磁盘目录文件列表的功能。

2018-02-27

用VC实现的虚拟列表控件的3个例子

实现了3个虚拟列表控件例子,其中有2个例子实现了类似Windows资源管理器的功能显示图片缩略图功能,另外一个例子实现了磁盘目录文件列表的功能。

2018-02-27

基于FFMpeg0.65的音乐播放器源码

用FFMPEg解码音频文件,支持非常多的音频文件格式,音频输出用DirectSound,支持Seek播放,有播放进度显示。工程是VC2005编译的,如果你使用的VC低于这个版本,可用prjconverter工具转换工程文件。

2012-10-03

Haali Splitter 分离视频流和音频流

很强大的Directshow分离器,如果你的系统中某些文件不能播放,试试这个,配合FFDshow Decode Filter,基本上所有视频文件都能解码播放。Haali Media Splitter is a DirectShow splitter for .mkv (Matroska), .mp4, .ogg/.ogm, .avi and MPEG TS handling.

2012-06-07

使用FFMPEG编码的FileStreamEncoder1.1源代码

本人写的基于FFmpeg的文件转码工具的源代码,支持文件转码,可以生成MP4、MPG、TS、MKV等格式,支持UDP发送TS流。工程目录里包含工具的使用说明、编译环境设置方法,以及已编译的EXE文件。

2012-06-04

vlc-2.0.1安装包

vlc播放器,可以播放本地文件和网络流(RTSP、RTP、UDP、HTTP),资源占用小,是一个免费的非常好用的播放器。

2012-05-18

FFDShow2012解码器安装包

2012.4月最新的FFShow解码器,FFDShow是一个支持Xvid、MPEG4-V3 MPEG4-V2以及DivX所有版本所制作的视频文件的播放软件,占CPU资源比较少,还有很多画面优化功能,让音频和视频播放更流畅!

2012-05-18

RTSPServerDemo1.2

RTSP服务器,包含采集、编码、发送功能,支持H264、MPEG4视频编码,AAC、MP3音频编码,音视频同步,可用VLC接收。压缩包内包含程序使用说明。

2012-05-16

AAC音频解码器Directshow

包含3个Directshow AAC解码器,需要注册Filter文件才能使用

2011-11-10

VC7、VC8转VC6.0工具

能将VC2003、VC2005的工程转为能被VC6.0打开的工程,使用方法是将工程文件拖到工具的EXE图标中,在工程目录下就会出现一个新工程文件,直接用VC6就能打开了。

2011-11-10

MediaInfo 查看视频文件格式信息工具

能查看所有的媒体文件的格式的封装信息,能查看视频编码格式、帧率、码率、图像大小、音频格式、音频采样率、声道数等信息。

2011-11-10

免费的视频转码工具 avidemux

非常好用的视频转码工具,免费的,有Windows和Linux版本,支持多种媒体格式转码保存,支持文件切割、拼接,可以基于帧编辑。

2011-11-10

vld 内存泄漏检测工具 for c++

开源的内存泄漏检测工具,可以定位到发生内存泄漏的代码行。压缩包里的Readme文件有详细的使用说明,补充一下:如果在你的工程中使用时发现不能定位到代码行,可能你的工程目录的路径中有中文名称,确认你的工程路径的上一级目录的名称为英文名或数字。

2011-11-10

AAC音频解码器

包含三个aac音频解码器,Directshow Filter文件,需要用DirectShow解码AAC音频,试试这几个吧。

2011-11-10

Programming Microsoft DirectShow for Digital Video and Television

学习Directshow的英文教程,微软MVP写的,英文的强的读者可以下来看看。代码在本站可以搜索到。

2011-11-09

YUVFilter -- Directshow Transform Filter

一个Directshow Transform Filter,接受上一级的YUV数据并转为RGB8格式,输出的图像是灰度图。这个Filter是我发表的另一个资源(Directshow Transform Filter例子)的升级版,上一个发表的Filter只支持接受上一级的UYVY格式媒体类型,但这个可接受UYVY和YUY2,所以这个Filter的实用性更加强。

2011-11-09

Directshow Filter常见的MediaType汇总

你知道H264、AAC、MPEG2、MP4V的媒体格式类型(MediaType)的GUID是什么吗,这个头文件是从MPC工程提取出来的,包含常见的编码格式的媒体类型GUID,方便开发Filter的开发者查阅。

2011-11-02

一个从电视卡采集图像的Directshow封装类

启动视频采集设备(电视卡、摄像头),采集图像并显示到窗口,用C++开发的Directshow封装类

2011-11-02

Directshow Capture Source Filter

虚拟视频采集设备,一个PushSource Filter,老外写的。没有摄像头也能采集图像数据,不过输出的图像是马赛克的。

2011-11-02

比DirectShow SDK的GraphEdit更强大的工具

Directshow SDK的GraphEdit相信所有Directshow开发员都用过,但会发现它显示的Filter和Pin的信息还不是很充足,这个工具是对GraphEdit的补充,它的强大之处在于可以显示两个连接的Pin协商的MediaType类型详细信息

2011-11-02

Direct3D游戏开发编程基础源代码

Direct3D游戏编程的经典的入门教程,包含教程PDF及源代码

2011-11-02

vld内存泄漏监测工具

Visual Leak Detector (VLD), 帮助开发者找出程序发生内存泄漏的代码地址,在调试模式下包含相关的头文件和库,程序退出后在Debug信息里就会显示发生泄漏的地方的函数堆栈

2011-11-02

使用VC打印的相关例子

演示如何用VC开发打印页面的程序,附有代码

2011-11-02

获取系统信息(CPU、内存大小、操作系统版本及其他)

获取CPU、内存大小、硬盘大小、操作系统版本、打印机名称、显卡名称信息,目前只在Windows XP上测试过。

2011-11-02

Direct3D拾取物体例子代码

老外写的代码,演示如何在3D世界里拾取物体

2011-11-02

Direct3D Sample程序 Lesson7

演示Texture和光照的使用,代码里有详细的注释,适合入门者阅读学习

2011-11-02

Direct3D的Sample程序 Lesson6

一个Direct3D的简单例子,演示了顶点缓冲和Texture的使用

2011-11-02

Direct3D教程

包含几个中文版的Direct3D教程,教程通俗易懂,并附有实例代码

2011-11-02

MediaInfo查看几乎所有影音文件的编码信息

对目前大多数格式都支持,通过右键菜单查看文件编码信息,视频与音频的编码信息分开显示,并且有多种视图显示方式,非常清晰详细,是Directshow开发员必备的好用工具

2008-10-25

AAC 音频Decode Filter

基于faac库,生成一个Directshow Filter,能解码AAC音频数据,解码效率很高

2008-10-25

空空如也

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

TA关注的人

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