setStreamService.lua
[返回首页]

API说明

添加流媒体服务 / 设置指定码流、指定媒体服务的参数 / 删除一个流媒体服务

媒体服务,是指RTSP/RTMP/HLS/...等服务。

KILOVIEW编码器产品,支持多种流媒体服务功能,并且每一项功能均可设定开启/关闭,或动态添加/删除服务[ 说明:RTSP服务和KMP服务为固定存在的服务,不能添加/删除]。

注意:产品内部会有限定支持服务的数量(当前为8)。

所以,新增媒体服务时,如果到达服务支持数量上限,返回值将为406,错误信息为"LIMIT: ..."

参数

HTTP提交参数:POST

通过HTTP测试该API调用 (URL):

Stream
(必需参数)

指定要设定媒体服务的码流。

main

主码流

sub

子码流

jpeg

Motion JPEG码流

测试值:

ID
(必需参数)

媒体服务ID。

如果修改某个媒体服务参数,该参数应通过 getStreamService.lua API获取;

如果要新增一个媒体服务,该值请设定为 "ADD-NEW"

测试值:

Type

当更改媒体服务类型时,值可选。

当要求删除一个服务时,该值必须指定为NONE(参见下方描述)

新增一个媒体服务时,该值必须指定。

值可能为:

Rtsp_server

RTSP服务

Kmp_pullingServer

KILOVIEW Media Protocol的拉取服务

Rtmp_push

RTMP推送服务

Rtp_push

RTP推送或组播服务

Kmp_push

KILOVIEW Media Protocol的推送服务

Sproxy_push

特定OEM客户的推送服务,一般情况下请勿考虑

TS_push

TS/UDP推送或组播服务

HLS

HLS(HTTP Live Streaming)服务

NONE

这是一个特殊值。如果指定Type为NONE,表示移除该服务。注意,对于Rtsp_server/Kmp_pullingServer类型的服务,是不可以移除的。

测试值:

参数组: Rtsp_server

如果服务类型为 "Rtsp_server",可提供本组以下参数:

允许这个参数组:

>   Rtsp_server.port
整数[隶属于参数组 Rtsp_server]

RTSP服务端口,默认为554

测试值:

>   Rtsp_server.session
[隶属于参数组 Rtsp_server]

会话ID, RTSP服务的SessionID

测试值:

>   Rtsp_server.ssm
整数[隶属于参数组 Rtsp_server]

0|1, 是否开启RTSP Multicast服务。1表示开启,0表示关闭。

测试值:

>   Rtsp_server.multicast_addr
[隶属于参数组 Rtsp_server]

RTSP组播的Multicast地址

测试值:

>   Rtsp_server.multicast_video_port
整数[隶属于参数组 Rtsp_server]

multicast视频端口

测试值:

>   Rtsp_server.multicast_audio_port
整数[隶属于参数组 Rtsp_server]

multicast音频端口

测试值:

>   Rtsp_server.multicast_ttl
整数[隶属于参数组 Rtsp_server]

multicast TTL值

测试值:

参数组: Kmp_pullingServer

如果服务类型为 "Kmp_pullingServer",可提供本组以下参数:

允许这个参数组:

>   Kmp_pullingServer.enabled
整数[隶属于参数组 Kmp_pullingServer]

0|1,是否开启KMP拉流服务。0关闭,1开启。

测试值:

参数组: Rtmp_push

如果服务类型为 "Rtmp_push",可提供本组以下参数:

允许这个参数组:

>   Rtmp_push.enabled
整数[隶属于参数组 Rtmp_push]

0|1, 是否开启RTMP推流。0关闭,1开启。

测试值:

>   Rtmp_push.pubPoint
[隶属于参数组 Rtmp_push]

RTMP推流的发布地址URL

测试值:

>   Rtmp_push.username
[隶属于参数组 Rtmp_push]

RTMP推流身份认证用户名

测试值:

>   Rtmp_push.password
[隶属于参数组 Rtmp_push]

RTMP推流身份认证用户密码

测试值:

