setStreamService.lua
[INDEX]

ABSTRACT

Add media service / Set media service / Remove media service

Media service, means service like RTSP/RTMP/HLS/...

KILOVIEW encoders support multiple media stream services cocurrent, and each one can open/close seperately,also these services can dynamic adding/deleting[ Statement: RTSP service and KMP service are fixed service, can't add/delete].

Noted: the up limit services count is 8.

So, when adding a media service and the upper limit is reached, it should return 'Result' value is 406,error message is "LIMIT: ..."

ARGUMENTS

HTTP Arguments submit: POST

Test this API over HTTP - (URL):

Stream
(MUST)

Stream:

main

Main stream

sub

Sub strema

jpeg

Motion JPEG stream

Test value:

ID
(MUST)

Media service ID

To Set/Remove a media service, this ID is got from getStreamService.lua;

To ADD a new media service, set 'ID' value to 'ADD-NEW'

Test value:

Type

When set a media service, this is optional;

To delete a media service, this value *MUST* be 'NONE';

To add a new media service, *MUST* specify this value:

Rtsp_server

RTSP server

Kmp_pullingServer

KILOVIEW Media Protocol pulling service

Rtmp_push

RTMP push service

Rtp_push

RTP push or multicast service

Kmp_push

KILOVIEW Media Protocol push service

Sproxy_push

Specific OEM clients push service, normally please not consider

TS_push

TS/UDP push or multicast service

HLS

HLS(HTTP Live Streaming) service

NONE

A special value. Set 'Type' to be 'NONE', means REMOVE this service. Noted that if media service type is Rtsp_server/Kmp_pullingServer, it can not be removed.

Test value:

Parameters group: Rtsp_server

If media service type is "Rtsp_server", provide these arguments in group:

Enable this group:

>   Rtsp_server.port
INTEGER [In parameter group: Rtsp_server]

RTSP service port, default as 554

Test value:

>   Rtsp_server.session
[In parameter group: Rtsp_server]

RTSP service SessionID

Test value:

>   Rtsp_server.ssm
INTEGER [In parameter group: Rtsp_server]

0|1, whether enable RTSP Multicast service. 1 means enable and 0 means disable.

Test value:

>   Rtsp_server.multicast_addr
[In parameter group: Rtsp_server]

RTSP multicast address

Test value:

>   Rtsp_server.multicast_video_port
INTEGER [In parameter group: Rtsp_server]

multicast video port

Test value:

>   Rtsp_server.multicast_audio_port
INTEGER [In parameter group: Rtsp_server]

multicast audio port

Test value:

>   Rtsp_server.multicast_ttl
INTEGER [In parameter group: Rtsp_server]

multicast TTL value

Test value:

Parameters group: Kmp_pullingServer

If media service type is "Kmp_pullingServer", provide these arguments in group:

Enable this group:

>   Kmp_pullingServer.enabled
INTEGER [In parameter group: Kmp_pullingServer]

0|1, whether enable KMP pulling service. 0 means disable and 1 means enable.

Test value:

Parameters group: Rtmp_push

If media service type is "Rtmp_push", provide these arguments in group:

Enable this group:

>   Rtmp_push.enabled
INTEGER [In parameter group: Rtmp_push]

0|1, whether enable RTMP pushing stream. 0 means disable, 1 means enable.

Test value:

>   Rtmp_push.pubPoint
[In parameter group: Rtmp_push]

RTMP publish point URL

Test value:

>   Rtmp_push.username
[In parameter group: Rtmp_push]

RTMP authentication username

Test value:

>   Rtmp_push.password
[In parameter group: Rtmp_push]

RTMP authentication password

Test value:

>   Rtmp_push.timeout
INTEGER [In parameter group: Rtmp_push]

RTMP connection timeout (unit: seconds)

Test value:

>   Rtmp_push.reconnect_interval
INTEGER [In parameter group: Rtmp_push]

RTMP reconnection interval time after broken (unit: seconds)

Test value:

Parameters group: Rtp_push

If media service type is "Rtp_push", provide these arguments in group:

Enable this group:

>   Rtp_push.enabled
INTEGER [In parameter group: Rtp_push]

0|1, whether enable Rtp pushing function. 0 means disable, 1 means enable.

Test value:

>   Rtp_push.target_video_IP
[In parameter group: Rtp_push]

target video push IP or multicast IP

Test value:

>   Rtp_push.target_video_port
INTEGER [In parameter group: Rtp_push]

target video push port

Test value:

>   Rtp_push.target_audio_IP
[In parameter group: Rtp_push]

target audio push IP or multicast IP

Test value:

>   Rtp_push.target_audio_port
INTEGER [In parameter group: Rtp_push]

target audio push port

Test value:

>   Rtp_push.ttl
INTEGER [In parameter group: Rtp_push]

If target IP is a multicast address, then specifying multicast TTL value

Test value:

Parameters group: Kmp_push

If media service type is "Kmp_push", provide these arguments in group:

Enable this group:

>   Kmp_push.enabled
INTEGER [In parameter group: Kmp_push]

0|1, whether enable KMP pushing. 0 means disable, 1 means enable.

Test value:

>   Kmp_push.pubPoint
[In parameter group: Kmp_push]

KMP publish point URL

Test value:

>   Kmp_push.username
[In parameter group: Kmp_push]

KMP authentication username

Test value:

>   Kmp_push.password
[In parameter group: Kmp_push]

KMP authentication password

Test value:

>   Kmp_push.timeout
INTEGER [In parameter group: Kmp_push]

KMP connection timeout (unit: seconds)

Test value:

>   Kmp_push.reconnect_interval
INTEGER [In parameter group: Kmp_push]

KMP reconnection interval time after broken (unit: seconds)

Test value:

Parameters group: TS_push

If media service type is "TS_push", provide these arguments in group:

Enable this group:

>   TS_push.enabled
INTEGER [In parameter group: TS_push]

0|1, whether enable TS pushing. 0 means disable, 1 means enable.

Test value:

>   TS_push.address
[In parameter group: TS_push]

push target IP address or multicast IP

Test value:

>   TS_push.port
INTEGER [In parameter group: TS_push]

push port

Test value:

>   TS_push.ttl
INTEGER [In parameter group: TS_push]

multicast TTL

Test value:

Parameters group: HLS

If media service type is "HLS", provide these arguments in group:

Enable this group:

>   HLS.enabled
INTEGER [In parameter group: HLS]

0|1, whether enable HLS service. 0 means disable, 1 means enable.

Test value:

>   HLS.session
[In parameter group: HLS]

HLS session ID determines HLS URL path. HLS URL path is http://<ip address>/<session>/playlist.m3u8

Test value:

>   HLS.segmentTime
INTEGER [In parameter group: HLS]

HLS segment time (approximate value, unit is milliseconds). Actual segment time could use this value for reference, but there deviation due to codec data.

Test value:

>   HLS.maxSegments
INTEGER [In parameter group: HLS]

Among the playlist of m3u8, maximum segments number simutaneously. According HLS rules, this value must be >=3}

Test value:

RETURNS

Return a JSON style result. The JSON format is:

{
/*OBJECT*/

"Result":
NUMBER

200 means OK, other error code meanings are similar to HTTP Response.

"Status":
"STRING"

Status message. Responsing result status of API executive, if there errors, it will describe reasons.

"Data": {
/*OBJECT*/

"ID":
"STRING"

Return the ID of the new added, or current modified media service ID. (But no returns if API calling fail)

}
}

OTHER NOTES

Device HTTP API, v1.0