流媒体学习笔记----配置一个编码进程

原创 2003年09月17日 09:02:00

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

配置一个编码进程

 

  要想完全地配置一个编码程序,下面的接口必须被正确地设置。注意可选择的接口。

1.  The IWMEncAttributes interface (optional).(可选择的,随意的)

2.  The IWMEncBroadcast interface (optional).

3.  The IWMEncDisplayInfo interface (optional).

4.  The IWMEncFile interface (optional).

5.  The IWMEncProfile interface  (必选)

6.  The IWMEncSource interface.  (必选)

7.  The IWMEncVideoSource interface optional

 

或者IWMEncBroadcastIWMEncFile 任选一个为编码内容指定目的地。或者广播出去,或者存放在本地磁盘。或者两者都进行。

下面就每个接口做简要叙述:

The IWMEncAttributes interface (optional)

 

这个属性接口管理一个自定义接口的集合。它包含了一组已经定义好的属性并允许用户自己定义。举例来说,你可以说明一个流的编成日期,通过把字符串“DATE”赋值给属性名,并且这个字符串包含了这个属性值的数据格式。而且,你可以利用这一接口对一目录进行分类。其方法有:Add 增加一个用户新定义的属性。get_Count 得到已经定义好的属性。

Item 得到特定的一项。Remove 移除特定的一项属性。RemoveAll 移除全部属性。

 

The IWMEncBroadcast interface (optional).

 

这个接口管理广播编码内容的协议和端口号。其方法继承于Idispatch 接口。它的方法有

get_PortNumber 返回用于广播编码内容的端口号。其中包含了传输的协议,正确的设置应为HTTP。(Encoder7不支持msdb协议)指定一个端口号用put_PortNumber 方法。

 

The IWMEncDisplayInfo interface (optional).

 

这个接口负责管理编码内容的一些信息。可以设置和读取诸如作者、版权等字符串。作为代表性的,它包含了作者、版权日期、标题、等级以及关于作者对于编码内容所加的一些额外描述信息。它继承于Idispatch 接口。它的方法有:get_Author 得到作者的名字。get_Copyright 得到版权,get_Description 得到关于编码内容的一般性描述信息。get_Description 返回关于内容的等级信息。(质量的好坏) get_Title 得到标题。put_Author

put_Copyrightput_Descriptionput_Ratingput_Title分别为设置相应信息。其中,这些信息的变量类型为BSTR CComBSTR,与CString类型的转化方法为:

BSTR Author(Llet5fly);

CString str;

Str=Author.Copy();

 

The IWMEncFile interface (optional).

 

这个接口用来管理存储编码内容的文件。它继承于 Idispatch  接口。该接口的方法有:get_LocalFileName 得到用来存储编码内容文件的全路径。put_LocalFileName 设置用来存储编码内容文件的全路径。

 

The IWMEncProfile interface

 

这个接口用来得到关于一个具体框架的名字、描述信息和媒体类型。Windows编码器通过一个和被广播内容与客户端用户带宽相匹配的方案(框架)对媒体流进行编码压缩。在一个编码进程中可以有多个方案(框架),但在任一时刻,只有一个是工作的。框架决定了媒体流的输出格式、客户端的带宽、是否被编码成多位率流等。只有一个框架(方案)和一个媒体源组相关联。并且一次只能有一个源被编码。系统定义好的框架不能被改变或移除,但用户可以自己定义。但你必须用框架管理或Windows Media Format SDK进行编辑。你可以通过IWMEncProfileManager接口建立框架管理对话框进行编辑。该接口继承于Idispatch接口。

其方法有:get_Description 返回一个框架的描述信息。get_MaxPacketSize 得到在编码过程中数据包的最大尺寸,单位是字节。get_MediaCount 得到一个框架所支持的音频、视频和脚本的数目。get_MultipleBitrate 得到一个关于框架是否支持多位媒体流的布尔值。get_Name 得到框架的名。put_MaxPacketSize 设置编码过程中最大的数据包大小,单位字节。

The IWMEncSource interface.

这个接口装载一个捕获源,整理和反复一个特定的源。(用于广播的时候)并且得到转换插件程序和数据观察对象。该接口继承于Idispatch接口。有如下方法:

GetInput 得到一个捕获源,通常是一个文件或者插件程序。get_MarkIn 得到一个媒体流的起始点。get_MarkOut 得到一个媒体文件的结束点。get_PostviewCollection 返回一个发送数据窗口的接口(A postview is an IWMEncDataView object that renders content in a window after the content has been both compressed and decompressed)。

get_PreviewCollection 得到一个预览窗口的接口。get_Repeat 得到一个源的循环、反复属性。GetSourcePlugin 得到与源相关联的插件程序,这不是一个自适应的方法。

get_TransformCollection 得到所有的已注册的转换插件的集合。GetTransformPlugin (通过索引,为媒体源)得到一个特定的插件程序,这不是一个自适应的方法。

GetTransformPluginCount 得到可以被利用的所有插件程序的数目。get_Type 得到输入流的类型。 put_MarkIn 指定一个媒体流的开始点。put_MarkOut 指定结束点。put_Repeat

