Good day.
WebRTC itself is intended to real time streaming, so stream cannot be buffered directly. But you can republish a stream as RTMP to localhost, set up RTMP outgoing buffer, then play stream republished as WebRTC
RTSP->WCS->RTMP->WCS->WebRTC->Browser
For example:
1. Set the following parameters in
flashphoner.properties
file
Code:
rtmp_out_buffer_enabled=true
rtmp_out_buffer_start_size=1000
rtmp_out_buffer_initial_size=1000
2. Capture RTSP stream using REST API
Code:
POST /rest-api/rtsp/startup HTTP/1.1
Host: wcs:8081
Content-Type: application/json
{
"uri": "rtsp://server/stream",
"localStreamName": "rtsp_stream1"
}
3. Republish the stream to localhost
Code:
POST /rest-api/push/startup HTTP/1.1
Host: wcs:8081
Content-Type: application/json
{
"streamName": "rtsp_stream1",
"rtmpUrl":"rtmp://localhost:1935/live/stream1",
"rtmpTransponderFullUrl": true
}
4. Play the republished stream
stream1
from WCS in browser via WebRTC
In this case, stream will be buffered while RTMP republishing.