流媒体
DotNet灵魂
知而达智 智而达远
展开
-
常用视频编码解码器
视频部分Working video codecscodec namefourcccodecfileoutcommentsMPEG-PES output (.mpg or DXR3/DVB card)--MPESfor hardware decodingMPEG-1 or 2转载 2008-10-09 15:03:00 · 19940 阅读 · 0 评论 -
DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
1. CRendererInputPin类[renbase.h/renbase.cpp]派生自CBaseInputPin。a) 成员变量:CBaseRenderer *m_pRenderer;b) IPin接口和继承的函数HRESULT BreakConnect();{ HRESULT hr = m_pRenderer->BreakConnec转载 2009-02-13 10:28:00 · 1101 阅读 · 0 评论 -
DirectShow SDK笔记【关于DirectShow(1)】
About DirectShow 本节描述DirectShow的整体结构。本节包含的内容比较丰富,我们可能不需要知道所有的这些知识。因此,我们首先应该选择浏览全部的内容,然后根据实际应用程序的需要查看Using DirectShow的内容。如果有关于DirectShow结构的特殊问题,可以再回过来参考本节的内容。 1. DirectShow System Overview转载 2008-12-08 11:36:00 · 670 阅读 · 0 评论 -
DirectShow SDK笔记【关于DirectShow(2)】
2.5 How Hardware Devices Participate in the Filter Graph 本节描述DirectShow是如何与音频、视频设备进行交互。 2.5.1 Wrapper Filters 所有的DirectShow Filters都是用户组件模式的软件组件。为了把内核模式的硬件设备,比如视频捕捉卡等加入倒转载 2008-12-08 11:40:00 · 804 阅读 · 0 评论 -
DirectShow SDK笔记【关于DirectShow(3)】
4.3 Filter States Filter有三种状态,停止,暂停,运行。暂停状态是为了在Graph中Cue Data, 使得运行命令可以立即响应。Filter Graph Manager控制着所有状态的转换。当应用程序调用IMediaControl的Run, Pause, Stop方法时, Filter Graph Manager就调用所有Filter的相应IMediaFilte转载 2008-12-08 11:44:00 · 614 阅读 · 0 评论 -
DirectShow SDK笔记【关于DirectShow(4)】
6 Time and Clocks in DirectShow 6.1 Reference Clocks 参考时钟是Filter Graph Manager用来同步所有Filter的。任何一个暴露了IReferenceClock 接口的对象都可以作为参考时钟。参考时钟可以是Filter提供,例如声卡就可以提供一个硬件的时钟。作为应变,Filte转载 2008-12-08 11:48:00 · 628 阅读 · 0 评论 -
关于directshow的开发常见问题
一、配置方法1、先编译Samples/C++/DirectShow/BaseClasses中的工程文件。注意工程的默认选项是Debug_Unicode的,在非Unicode的工程中使用还需要编译Debug版本的。“DXSDK90/SAMPLES/C++/DIRECTSHOW/BASECLASSES/baseclasses.dsw的release版本”,指的是运行DXSDK90/SAMPLE转载 2008-12-12 18:37:00 · 943 阅读 · 0 评论 -
编译FilterTitleOverlay和SimplePlayer时碰到的问题
用VS.NET 2003编译《DirectShow实务精选》中的FilterTitleOverlay例子,碰到以下问题:1.C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/atlmfc/include/atlcomcli.h(799): error C2059: 语法错误 : “catch”C:/Program Files/Micros转载 2008-12-12 18:46:00 · 642 阅读 · 0 评论 -
基于WMS9SDK的插件开发
最近一段时间一直在研究wms,因为大多数流媒体平台都离不开它,当然helix也不错!WMS 即windows media services ,是微软提供的搭建流媒体平台的服务,主要支持mms协议,当然9 系列也支持rtsp协议,有很多优点,不在这一一讲解。这里主要阐述基于 Windows Media Services系列9SDK和 .NET 框架定制插件程序的一些关键内容。其实现步骤主要分为:一.转载 2009-03-05 14:14:00 · 1003 阅读 · 0 评论 -
Direct Show开发 快速入门之事件通知机制
摘要:这篇文档描述DirectShow中事件产生的机制,以及应用程序是如何处理事件的。 概述事件是Graph图和应用程序之间互相通信的机制,类似于消息机制。当某个事件发生时,比如数据流结束,产生一个错误等,Filter就要给 Filter图表管理器(Graph Manager)发送一个事件通知。Filter图表管理器处理其中的一部分事件,将其他事件要交给应用程序处理。如果图表管理器没有处理一个 f转载 2009-01-18 17:39:00 · 1131 阅读 · 0 评论 -
DirectShow 学习(五) CSource类和其一个具体实现例子的源代码分析
1. CSourceStream类,是CSource类的OutputPin[source.h/source.cpp]派生自CAMThread和CBaseOutputPinl 成员变量:CSource *m_pFilter; // The parent of this streaml 新增加的virtual函数:// Override thi转载 2008-12-30 11:49:00 · 937 阅读 · 0 评论 -
DirectShow 学习(一) COM实现部分和部分辅助源码浅读
1. BaseClasses中实现COM的部分源代码分析[combase.h/combase.cpp] o class CBaseObject是BaseClasses中的基类,它只维护一个m_cObjects的计数信息。同时它只支持输入名称的Constructor。 o CUnknown是实现了COM的基类,它从INonDelegationUnknow转载 2008-12-30 11:43:00 · 1050 阅读 · 1 评论 -
ASF学习笔记
设置(Profile)一个设置是一个ASF的配置(configuration)的描述数据集合。一个设置必须至少包含一个流的配置设置。流信息设置中的流信息包含流的比特率(bit rate),缓冲窗口和媒体属性的设置。视频和音频的流信息准确描述了文件中的媒体配置,包括压缩数据使用的编码和解码器(如果有的话)。一个设置也包含很多创建ASF文件时使用的ASF的特性,这包括互斥、媒体优先级、带宽转载 2008-10-31 16:51:00 · 2602 阅读 · 0 评论 -
DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析1. CRendererInputPin类[renbase.h/renbase.cpp]派生自CBaseInputPin。a) 成员变量:CBaseRenderer *m_pRenderer;b) IPin接口和继承的函数HRESULT BreakConnect();转载 2008-12-30 11:52:00 · 1094 阅读 · 0 评论 -
DirectShow学习(二)CBasePin类、CBaseOutputPin类和CBaseInputPin类源代码解析
DirectShow 学习(二):CBasePin类、CBaseOutputPin类和CBaseInputPin类源代码解析1. IPin接口IPin : public IUnknown{ public: // 连接两个Pin,主动连接InputPin virtual HRESULT STDMETHODCALLTYPE Connect(转载 2008-12-30 11:45:00 · 1065 阅读 · 0 评论 -
DirectShow 学习(三) CBaseFilter类源代码解析
1. IAMovieSetup接口定义IAMovieSetup : public IUnknown{public:// Adds the filter to the registry.virtual HRESULT STDMETHODCALLTYPE Register( void) = 0;// Removes the filter from the registry.vir转载 2008-12-30 11:45:00 · 898 阅读 · 0 评论 -
DirectShow 学习(四) 部分Helper Classes类源代码分析
1. CRefTime类[reftime.h]CRefTime类维护了REFERENCE_TIME m_time;的成员变量。单位为100ns。另外,几个跟该类相关的宏:const LONGLONG MILLISECONDS = (1000); // 10 ^ 3const LONGLONG NANOSECONDS = (1000000000); //转载 2008-12-30 11:47:00 · 1098 阅读 · 0 评论 -
mpeg4网络视频传输
我目前搭建的mpeg4网络视频传输系统很简单:只有视频没有音频网络打包发送和接受的sender和receiver filter由directx9.0里面的dsnetwork例子修改而来因此只有网络组播功能,没有rtp功能(这个功能大家可以尝试用jrtplib.lib解决)我没有深入探讨dsnetwork的机理,只是简单把原例子的mpeg-2改成了自己所需的编码格式,实际上我是改成了DIVX格式。。转载 2008-12-30 11:04:00 · 1815 阅读 · 4 评论 -
DirectShow 学习(六) CTransfromFilter及相关联Pin类的源代码解析
DirectShow 学习(六): CTransfromFilter及相关联Pin类的源代码解析1. CTransformInputPin类派生自CBaseInputPin。a) 成员变量CTransformFilter *m_pTransformFilter;b) IPin的接口函数:STDMETHODIMP QueryId(LPWST转载 2008-12-30 11:50:00 · 829 阅读 · 0 评论 -
DirectShow 学习(七) CTransInPlaceFilter及相关联Pin类的源代码解析
DirectShow 学习(七): CTransInPlaceFilter及相关联Pin类的源代码解析1. CTransInPlaceInputPin类[transip.h/transip.cpp]派生自CTransformInputPin。a) 成员变量:CTransInPlaceFilter * const m_pTIPFilter; // our fil转载 2008-12-30 11:51:00 · 932 阅读 · 0 评论 -
WMS授权插件开发备忘
下载完platform sdk 从media server的C:/WINDOWS/system32/windows media/server目录下面把Microsoft.WindowsMediaServices.DLL拷贝到自己的开发机器上. 建一个c#的class library项目,引用刚才的dll. 给类加上GUID的属性 授权插件的接口为:IWMSBasicPlugin和IWMSEvent转载 2009-03-09 09:34:00 · 1072 阅读 · 0 评论