Cloud Controls

Update: As of completion of LIFE project, the Eriksson Cloud is no longer available. Content below is left for legacy/reference purposes only.

Instructions to ERI cloud are sent using http requests. For manual operation, this can be done using any generic web-browser. Applications implementing cloud control have to generate their own http requests.

The requests are only acted upon if sent to the cloud's IP address (CLOUDIP), port 8080.

List available files on cloud's filesystem

http://CLOUDIP:8080/nfs/list

List currently active UDP streaming processes

http://CLOUDIP:8080/udprtp/list

This list will provide the unique process ID values (PROCESSID) that become useful in stopping ongoing processes.

Stop a currently active UDP streaming process

http://CLOUDIP:8080/udprtp/stop?id=PROCESSID

Monitor system status (incoming ports, outgoing ports, up-and-running instances...)

http://CLOUDIP:8080/lifedist/camera/list

Start a UDP streaming process

Send video file from cloud filesystem to somewhere

h.264 encoded file:

http://CLOUDIP:8080/udprtp/sender?src=FILENAME.h264&host=TARGETIP&port=TARGETPORT

yuv encoded file:

http://CLOUDIP:8080/udprtp/sender?src=FILENAME.yuv&host=TARGETIP&port=TARGETPORT&w=VIDEOWIDTH&h=VIDEOHEIGHT&fr=VIDEOFPS/1&encode=1

Send video file or stream from somewhere to the cloud filesystem

save on cloud as h264:

http://CLOUDIP:8080/udprtp/receiver?sinkfile=FILENAME.h264&port=TARGETPORT

save on cloud decoded in yuv format:

http://CLOUDIP:8080/udprtp/receiver?sinkfile=FILENAME.yuv&decode=1&port=TARGETPORT

Send a videostream from somewhere through cloud to somewhere (uses cloud filesystem, performs transcoding):

http://CLOUDIP:8080/udprtp/rtstreaming?inport=15999&outport=15111&host=<IPv4>&w=320&h=240&fr=25/1&segsize=25&maxseg=10

Multi-Stream Handling in Cloud

Under this configuration, Cloud has one master instance for work delegation and input streaming. Each incoming stream gets allocated a Slave instance that handles transcoding/processing and output-streaming.

  1. Monitoring System Status: http://CLOUDIP:8080/lifedist/camera/list

  2. Create stream in master instance and start transcoding and send stream from one slave instance:

    http://CLOUDIP:8080/lifedist/camera/stream?inport=15100&outport=15600&host=DESTINATIONIP&cameraid=camera01&w=320&h=240&fr=25/1&payload=96&segsize=1&maxseg=60&br=100
    • inport: the master UDP port to receive stream (15000 to 16000)
    • outport: the destination UDP port to send stream (15000 to 16000)
    • host: the destination address to send stream (IPv4)
    • cameraid: the camera ID in format of : camera01, camera02…..camera10
    • w: the resolution of video width
    • h: the resolution of video height
    • fr: the frame rate of video in format of example: 25/1 : 25 frames per second
    • payload: the UDP rtp payload, default as 96
    • segsize: the segment file that save in Cloud in length “second”, default is 1 second
    • maxseg: the number of segment that save in Cloud, the default is 60 (means that 60 seconds cache capability)
    • br: the transcoding bit rate: bits/second. Default is 10000000
  3. Stop previously configured stream's slave transcoding and send stream by camera id:

    http://CLOUDIP:8080/lifedist/camera/stop?cameraid=camera02

    _the command will stop two slave instaces: camera02_1, camera022 which provide transcoding for color stream and depth stream.

  4. (Re-)Start previously configured stream's slave transcoding and send stream by camera id:
    http://CLOUDIP:8080/lifedist/camera/restart?cameraid=camera02

commit: $Id: cloud.controls.md 818 2018-10-12 12:39:45Z elidim $