指定流的循环属性。 SetInput 设置输入源。

 

The IWMEncVideoSource  interface [optional].

 

这个接口用于修饰图象,去除一些不好的(无用的)的像素。通常是在视频流和关键图象的边缘。编码器调整图象的大小以适应框架(属性)的要求。该接口继承于IWMEncSource

方法有:get_CroppingBottomMargin 得到与下边缘无关的像素数目。

get_CroppingLeftMargin 得到与左边缘无关的像素数目。get_CroppingMode 得到一个关于处理(修剪)图象的布尔型的值。get_CroppingRightMargin  得到从右边缘移除的像素数。get_CroppingTopMargin 得到从上端边缘移除的像素。 get_Optimization 在编码的时候得到视频最优化的类型。get_PixelFormat 得到视频图象的像素格式。

put_CroppingBottomMargin  put_CroppingLeftMargin  put_CroppingMode 

put_CroppingRightMargin  put_CroppingTopMargin  put_Optimization 

put_PixelFormat  分别为设定具体值。

视音频、流媒体、图像编码标准综述

一 视频编码综述       1. MPEG标准的发展       MPEG是Moving Pictures Experts Group(动态图像专家组)的缩写。是一个致力于数字 视频、音...
  • xjbclz
  • xjbclz
  • 2016年07月07日 20:59
  • 766

H264 流媒体 编码汇总

实时传输协议(RTP)和实时控制协议(RTCP) RTP是一种提供端对端传输服务的实时传输协议,用来支持在单目标广播和多目标广播网络服务中传输实时数据,而实时数据的传输则由RTCP协议来监视...
  • szu030606
  • szu030606
  • 2017年04月14日 00:17
  • 911

搭建自己的流媒体服务器-(1)服务器搭建篇

前言介绍如何搭建自己的流媒体服务器,并逐步实现客户端和服务器之间的通信。本文属于第一篇介绍如何搭建流媒体服务器。流媒体服务器开源的流媒体服务器有很多,本文使用开源流媒体解决方案live555。1. l...
  • crossgowhite
  • crossgowhite
  • 2016年02月19日 15:09
  • 5463

详尽分析流媒体系统包括的三部分并推荐三款好用的直播编码器及流媒体软件系统

流媒体系统包括的三部分:编码器,服务器,解码器(终端播放器) 1. 编码器:它由一台普通计算机、一块高清视频采集卡和流媒体编码软件组成。流媒体采集卡负责将音视频信息源输入计算机,供编码软件处理;...
  • u011579100
  • u011579100
  • 2013年08月16日 10:43
  • 2747

流媒体视频编码资料

一、视频编码原理 视频图像数据有极强的相关性,也就是说有大量的冗余信息。其中冗余信息可分为空域冗余信息和时域冗余信息。压缩技术就是将数据中的冗余信息去掉(去除数据之间的相关性),压缩技术包含帧内图像...
  • u013771273
  • u013771273
  • 2015年02月10日 20:38
  • 931

流媒体开发 -- C#

C++编写的程序,已经可以成功预览到视频了,所以接下来用C#编写流媒体客户端自信了不少。因为通过C++代码测试,可以大概了解难懂的回调函数运作机理,这对于C#编写流媒体客户端的查错打下了良好的基础。不...
  • hyy829119
  • hyy829119
  • 2013年10月03日 18:22
  • 1216

SRS进入20K时代,不仅仅是并发

SRS进入20K时代,不仅仅是并发 2015-05-29 winlin SRS 单进程SRS支持7.5k并发,如果单机需要单机100K并发,可以使用多进程SRS,即SRS-DO...
  • winlinvip
  • winlinvip
  • 2015年05月29日 11:29
  • 4112

Nginx流媒体支持配置

Nginx是一个短小精悍,且性能超强的Web服务器,同时也可以用作反向代理服务器以及邮件服务器。除此之外Nginx也可以用于搭建一个简易的流媒体服务器。基于此,本文描述了在Nginx 1.8之上构建一...
  • robinson_0612
  • robinson_0612
  • 2017年01月16日 17:04
  • 1687

实时监控、直播流、流媒体、视频网站开发方案流媒体服务器搭建及配置详解:使用nginx搭建rtmp直播、rtmp点播、,hls直播服务配置详解

配置详解 注:配置指令的解释基于nginx官方的2013年nginx-rtmp-model文档 1、rtmp{} 是一个用于保存所有rtmp配置的块 在这里就是rtmp直播录播配置的根 2、serv...
  • eguid_1
  • eguid_1
  • 2016年07月04日 17:45
  • 7624

Centos Linux下流媒体服务器Helix配置

一、流媒体技术简介 简单的说,流媒体技术(Streaming Media Technology)是为解决以Internet为代表的中低带宽网络上多媒体信息(以视频、音频信息为重点)传输问题而产生发展...
  • q27687
  • q27687
  • 2015年12月14日 14:10
  • 820
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:流媒体学习笔记----配置一个编码进程
举报原因:
原因补充:

(最多只允许输入30个字)