精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
qtssPrefsObjectType类型的对象包含一个描述服务器内部预置存储系统的属性。预置对象(QTSS_PrefsObject)就是这种对象类型的一个实例。这种类型的对象的属性值存储在服务器的配置文件,即streamingserver.xml文件。每个服务器都有一个这种对象类型的实例。
在先前版本的QTSS编程接口中,模块的预置信息被存储在这个对象中。从4.0版本之后,模块的预置信息就被存储在每个模块自己的QTSS_ModuleObject对象中。
表1-17列举出qtssPrefsObjectType类型对象的属性。
请注意:所有的这些属性都不是抢占访问安全的,因此在读取这些属性时,必须调用QTSS_GetValue或者QTSS_GetValuePtr函数,或者在访问时锁定对象,并在访问完成后解锁对象。
属性名称及其描述 | streamingserver.xml 文件中的名称 | 访 问 | 数据类型 |
---|---|---|---|
qtssPrefsRTSPTimeout 服务器告知客户在断开空闲RTSP客户之前准备等待的时间,以秒计。缺省情况下,这个属性的值为0。 | rtsp_timeout | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsRealRTSPTimeout 服务器在断开空闲RTSP客户之前的实际等待时间,以秒计。每次服务器从客户端接收到新的RTSP请求时,这个定时器都会被重置。这个值为0表示永远不超时。缺省情况下,这个属性的值为180。 | real_rtsp_timeout | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsRTPTimeout 服务器在断开空闲的RTP连接之前准备等待的时间,以秒计。每次服务器从客户端接收到新的RTCP状态包时,这个定时器都会被重置。这个值为0表示永远不超时。缺省情况下,这个属性的值为120。 | rtp_timeout | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsMaximumConnections 服务器允许的RTP连接的最大并发数。这个值为1表示允许无限连接数。缺省情况下,这个属性的值为1000。 | maximum_connections | 可读,可写,不是抢占访问安全 | SInt32 |
qtssPrefsMaximumBandwidth 允许服务器使用的最大带宽,以Kb计。如果服务器使用的带宽超过这个值,则向请求流媒体服务的新客户返回453号的RTSP错误,“没有足够的带宽”。这个值为1表示允许服务器使用无限带宽。缺省情况下,这个属性的值为102400。 | maximum_bandwidth | 可读,可写,不是抢占访问安全 | SInt32 |
qtssPrefsMovieFolder 电影目录的根路径。缺省情况下,这个属性的值为/Library/QuickTimeStreaming/Movies。 | movie_folder | 可读,可写,不是抢占访问安全 | char |
qtssPrefsRTSPIPAddr 指定服务器应该接受的RTSP客户所在的IP地址,以带点的十进制数格式表示。这个属性可用于当机器有不止一个IP地址,而您又希望指定服务器应该侦听哪个地址的时候。值为0表示服务器应该接受当前系统中所有激活的IP地址的连接。缺省情况下,这个属性的值为0。 | bind_ip_addr | 可读,可写,不是抢占访问安全 | char |
qtssPrefsBreakOnAssert 如果这个属性值为真,则服务器在满足断言(assert)条件时会进入调试器。缺省情况下,这个属性的值为假(false)。 | break_on_assert | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsAutoRestart 如果这个属性值为真,则服务器在崩溃后会自动重起。缺省情况下,这个属性的值为真(true)。 | auto_restart | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsTotalBytesUpdate 两次更新服务器的字节总数和当前带宽统计值之间的间隔时间,以秒计。缺省情况下,这个属性的值为1。 | total_bytes_update | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsAvgBandwidthUpdate 两次计算服务器平均带宽的间隔时间,以秒计。缺省情况下,这个属性的值为60。 | average_bandwidth_update | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsSafePlayDuration 如果服务器发现自己使用的带宽超出允许的最大带宽(通过计算平均带宽),会试图断开最新建立连接的客户,直到平均带宽下降到可接受的水平。然而,如果客户建立连接的时间比这个属性指定的秒数还长,则不会断开该连接。如果这个属性值设定为0,则服务器将不会断开客户连接。缺省情况下,这个属性的值为600。 | safe_play_duration | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsModuleFolder 指向动态可装载的服务器模块的文件夹路径。在Mac OS X平台上这个属性设置为/Library/QuickTimeStreaming/Moduless,在Darwin平台设置为/usr/local/sbin/StreamingServer/Modules,而在Win32平台则设置为c:\Program Files\DarwinStreamingServer\QTSSModules。 | module_folder | 可读,可写,不是抢占访问安全 | char |
内置的错误日志模块,在所有其它模块装载之前装载,使用如下七个属性: | |||
qtssPrefsErrorLogName 设置错误日志的文件名。缺省情况下,这个属性的值为Error(错误)。 | error_log_name | 可读,可写,不是抢占访问安全 | char |
qtssPrefsErrorLogDir 设置包含错误日志文件的目录路径。缺省情况下,这个属性的值为/Library/QuickTimeStreaming/Logs。 | error_logfile_dir | 可读,可写,不是抢占访问安全 | char |
qtssPrefsErrorRollInterval 滚动错误日志文件的间隔时间,按天计。缺省情况下,这个属性的值为0,表示不滚动错误日志文件。 | error_logfile_interval | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsMaxErrorLogSize 错误日志的最大尺寸,按字节算。值为0表示服务器没有对此设限。缺省情况下,这个属性的值为256000。 | error_logfile_size | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsErrorLogVerbosity 设置错误日志记录器记录信息的详细级别。下面这些值是有意义的:0 = 记录致命错误;1 = 记录致命错误和警告信息;2 = 记录致命错误,警告信息和断言;3 = 记录致命错误,警告信息,断言和调试信息。缺省情况下,这个属性的值为2。 | error_logfile_verbosity | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsScreenLogging 如果这个属性被设置为真(),则每行错误日志都会被写入到终端窗口中。请注意,如果希望看到这些错误日志,服务器必须通过命令行启动,并且通过true-d 选项使之处于前台运行模式。缺省情况下,这个属性的值为真( true)。 | screen_logging | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsErrorLogEnabled 将这个属性设置为真(true)可以激活错误日志功能。缺省情况下,这个属性的值为真(true)。 | error_logging | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsDropVideoAllPacketsDelayInMsec 如果视频数据包在这个属性指定的时间内(以毫秒计)没有被发送出去,则服务器就会将它丢弃。这个属性用于服务器的打薄(thinning)算法中。缺省情况下,这个属性的值为1750。 | drop_all_video_delay | 可读,可写,不是抢占访问安全 | SInt32 |
qtssPrefsStartThinningDelayInMsec 如果数据包在这个属性指定的时间后还没有到达,则服务器开始打薄。缺省情况下,这个属性的值为0。 | start_thinning_delay | 可读,可写,不是抢占访问安全 | SInt32 |
qtssPrefsLargeWindowSizeInK 在Reliable UDP协议中,窗口尺寸(以K字节计)用于高位率的电影。对于没有指定窗口尺寸的客户端,服务器可以使用这个属性的值。缺省情况下,这个属性的值为64。 | large_window_size | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsWindowSizeThreshold 在Reliable UDP(可靠的UDP)中,如果客户没有指定自己的窗口尺寸,则当位率低于这个属性指定的值(以K位/秒计)时,服务器将会使用qtssPrefsSmallWindowSizeInK属性的值作为窗口的尺寸。缺省情况下,这个属性的值为200。 | window_size_threshold | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsMinTCPBufferSizeInBytes TCP套接口发送缓冲区可以被设定的最小尺寸,以字节计。缺省情况下,这个属性的值为8192。 | min_tcp_buffer_size | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsMaxTCPBufferSizeInBytes TCP套接口发送缓冲区可以被设定的最大尺寸,以字节计。缺省情况下,这个属性的值为200000。 | max_tcp_buffer_size | 可读,可写,不是抢占访问安全 | Float32 |
qtssPrefsTCPSecondsToBuffer 在TCP之上进行流媒体服务时,发送缓冲区的尺寸会根据电影的位率进行调整。服务器会根据电影的位率对TCP发送缓冲区进行设定,使其与这个属性指定的时间长度(以秒计)对应的数据相匹配。缺省情况下,这个属性的值为.5。 | tcp_seconds_to_buffer | 可读,可写,不是抢占访问安全 | Float32 |
qtssPrefsDoReportHTTPConnectionAddress 当客户端位于一个round-robin DNS的后面时,需要知道处理客户端请求的机器的IP地址。这个属性告知服务器在通过HTTP建立RTSP通道时,需要在HTTP GET请求中报告自己的IP地址。缺省情况下,这个属性的值为假(false)。 | do_report_http_connection_ip_address | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsDefaultAuthorizationRealm 这个属性指定一个文本,该文本将作为客户登录“领域(realm)”被显示。缺省情况下,这个属性的值为Streaming Server(流媒体服务器)。如果这个属性没有被设定,则显示为Streaming Server(流媒体服务器)。 | default_authorization_realm | 可读,可写,不是抢占访问安全 | char |
qtssPrefsRunUserName 在指定的用户名下运行服务器。缺省情况下,这个属性的值为qtss。 | run_user_name | 可读,可写,不是抢占访问安全 | char |
qtssPrefsRunGroupName 在指定的组名下运行服务器。缺省情况下,这个属性的值为qtss。 | run_group_name | 可读,可写,不是抢占访问安全 | char |
qtssPrefsSrcAddrInTransport 如果这个属性设置为真(true),则服务器会将其源地址加入到传输数据包头部中。对于某些不必知道源地址的网络,这个属性是很必要的。缺省情况下,这个属性的值为假(false)。 | append_source_addr_in_transport | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsRTSPPorts 接受RTSP客户连接的端口。缺省情况下可以使用的是554,7070,8000,和8001端口。如果您需要跨越Internet提供流媒体服务,或者希望位于防火墙后面的客户端可以连接到服务器上,则可以把80端口添加到这个列表中。 | rtsp_port | 可读,可写,不是抢占访问安全 | UInt16 |
qtssPrefsMaxRetransDelayInMsec 在Reliable UDP协议中,重新传输的数据包被发送的时刻和实际发送时刻之间的最大间隔时间,以秒计。这个值越低,传输就越顺畅,但是也会降低服务器的性能。缺省情况下,这个属性的值为500。 | max_retransmit_delay | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsSmallWindowSizeInK 在Reliable UDP协议中,这个属性指定的是用于低位率电影的窗口尺寸(以K字节计)。对于没有指定窗口尺寸的客户,服务器可以使用这个属性的值。缺省情况下,这个属性的值为24。 | small_window_size | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsAckLoggingEnabled 这个属性使服务器产生UDP应答和传输数据包的详细记录。缺省情况下,这个属性的值为假(false)。 | ack_logging_enabled | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsRTCPPollIntervalInMsec 这个属性已经不再被使用,选举已经不再是RTCP的功能了。 | rtcp_poll_interval | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsRTCPSockRcvBufSizeInK 用于接收RTCP数据包的UDP套接口的接收缓冲区尺寸。这个缓冲区需要足够大,以吸收RTCP应答时冲高的数据量。缺省情况下,这个属性的值为768。 | rtcp_rcv_buf_size | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsSendInterval 服务器在向客户端发送数据包前准备等待的最短间隔时间。以毫秒计。缺省情况下,这个属性的值为50。 | send_interval | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsThickAllTheWayDelayInMsec 如果数据包在这个属性指定的时间内发出(负值表示超前),则将流媒体的品质完全恢复。这个属性是服务器打薄算法的一部分。缺省情况下,这个属性的值为-2000。 | thick_all_the_way_delay | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsAltTransportIPAddr 如果您希望在服务器的IP地址之外有另外一个地址附加在传输数据包报头中,则可以用这个属性来指定该地址。缺省情况下,这个属性没有值。 | alt_transport_src_ipaddr | 可读,可写,不是抢占访问安全 | char |
qtssPrefsMaxAdvanceSendTimeTimeInSec 服务器向支持过度缓冲的客户端发送数据包的提前时间量,以秒计。缺省情况下,这个属性的值为25。 | max_send_ahead_time | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsReliableUDPSlowStart 将这个属性设置为真(true)将激活Reliable UDP的慢速启动特性。如果禁用UDP慢速启动,可能会因为对可用带宽估计错误而导致起始阶段丢包率冲高。启用UDP慢速启动则可能导致位率的过早衰减(也称为“打薄”)。缺省情况下,这个属性的值为真(true)。 | reliable_udp_slow_start | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsAuthenticationScheme 将这个属性设置为您希望服务器使用的认证策略。当前支持的值有basic(基本),digest(摘要),和none(无)。缺省情况下,这个属性的值为digest。 | authentication_scheme | 可读,可写,不是抢占访问安全 | char |
qtssPrefsAutoDeleteSPDFiles 这是一个不再使用的预置属性,保留这个属性是为了API的兼容性。 | auto_delete_sdp_files | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsDeleteSPDFilesInterval 服务器检查SDP文件的间隔时间,以秒计。对这个属性所做的修改在当前间隔结束时生效。缺省情况下,这个属性的值为10。服务器也维护一个内部的间隔时间,值为1。 | sdp_file_delete_interval_seconds | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsAutoStart 这个属性已经过时,应该总是设定为假(false)。 | auto_start | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsReliableUDP 如果这个属性设置为真(true),则服务器将可以应客户的请求使用Reliable UDP传输协议。缺省情况下,这个属性的值为真(true)。 | reliable_udp | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsReliableUDPDirs 这个属性指定将Reliable UDP用于哪个目录。服务器将这些目录解释为相对于Movies文件夹(qtssPrefsMovieFolder)的相对目录,开头部分带有斜杠(/),但是结束部分不带斜杠。例如/reliable_udp_dir。缺省情况下,这个属性没有值。 | reliable_udp_dirs | 可读,可写,不是抢占访问安全 | char |
qtssPrefsReliableUDPPrintfs 当这个属性设置为真(true)时,服务器在断开客户连接时将Reliable UDP的统计信息打印到stdout上。这个属性工作的前提是运行服务器时必须使用-d的命令行选项。统计信息包括URL,最大的拥挤窗口,最小的拥挤窗口,最大,最小,以及平均的RTT,被跳过的帧的数目,以及被丢弃的延迟数据包的数目。缺省情况下,这个属性的值为假( false)。 | reliable_udp_printfs | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsDropAllPacketsDelayInMsec 如果数据包延迟的时间达到这个属性指定的毫秒数,服务器就会将它丢弃。这个属性是服务器打薄算法的一部分。缺省情况下,这个属性的值为2500。 | drop_all_packets_delay | 可读,可写,不是抢占访问安全 | SInt32 |
qtssPrefsThinAllTheWayDelayInMsec 如果数据包延迟的时间达到这个属性指定的毫秒数,服务器就会使流尽可能打薄。这个属性是服务器打薄算法的一部分。缺省情况下,这个属性的值为1500。 | thin_all_the_way_delay | 可读,可写,不是抢占访问安全 | SInt32 |
qtssPrefsAlwaysThinDelayInMsec 如果数据包延迟的时间达到这个属性指定的毫秒数,服务器就会开始打薄。这个属性是服务器打薄算法的一部分。缺省情况下,这个属性的值为750。 | always_thin_delay | 可读,可写,不是抢占访问安全 | SInt32 |
qtssPrefsStartThickingDelayInMsec 如果数据包延迟的时间达到这个属性指定的毫秒数,服务器就会开始增厚(thicking)。这个属性是服务器打薄算法的一部分。缺省情况下,这个属性的值为250。 | start_thicking_delay | 可读,可写,不是抢占访问安全 | SInt32 |
qtssPrefsStartQualityCheckIntervalInMsec 服务器检查是否打薄并在必要时进行调整的间隔时间,以毫秒计。这个属性是服务器打薄算法的一部分。缺省情况下,这个属性的值为1000。 | quality_check_interval | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsEnableRTSPErrorMessage 如果这个属性设置为真(true),则服务器会为报告的RTSP错误附加一个内容字符串,描述错误信息。缺省情况下,这个属性的值为假(false)。 | RTSP_error_message | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsEnableRTSPDebugPrintfs 当这个属性设置为真(true)时,服务器会把进入的RTSP请求和输出的RTSP响应打印到stdout上。这个属性工作的前提是运行服务器时必须使用-d的命令行选项。缺省情况下,这个属性的值为假( false)。 | RTSP_debug_printfs | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsEnableMonitorStatsFile 当这个属性设置为真(true)时,服务器会把服务器统计信息写入到监控文件中,该文件可由外部的监控程序读取。缺省情况下,这个属性的值为假(false)。 | enable_monitor_stats_file | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsMonitorStatsFileIntervalSec 服务器将统计信息写入监控文件的间隔时间。缺省情况下,这个属性的值为10。 | monitor_stats_file_interval_seconds | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsMonitorStatsFileFileName 监控文件的名称。缺省情况下,这个属性的值为server_status。 | monitor_stats_file_name | 可读,可写,不是抢占访问安全 | char |
qtssPrefsEnablePacketHeaderPrintfs 如果这个属性设置为真(true),则服务器会将输出的RTP和RTCP数据包的头信息打印到stdout上。这个属性工作的前提是运行服务器时必须使用-d的命令行选项。可用的打印选项请参见qtssPrefsPacketHeaderPrintfOptions属性。缺省情况下,这个属性的值为假 false。 | enable_packet_header_printfs | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsPacketHeaderPrintfOptions 当qtssPrefsEnabledPacketHeaderPrintfs属性为真(true)时,这个属性用于标识应该打印那些数据包报头信息。属性值的选项用分号(;)来分割。缺省情况下,这个属性的值为所有可用的选项,即rtp;rr;sr;app;ack;,表示打印RTP包(rtp),RTCP接收方报告(rr),RTCP发送方报告(sr),RTCP应用程序包(app),以及Reliable UDP RTP应答包(ack)。 | packet_header_printf_options | 可读,可写,不是抢占访问安全 | char |
qtssPrefsOverbufferRate 服务器用这个属性值计算过度缓冲率。这个属性值需要和数据率相乘。缺省情况下,这个属性的值为2.0。 | overbuffer_rate | 可读,可写,不是抢占访问安全 | Float32 |
qtssPrefsMediumWindowSizeInK 在Reliable UDP协议中,这个属性指定用于中等位率电影的窗口尺寸,以K字节计。对于没有指定窗口尺寸的客户端,服务器可以使用这个属性的值。缺省情况下,这个属性的值为48。 | medium_window_size | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsWindowSizeMaxThreshold 这个属性指定用于测量Reliable UDP 带宽的窗口尺寸,以字节计。如果位率大于qtssPrefsWindowSizeMaxThreshold属性指定的值,则窗口尺寸会被设置为qtssPrefsLargeWindowSizeInK属性值。如果位率大于qtssPrefsWindowSizeThreshold属性值且小于或等于qtssPrefsWindowSizeMaxThreshold属性值,则窗口尺寸就会被设置为qtssPrefsMediumWindowSizeInK指定的值。如果位率小于或等于qtssPrefsWindSizeThreshold属性的值,则窗口尺寸就被设定为qtssPrefsSmallWindowSizeInK属性的值。缺省情况下,这个属性的值为1000。 | window_size_max_threshold | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsEnableRTSPServerInfo 如果这个属性设置为真(true),则服务器会将服务器信息添加到RTSP数据包报头。这些信息包括服务器的平台,版本,以及连编(build)号。缺省情况下,这个属性的值为真(true)。 | RTSP_server_info | 可读,可写,不是抢占访问安全 | Bool16 |
qtssPrefsRunNumThreads 如果这个属性值为非零,则服务器将创建指定数量的线程,来处理RTSP和RTP流。否则,服务器会为每个处理器创建一个线程来处理RTSP和RTP流。缺省情况下,这个属性的值为0。 | run_num_threads | 可读,可写,不是抢占访问安全 | UInt32 |
qtssPrefsPIDFile 指定用于写入服务器进程ID的文件名称。缺省情况下,这个属性的值为 /var/run/QuickTimeStreamingServer.pid。 | pid_file | 可读,可写,不是抢占访问安全 | char |
qtssPrefsCloseLogsOnWrite 如果这个属性设定为真(true),则服务器在每次写入数据后会关闭日志文件。 缺省情况下,这个属性的值为假(false)。 | force_logs_close_on_write | 可读,可写,不是抢占访问安全 | Bool16 |