- 博客(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
19099
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
3521
4
原创 MFC对话框中调用CEF浏览器控件(使用2018年新版本的CEF SDK)
如果你是一个Windows程序开发员,要实现在一个对话框中显示网页,那很自然会想到用IE控件。在MFC类库里,有CHTMLView类和CHTMLDialog类专门用来加载网页的。但是很多时候,我们觉得用IE控件很不爽,主要是渲染网页速度慢,还有安全规则比较多,有时候会弹出令人恼火的警告提示框出来。那不用IE控件有没有其他的浏览器插件可以代替呢?那当然有,这里就推荐一个用得比较广泛的插件---CEF...
2019-02-02 18:29:19
3002
2
原创 在MFC窗口中嵌入VLC ActiveX控件,读网络流和本地文件的不同调用方法
关于如何在MFC的窗口中插入VLC ActiveX控件,请看这位大神的一篇文章:https://blog.youkuaiyun.com/zjw12221/article/details/38051183注意不同版本的DLL接口可能有点不同,而我介绍的接口调用方法只在VLC 3.0.2上测过。如上面链接博文所述,在MFC的对话框中插入一个VLC控件后,然后定义一个控件变量,假设变量名为m_VLC,这样在...
2019-02-02 17:22:24
1036
原创 如何读取H264并用RTP发送(VsParserSendH264)
在上一篇博文中介绍了一个H264文件的解析封装类(https://blog.youkuaiyun.com/toshiba689/article/details/86747620),而这篇博文给大家介绍怎么把读出来的H264数据以RTP协议发送出去。我继续以前面读H264的代码为例子,加上发送H264的功能。这个例子的main函数代码如下:int _tmain(int argc, _TCHAR* a...
2019-02-02 16:15:02
1029
原创 如何读取H264文件获得每一帧的数据(VsParserPro)
网上有很多读取H264的封装类,但是大多数都是提取NAL单元的,而我想要的是提取每一帧的数据。并且,很多解析H264的代码都是有Bug的,不是太完善。在这篇博文里我向大家分享一个比较完善的H264的封装类,该代码可以读取H264(注意是裸流文件),并能获得每一帧的数据,以及获取视频的分辨率。下面是这个类的头文件定义://支持分析H264/MPEG4/MPEG2的裸流文件,获得里面每一帧的...
2019-02-02 12:07:28
8797
1
原创 如何滚动显示Word格式的文档
Office的富文档格式显示的内容很丰富,但是在自己的软件中把Word格式的文档显示出来就比较难了。目前,我知道有2种方法:一种是把Word文档转为HTML网页文件,然后通过浏览器控件来显示;另外一个办法是转为RTF格式(可能源Word文档的某些格式内容会丢失),通过RichEditCtrl来显示。这篇文章就给大家展示第二种方式的实现方法,我在资源里提供了一个例子:http://downlo...
2018-03-03 20:39:13
552
原创 制作背景透明图标的小工具(附源代码)
UI开发人员在开发的时候经常使用PNG图标,而图标的背景色一般都要设置为透明的。虽然可以通过Photoshop来做,但是图标多的时候,用Photoshop不大方便。还有对于开发人员,很多不熟悉Photoshop的,如果为处理几个图标去求助美工又显得有点麻烦。我这个工具是就为开发人员提供了一个更简单的方法,只选择点击几下,就可以输出透明的PNG图。 工具截图如下: 工具使用非常简单,这...
2018-03-03 19:15:00
1142
原创 一个统计代码行数的小工具(附源代码)
这个工具实现了统计一个工程里面代码行数的功能,本来网上也有很多这种工具,都是很多觉得不大好用,反正自己开发一个不是很难,所以我就写了一个,也当作一种编程实践。 这个工具支持的功能有: 可以配置过滤文件类型,如果一个工程下有很多类型的文件,有些类型的文件不是代码文件,所以不需要统计行数进去,一般地,C++代码的文件是以.h,.cpp为文件后缀的,这是默认支持的过滤项,但是也可以添加其他类...
2018-03-03 19:03:33
2629
原创 如何基于MFC的CListCtrl实现虚拟列表控件
当我们开发的应用程序中经常用到MFC的列表控件来显示数据,但当数据记录超过上千条甚至上万条时,用CListCtrl的一般模式显示效率就有问题:内存占用大,还有刷新时会比较卡。其实CListCtrl还有一个强大的功能--虚拟列表模式,这种模式是微软专门为显示大数据量的情况而设计的,比如是数据库的列表控件要显示成千上万条记录,显示效率非常高。工作在这种模式下,数据只在需要显示的时候才被回调,刷...
2018-03-03 17:31:33
6303
1
原创 VC开发的类似FlashGet的下载进度条
大家可能都觉得FlashGet的下载进度条很酷是吧?想不想开发一个呢?我自己用VC实现了一个,下面是截图:代码下载地址:http://download.youkuaiyun.com/download/toshiba689/10261734下面讲一下实现思路。首先,定义几个变量:typedef struct{ int start; int end;}BLUE;BLUE b[3...
2018-03-03 14:40:53
320
转载 RTP时间映射及同步
原文链接:http://blog.youkuaiyun.com/yu_yuan_1314/article/details/8963673RTP包中的时间戳字段是说明数据包时间的同步信息,是数据能以正确的时间顺序恢复的关键。时间戳的值给出了分组中数据的第一个字节的采样时间。为了计算各个数据流的播放时间以及同步处理,仅有RTP包中的时间戳信息是不够的。在整个播放过程中,包括这样几种时间,1)RTP包中的rtp t...
2018-03-03 11:26:41
537
原创 关于RTP时间戳以及播放器对时间戳的处理
首先,了解时间戳几个基本概念:时间戳单位:时间戳计算的单位不是秒之类的单位,而是由采样频率所代替的单位,这样做的目的就是为了是时间戳单位更为精准。比如说一个音频的采样频率为8000Hz,那么我们可以把时间戳单位设为1 / 8000。时间戳增量:相邻两帧之间的时间差(以时间戳单位为基准)。采样频率: 有些地方也叫时钟频率,即 每秒钟抽取样本的次数,例如音频的采...
2018-03-03 11:22:02
2910
1
原创 如何在Directshow中使用硬解码功能
在Directshow中使用硬解码一般通过DXVA技术,这是微软针对Windows系统定义的硬件加速解码的一个标准接口,目前很多显卡厂商已经实现了。通过DXVA接口,我们以一种统一的接口形式访问各种显卡的硬件加速(解码)功能,还可以通过API接口设置参数来控制解码的一些流程。但这篇博文不是给大家讲怎么用DXVA API来解码视频,而是介绍另外一种简单的方法:通过LAV Video Deco...
2018-03-01 15:39:17
2700
原创 关于FrameExtractFilter的使用说明
Filter的下载链接:http://download.youkuaiyun.com/download/toshiba689/10264661 这是一个Source Filter,支持读取H264、MPEG2、MPEG4格式的视频流,注意是ES流,不支持常见的MP4、MKV、TS等封装格式。这个Filter是我根据三星S3C6410开发板上的一个例子改的,它实现了IFileSourceFilte...
2018-03-01 15:05:17
386
原创 Directshow的优点与缺点
Directshow是微软研发出来的一个多媒体框架,它能实现常见多媒体应用的功能,比如文件/流的接收读取 、AV文件的解交织(Demux)、音视频的解码、音视频的同步、音视频的展现等。曾几何时,Directshow是Windows平台的一项热门技术,是做Windows多媒体开发的不二之选,在工业上应用得很广泛。现在市面上很流行的播放器,比如MPC,暴风影音,快播等,都是基于Directsho...
2018-02-28 13:48:54
2819
原创 用Directshow从摄像头(采集卡设备)采集图像并录制成AVI、MP4文件的实现方案
之前在一家公司做过一个采集卡的SDK,要求支持基于Directshow架构的视频采集设备(采集卡、USB摄像头)和音频采集设备(麦克风或AV音频输入),能同时采集图像和声音,并把视频和音频编码之后录制成AVI或MP4文件;采集过程中可以预览图像,并且支持在任意时间段录制(即可以在不同的时间点开始录,但需要录完一个才能录下一个);录制的视音频必须同步。 我再补充一些条件,从视频要求编...
2018-02-27 23:00:08
6044
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
521
转载 基于Directshow架构的开源播放器和插件
> MPC-HC MPC-HC,全称Media Player Classic Home Cinema,是Windows平台上一个非常轻量级的开源媒体播放器。它支持所有常见的视频和音频文件格式的播放。它是100%免费的,没有任何广告或后门。MPC-HC的维护: XhmikosR(希腊)------项目管理+官网网页维护 Underground78(法国)------项目管理+代码开发 Nevc...
2018-02-27 15:21:35
722
一个支持读取H264视频流(.264)的Source Filter
2018-03-01
RTSPJukebox RTSP Server:一个开源的Directshow RTSP Filter
2018-02-28
mfc开发的虚拟列表控件例子(包含3个例子)
2018-02-27
用VC实现的虚拟列表控件的3个例子
2018-02-27
基于FFMpeg0.65的音乐播放器源码
2012-10-03
Haali Splitter 分离视频流和音频流
2012-06-07
使用FFMPEG编码的FileStreamEncoder1.1源代码
2012-06-04
FFDShow2012解码器安装包
2012-05-18
RTSPServerDemo1.2
2012-05-16
VC7、VC8转VC6.0工具
2011-11-10
vld 内存泄漏检测工具 for c++
2011-11-10
Programming Microsoft DirectShow for Digital Video and Television
2011-11-09
YUVFilter -- Directshow Transform Filter
2011-11-09
Directshow Filter常见的MediaType汇总
2011-11-02
Directshow Capture Source Filter
2011-11-02
比DirectShow SDK的GraphEdit更强大的工具
2011-11-02
vld内存泄漏监测工具
2011-11-02
MediaInfo查看几乎所有影音文件的编码信息
2008-10-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人