Start
Apart from starting the restreaming manually from inside the room UI, you as a integrator can start it programmatically through the API by calling the POST /rooms/:id/restreamers/start endpoint.
The id uniquely identifies the room you want to start restreaming.
Request
curl --request POST \
--header "Content-Type: application/json" \
--url https://api.digitalsamba.com/api/v1/rooms/c39d7c40-7ff7-4faa-b06f-698a639a9523/restreamers/start \
--user YOUR_TEAM_ID:YOUR_DEVELOPER_KEY \
--data '{"server_url": "rtmps://live.cloudflare.com/live", "stream_key": "................."}'import com.fasterxml.jackson.databind.ObjectMapper;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.util.Base64;
import java.util.Map;
String TEAM_ID = "YOUR_TEAM_ID";
String DEVELOPER_KEY = "YOUR_DEVELOPER_KEY";
String authorizationHeader = "Bearer " + Base64.getEncoder().encodeToString((TEAM_ID + ":" + DEVELOPER_KEY).getBytes());
//Put your room id here - this value is just an example
String roomId = "c39d7c40-7ff7-4faa-b06f-698a639a9523";
Map<String, Object> data = Map.of(
"server_url", "rtmps://live.cloudflare.com/live",
"stream_key", ".........................",
);
String jsonData = new ObjectMapper().writeValueAsString(data);
HttpRequest request = HttpRequest.newBuilder()
.POST(HttpRequest.BodyPublishers.ofString(jsonData))
.uri(new URI("https://api.digitalsamba.com/api/v1/rooms/" + roomId + "/restreamers/start"))
.header("Authorization", authorizationHeader)
.header("Content-Type", "application/json")
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
System.out.println("Status code: " + response.statusCode());
System.out.println("Body: " + response.body());Response (200 -> OK)
Response is empty because the restreaming was started and there is no content to return.
Last updated