call.startHLSBroadcasting();// to end broadcastingcall.stopHLSBroadcasting();
call.start_hls_broadcasting()# to end broadcastingcall.stop_hls_broadcasting()
call.StartHLSBroadcasting(ctx, &getstream.StartHLSBroadcastingRequest{})// to end broadcastingcall.StopHLSBroadcasting(ctx, &getstream.StopHLSBroadcastingRequest{})
Or, if you're using backstage mode, you can do that when going live:
This method will automatically start the following processes if those are set to auto-on:
HLS broadcast
Closed captions
Transcription
Recording starts in backstage mode, so it's already on at this point
If you set any of the above processes to available you can start them with a corresponding flag.
call.goLive();// Optionally start processes that are set to `available`call.goLive({ // Optionally start HLS broadcast start_hls: true, // Optionally start recording the call start_recording: true, // Optionally start displaying closed captions for call participants start_closed_caption: true, // Optionally start saving the call transcription to a file start_transcription: true, // Optionally select storage for the recording file (if none is specified, the default storage will be used) recording_storage_name: "<storage name>", // Optionally select storage for the transcription file (if none is specified, the default storage will be used) transcription_storage_name: "<storage name",});
call.go_live()# Optionally start processes that are set to `available`call.go_live( # Optionally start HLS broadcast start_hls=True, # Optionally start recording the call start_recording=True, # Optionally start displaying closed captions for call participants start_closed_caption=True, # Optionally start saving the call transcription to a file start_transcription=True, # Optionally select storage for the recording file (if none is specified, the default storage will be used) recording_storage_name="<storage name>", # Optionally select storage for the transcription file (if none is specified, the default storage will be used) transcription_storage_name="<storage name>")
call.GoLive(ctx, &getstream.GoLiveRequest{})// Optionally start processes that are set to `available`call.GoLive(ctx, &getstream.GoLiveRequest{ // Optionally start HLS broadcast StartHLS: getstream.PtrTo(true), // Optionally start recording the call StartRecording: getstream.PtrTo(true), // Optionally start displaying closed captions for call participants StartClosedCaption: getstream.PtrTo(true), // Optionally start saving the call transcription to a file StartTranscription: getstream.PtrTo(true), // Optionally select storage for the recording file (if none is specified, the default storage will be used) RecordingStorageName: getstream.PtrTo("<storage name>"), // Optionally select storage for the transcription file (if none is specified, the default storage will be used) TranscriptionStorageName: getstream.PtrTo("<storage name>"),})
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/livestream/${CALL_ID}/go_live?api_key=${API_KEY}" \ -H "Authorization: ${TOKEN}" \ -H "stream-auth-type: jwt"# Optionally start processes that are set to `available`curl -X POST "https://video.stream-io-api.com/api/v2/video/call/livestream/${CALL_ID}/go_live?api_key=${API_KEY}" \ -H "Authorization: ${TOKEN}" \ -H "stream-auth-type: jwt" \ -H "Content-Type: application/json" \ -d '{ "start_hls": true, # Optionally start HLS broadcast "start_recording": true, # Optionally start recording the call "start_closed_caption": true, # Optionally start displaying closed captions for call participants "start_transcription": true, # Optionally start saving the call transcription to a file "recording_storage_name": "<storage name>", # Optionally select storage for the recording file (if none is specified, the default storage will be used) "transcription_storage_name": "<storage name>" # Optionally select storage for the transcription file (if none is specified, the default storage will be used) }'
Once the live ended, the HLS broadcast will be stopped as well.
Multitracking allows you to provide multiple quality streams to your users, so they can choose the one that fits their network conditions.
Lower quality streams will be downsampled from the highest quality stream. Using portrait and landscape orientations in the same stream is not supported.
To enable multitracking, you need to override the quality_tracks field in the HLS settings or update call type settings on the dashboard.