Good day.
You can add watermark to the stream on server:
1. Capture RTSP stream
2. Create a transcoder using
REST API:
Code:
POST /rest-api/transcoder2/startup HTTP/1.1
HOST: wcs:8081
content-type: application/json
{
"uri": "transcoder2://tcode2",
"localStreamName": "watermarked_rtsp_stream",
"remoteStreamName": "rtsp://rtsp_server:554/stream",
"encoder": {
"videoCodec": "H264",
"watermark": "/opt/watermark_picture.png"
}
}
3. Viewers are playing
watermarked_rtsp_stream
Please read the details about transcoding
here. Note that it requires a lot of server resources: 1 CPU core per 2 720p streams, or 2 CPU cores per 1 1080p stream, server RAM should be at least 64 Gb (Java heap 32 Gb)
You can also draw the picture in clients browser using HTML5 canvas element. Please see
this example which shows how to draw the picture from HTML5 video element on canvas, and
this article about canvas streaming.
In this case, you can send the text (or picture id) to the client using
/data/send REST API query in conjuction with
/connect REST hook which is needed to detect client session Id. You can also implement your own signaling to send a text to the client.