>   Rtmp_push.timeout
整数[隶属于参数组 Rtmp_push]

RTMP连接超时(单位:秒)

测试值:

>   Rtmp_push.reconnect_interval
整数[隶属于参数组 Rtmp_push]

RTMP断开后重连的间隔时间(单位:秒)

测试值:

参数组: Rtp_push

如果服务类型为 "Rtp_push",可提供本组以下参数:

允许这个参数组:

>   Rtp_push.enabled
整数[隶属于参数组 Rtp_push]

0|1, 是否开启Rtp推送功能。0关闭,1开启。

测试值:

>   Rtp_push.target_video_IP
[隶属于参数组 Rtp_push]

视频目标推送IP或组播IP

测试值:

>   Rtp_push.target_video_port
整数[隶属于参数组 Rtp_push]

视频目标推送端口

测试值:

>   Rtp_push.target_audio_IP
[隶属于参数组 Rtp_push]

音频目标推送IP或组播IP

测试值:

>   Rtp_push.target_audio_port
整数[隶属于参数组 Rtp_push]

音频目标推送端口

测试值:

>   Rtp_push.ttl
整数[隶属于参数组 Rtp_push]

如果目标IP为Multicast地址,指定组播TTL值

测试值:

参数组: Kmp_push

如果服务类型为 "Kmp_push",可提供本组以下参数:

允许这个参数组:

>   Kmp_push.enabled
整数[隶属于参数组 Kmp_push]

0|1, 是否开启KMP推送。0关闭,1开启。

测试值:

>   Kmp_push.pubPoint
[隶属于参数组 Kmp_push]

KMP推流的发布地址URL

测试值:

>   Kmp_push.username
[隶属于参数组 Kmp_push]

KMP推流身份认证用户名

测试值:

>   Kmp_push.password
[隶属于参数组 Kmp_push]

KMP推流身份认证用户密码

测试值:

>   Kmp_push.timeout
整数[隶属于参数组 Kmp_push]

KMP连接超时(单位:秒)

测试值:

>   Kmp_push.reconnect_interval
整数[隶属于参数组 Kmp_push]

KMP断开后重连的间隔时间(单位:秒)

测试值:

参数组: TS_push

如果服务类型为 "TS_push",可提供本组以下参数:

允许这个参数组:

>   TS_push.enabled
整数[隶属于参数组 TS_push]

0|1, 是否开启TS推送。0关闭,1开启。

测试值:

>   TS_push.address
[隶属于参数组 TS_push]

推送目标IP地址或组播IP

测试值:

>   TS_push.port
整数[隶属于参数组 TS_push]

推送端口

测试值:

>   TS_push.ttl
整数[隶属于参数组 TS_push]

组播的TTL

测试值:

参数组: HLS

如果服务类型为 "HLS",可提供本组以下参数:

允许这个参数组:

>   HLS.enabled
整数[隶属于参数组 HLS]

0|1, 是否开启HLS服务。0关闭,1开启。

测试值:

>   HLS.session
[隶属于参数组 HLS]

HLS的会话ID。决定HLS的URL路径。HLS的最终访问路径为 http://<ip address>/<session>/playlist.m3u8

测试值:

>   HLS.segmentTime
整数[隶属于参数组 HLS]

HLS切片时长(近似值,单位毫秒),实际切片时长以该值为参照,但可能会因为编码数据的原因有所偏差

测试值:

>   HLS.maxSegments
整数[隶属于参数组 HLS]

在一个m3u8的playlist中,最多同时允许存在的切片数。按HLS规范,该值必须 >=3}

测试值:

返回

返回JSON格式的结果。该JSON数据的格式如下:

{
/*对象*/

"Result":
数值

200表示OK, 其它错误码含义类似于HTTP Response.

"Status":
"字符串"

状态消息。反馈API执行的结果状态,如有错误,将描述出错的原因。

"Data": {
/*对象*/

"ID":
"字符串"

返回新增,或当前修改媒体服务的ID。注:仅当成功执行操作时才会返回。

}
}

其它说明

KILOVIEW Device HTTP API, v1.0