一个流的(.stream)文件是用来将一个复杂的流地址进行简化用的,例如推送到Wowza服务器的MPEG-TS流和来自IP摄像头的RTSP/RTP流、以及native RTP 流。 例如,如果一个流地址是udp://0.0.0.0:10000,你可以创建一个叫做mycoolevent.stream的文件,在这个流地址设置在这个stream文件中。 然后播放器在使用URL请求播放时,就可以用mycoolevent.stream作为流的名字。
你可以根据如何在Wowza Streaming Engine Manager中创建和使用.stream文件中的介绍创建一个stream文件,用它来re-stream MPEG-TS 流 或者是来自IP摄像头的RTSP/RTP流以及SHOUTcast/Icecast流和native RTP流。 当你创建完成一个stream文件后,你可以按下面的介绍在Wowza Streaming Engine Manager中为每一个流添加个性化设置参数:
-
在Stream Files菜单中,点击你需要配置的stream file的名字。
-
点击PropertiesTab页。(注意:访问PropertiesTab页,需要管理员有高级管理权限。
要连接更多关于如何配置访问权限,请参考Manage credentials.)
在Properties Tab页,有两类设置参数: Common (适用于所有类型的流) 和 每一中流类型相关的参数。
下图展示了适用于SHOUTcast-Icecast 流的(http:// URI 类型):例子
-
要启用某一个参数,点击Edit按钮,再选择这个参数的Enabled复选框。
这些参数后被启用后,有一个默认的参数值,你可以在Value输入框中改变它们。完成后,你需要点击Save按钮来保存。
-
下面的部分,介绍了通用参数和每一类流的特殊参数的说明:
设置参考
注意:所有设置参数都是大小写敏感的。
当你在Wowza Streaming Engine Manager的管理界面配置这些参数时,这些参数和值按JSON格式被写入了.stream文件中,(JSON的介绍)。
你也可以须自己在.stream文件中手工添加JSON数据。 下面是一些JSON格式数据的例子:
- 如果参数值是字符串,那么需要加双引号引:stringSetting: "aValue"
-
如果参数值是数字,那么可以是十进制数,也可以是16进制数.十进制数不需要加双引号,但16进制数需要加双引号,并要加上0x 或 x的前缀:
decimalSetting: 3hexSetting1: "0x3"hexSetting2: "x3"
-
如果参数值是布尔类型的,参数值为true 或 false,且不用加双引号:
booleanSetting: truebooleanSetting: false
通用参数
下面的这些参数可以设置在.stream文件中,适用于所有类型的流。JSON notation
{ uri:"udp://192.168.1.100:10000", streamTimeout:5000, reconnectWaitTime:3000 }参数说明
- uri:字符串输入流的流地址。
-
streamTimeout:整数数值
如果是非零的数值,那么在Wowza Streaming Engine 监控这个流的时候,如果中断时间大于这个streamTimeout的值,就会重置这个流。要了解更多,请参考RTP Session 参数说明.
-
reconnectWaitTime:整数数值
尝试重新连接的间歇时间,单位毫秒。
针对MPEG-TS 流 (udp://) 的参数
下面的设置参数是针对MPEG Transport Streams (MPEG-TS)流的。JSON notation
{ uri:"udp://192.168.1.100:10000", streamTimeout:5000, reconnectWaitTime:3000, mpegtsAudioPID:15, mpegtsVideoPID:16, mpegtsProgramID:2, mpegtsAudioLanguage:"spa", mpegtsAudioBitrate:50000, mpegtsVideoBitrate:750000, mpegtsAudioIsAligned:true, mpegtsVideoIsAligned:false, mpegtsAdjustBFrameTimecodes:false, mpegtsDropIncompleteVideoFrames:true, mpegtsLogIncompleteVideoFrames:true, mpegtsMapTimeToSystemTime:false, mpegtsMapTimeToSystemTimeWindow:2000, mpegtsImportAC3:false }
-
mpegtsAudioPID:整数数值
TS流中某一个音频声道信号源的PID
www.ttstream.com 默认值: 默认使用在PMT中发现的第一个音频声道信号源。要了解更多,请参考Ability to select MPEG-TS stream by program ID and audio language as well by PID中的audioPID。
-
mpegtsVideoPID: 整数数值
TS流中某一个视频信号源的PID
默认值: 默认使用在PMT中发现的第一个视频信号源. 要了解更多,请参考Ability to select MPEG-TS stream by program ID and audio language as well by PID中的videoPID。
-
mpegtsProgramID: 整数数值
TS流中某一套节目的Program ID
默认值: 默认使用在PMT中发现的第一个套节目信号源.要了解更多,请参考Ability to select MPEG-TS stream by program ID and audio language as well by PID中的programID。
-
mpegtsAudioLanguage: 三个字符的字符串
请参考ISO 639-2 中的语言代码,可以根据它来选择某一种语音的音频声道信号源。
默认值: 默认使用在PMT中发现的第一个音频声道信号源. 要了解更多,请参考Ability to select MPEG-TS stream by program ID and audio language as well by PID中的audioLanguage。
-
mpegtsAudioBitrate: 整数数值
用于设置音频码率(每秒bit数),配合Wowza Transcoder使用。
默认值: -1
-
mpegtsVideoBitrate: 整数数值
用于设置视频码率(每秒bit数),配合Wowza Transcoder使用。
Default: -1
-
mpegtsAudioIsAligned: Boolean
一些MPEG-TS 编码器输出音频数据包是没有对齐的(unaligned)。这个参数会让Wowza Streaming Engine正确的管理它们。 要了解更多,请参考Properties to fix audio and video alignment中的audioIsAligned。
默认值: true
-
mpegtsVideoIsAligned: Boolean
一些MPEG-TS 编码器输出的视频数据包是没有对齐的(unaligned)。这个参数会让Wowza Streaming Engine正确的管理它们。 要了解更多,请参考Properties to fix audio and video alignment中的videoIsAligned。
默认值: true
-
mpegtsAdjustBFrameTimecodes: Boolean
当MPEG-TS编码器没有为B帧生成时间戳(DTS/PTS),或生成的不正确时,让Wowza Streaming Engine生成这个时间戳。
默认值: false
- mpegtsDropIncompleteVideoFrames: Boolean
当发生丢包时,允许降低帧率。
默认值: false
- mpegtsLogIncompleteVideoFrames: Boolean
当使用mpegtsDropIncompleteVideoFrames降低帧率时,在日志中输出个信息。
默认值: false
- mpegtsMapTimeToSystemTime:Boolean
将DTS/PTS 映射为系统时间。这个参数通常用于多台Wowza服务器的负载均衡配置,时间戳一致后,可以实现平滑切换。
默认值: false
- mpegtsMapTimeToSystemTimeWindow: Integer
Controls the rollover window duration (in milliseconds) around system/PTS/DTS clocks. This is generally used in a parallel origin configuration and ensures that clock rollover is handled identically on all origin servers.
默认值: 2000
- mpegtsImportAC3: Boolean
启用AC-3音频流。它允许Wowza服务器将Mpeg-ts流中的杜比音效Dolby Digital (AC-3) 或 Dolby Digital Plus (Enhanced AC-3)不做任何改变,透传给终端播放器,包括 Apple HTTP Live Streaming (Apple HLS/Cupertino) 以及 MPEG-DASH streaming. 这会让你的用户体验到身临其境般的环绕立体声效果(当然前提是,你的终端播放器需要支持杜比音效解码)。
默认值: false
注意: 基础的MPEG-TS over udp的输入流配置,请参考How to publish and play a live stream (MPEG-TS based encoder).
针对RTSP 流 (rtsp://) 的参数
下面是针对RTSP协议的参数。JSON notation
{ uri:"rtsp://192.168.1.100:10000", streamTimeout:5000, reconnectWaitTime:3000, rtpTransportMode:"udp", rtspValidationFrequency:15000, rtspFilterUnknownTracks:true, rtspStreamAudioTrack:false, rtspStreamVideoTrack:true, rtpDebugSession:true, rtpIgnoreProfileLevelId:true, rtpIgnoreSPropParameterSets:true, rtspBindIpAddress:"192.168.1.1",, rtspRemoveUserInfo:true, rtspSessionTimeout:10000, rtspConnectionTimeout:10000 }参数说明
-
rtpTransportMode: String "udp", "interleave" or "tcp", "tunnel" or "http"
这个参数控制这RTSP协议如何从RTSP源拉视频流。欲知更多,请参考中关于rtpTransportMode参数的说明.
默认值: "udp"
-
rtspValidationFrequency: Integer
这个参数约定了Wowza Streaming Engine 每隔多长时间(毫秒)对RTSP连接进行校验。www.ttstream.com欲知更多,请参考关于RTSP摄像头的一个附加参数.
默认值: 15000
- rtspFilterUnknownTracks: Boolean
将Wowza Streaming Engine不能识别的轨道(Track)数据给过滤掉,欲知更多,请参考关于RTSP摄像头的一个附加参数.
默认值: false
-
rtspStreamAudioTrack: Boolean
这个参数控制RTSP流中的音频轨道数据,启用(true) 或 禁用(false)。欲知更多,请参考如何从一个RTSP源拉流再对外提供流服务?中关于启用和禁用音频和视频轨道数据部分的描述
默认值: true
-
rtspStreamVideoTrack: Boolean
这个参数控制RTSP流中的视频轨道数据,启用(true) 或 禁用(false)。欲知更多,请参考如何从一个RTSP源拉流再对外提供流服务?
默认值: true
-
rtpDebugSession: Boolean
启用这个参数,可以在RTP session的log中增加更多的debug信息,由于数据量太大,在正式运行环境,建议你不要启用这个参数,除非你遇到问题需要看日志来调试。欲知更多,请参考How to re-stream video from an IP camera (RTSP-RTP re-streaming)中关于"如何在RTSP日志中增加等多的debug信息“的章节
默认值: false
-
rtpIgnoreProfileLevelId: Boolean
禁用对 profile-level-id 的解析 (profile level ID 是从SPS/PPS NAL units中来的)。 欲知更多,请参考How to re-stream video from an IP camera (RTSP-RTP re-streaming)中的"Problematic SDP files" 部分的介绍。
默认值: false
-
rtpIgnoreSPropParameterSets: Boolean
如果是true, Wowza Streaming Engine 将忽略Session Description Protocol (SDP) 文件中的sprop-parameter-sets 数据,并采用SPS and PPS packets 中报告的数据(如果能得到这个参数)。 这个设置通常用于摄像头/编码器编码的信息有错误时。
默认值: false
-
rtspBindIpAddress: String
设置RTP over UDP传输流数据时,Wowza Streaming Engine 绑定的IP地址。欲知更多,请参考How to set up an application for RTSP/RTP streaming.
默认: 绑定默认的网卡地址
-
rtspRemoveUserInfo: Boolean
如果设置为 true, 当向一个rtsp源请求流时,去除URL中的username 和 password 信息。
默认值: true
-
rtspSessionTimeout: Integer
设置Wowza Streaming Engine 多长时间发送一次GET_PARAMETER消息,以对rtsp连接进行校验(单位毫秒)。欲知更多,请参考 RTP Session Properties Description.
默认值: 90000
-
rtspConnectionTimeout: Integer
-
rtspUserHeaders: String (format is "key1:value1|key2:value2")
在MediaCaster发出RTSP请求中启用自定义的RTSP报头(header)
注意: 这个设置参数在Wowza Streaming Engine 4.0.6版本中有介绍。