Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

REST queries and response states


REST query

Request example

Response example

Response states

Description

/transcoder/startup

Code Block
languagejs
themeRDark
{
 "uri": "transcoder://tcode1",
 "remoteStreamName": "test",
 "localStreamName": "testT",
 "encoder": {
  "width": 640,
  "height": 480,
  "keyFrameInterval": 30,
  "fps": 30
 }
}

409 - Conflict

500 - Internal error


Create transcoder with defined parameters for certain stream


/transcoder/find
Code Block
languagejs
themeRDark
{
 "remoteStreamName": "test"
}
Code Block
languagejs
themeRDark
[
    {
        "localMediaSessionId": "42a92132-bcd1-4436-a96f-3fec36b32b37",
        "localStreamName": "testT",
        "remoteStreamName": "test",
        "uri": "transcoder://tcode1",
        "status": "PROCESSED_LOCAL",
        "hasAudio": true,
        "hasVideo": true,
        "record": false,
        "encoder": {
            "width": 640,
            "height": 480,
            "keyFrameInterval": 30,
            "fps": 30
        }
    }
]

200 – Transcoders found

404 – Transcoders not found

Find the transcoder by certain criteria

/transcoder/find_all


Code Block
languagejs
themeRDark
[
    {
        "localMediaSessionId": "42a92132-bcd1-4436-a96f-3fec36b32b37",
        "localStreamName": "testT",
        "remoteStreamName": "test",
        "uri": "transcoder://tcode1",
        "status": "PROCESSED_LOCAL",
        "hasAudio": true,
        "hasVideo": true,
        "record": false,
        "encoder": {
            "width": 640,
            "height": 480,
            "keyFrameInterval": 30,
            "fps": 30
        }
    }
]

200 – Transcoders found

404 – Transcoders not found


Find all transcoders

/transcoder/terminate

Code Block
languagejs
themeRDark
{
"uri":"transcoder://tcode1"
}

200 - Transcoders is terminated

404 - Transcoder not found

Stop transcoder and its output stream


Parameters


Name

Description

Example

uri

Transcoder URL

transcoder://tcode1
localStreamNameTranscoder output stream name
testT
remoteStreamNameStream name to transcode
test
localMediaSessionIdTranscoder media session Id
42a92132-bcd1-4436-a96f-3fec36b32b37

status

Transcoder state

PROCESSED_LOCAL
hasAudioOutput stream has audio
true
hasVideoOutput stream has video
true
recordOutput stream is recorded
false
Encoder parameters
widthPicture width
640
heightPicture height
480
keyFrameIntervalKey frame generation interval (GOP)
30
fpsFrames per second
30
bitrateBitrate, in kbps
500
typeCodec
OPENH264

Quick manual for testing

1. For test we use

...

By default, if the stream is published with one picture resolution and is requested to play with another resolution, WCS tries to preserve picture aspect ratio. For example, if stream is published on server with resolution 640x360, aspect ratio 16:9, and subscriber requests to play it with resolution 320x240 (4:3), the stream will be transcoded to resolution 320x180 (16:9). If subscriber requests picture width height only (320) without setting heigthwidth, aspect ratio will also be preserved.

...

In this case stream will be transcoded to picture width and height that are requested by subscriber. If subscriber does not set picture height, it wiil be set to 120. If subscriber does not set picture width, it wiil be set to 160.