diff --git a/docusaurus/video/docusaurus/docs/api/recording/recording_calls.mdx b/docusaurus/video/docusaurus/docs/api/recording/recording_calls.mdx index 4ee310c2..ba0b718c 100644 --- a/docusaurus/video/docusaurus/docs/api/recording/recording_calls.mdx +++ b/docusaurus/video/docusaurus/docs/api/recording/recording_calls.mdx @@ -5,12 +5,234 @@ slug: /recording/calls title: Recording calls --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + ## Enabling / Disabling call recording + + + +```js +// Disable on call level +call.update({ + settings_override: { + recording: { + mode: RecordSettingsRequestModeEnum.DISABLED, + }, + }, +}); + +// Disable on call type level +client.updateCallType('', { + settings: { + recording: { + mode: RecordSettingsModeEnum.DISABLED, + }, + }, +}); + +// Enable +call.update({ + settings_override: { + recording: { + mode: RecordSettingsRequestModeEnum.AVAILABLE, + }, + }, +}); + +// Other settings +call.update({ + settings_override: { + recording: { + audio_only: false, + quality: RecordSettingsRequestQualityEnum._1080P, + }, + }, +}); +``` + + + + ## Start call recording + + + +```js +call.startRecording(); +``` + + + + +```py +def hello_world(): + print("Hello, world!") +``` + + + + +```go +func main() { + apiKey := os.Getenv("API_KEY") + apiSecret := os.Getenv("API_SECRET") + userID := os.Getenv("USER_ID") + url := os.Getenv("URL") + + if apiKey == "" || apiSecret == "" || userID == "" || url == "" { + panic("API_KEY, API_SECRET, USER_ID and URL env variables must be set") + } + + tokenProvider := videosdk.UserToken(apiSecret, userID, 24*time.Hour) + sdk := videosdk.New(apiKey, tokenProvider) + + token, err := tokenProvider(sdk.APIKey()) + if err != nil { + panic(err) + } + + client := videosdk.NewCoordinatorClientSDK(url, sdk.APIKey(), token) + startResponse, err := client.StartRecording(models.CallTypeDefault, callID, &models.StartRecordingRequest{ + Type: "default", ID: callID, + }) + if err != nil { + panic(err) + } + fmt.Println("response", startResponse) + + stopResponse, err := client.StopRecording(models.CallTypeDefault, callID, &models.StopRecordingRequest{ + Type: "default", ID: callID, + }) + if err != nil { + panic(err) + } + + fmt.Println("response", stopResponse) +} +``` + + + + +```bash +curl -X POST "https://video.stream-io-api.com/video/call/default/${CALL_ID}/start_recording?api_key=${API_KEY}" \ +-H "Authorization: ${JWT_TOKEN}" +``` + + + + ## Stop call recording + + + +```js +call.stopRecording(); +``` + + + + +```py +def hello_world(): + print("Hello, world!") +``` + + + + +```go +func main() { + apiKey := os.Getenv("API_KEY") + apiSecret := os.Getenv("API_SECRET") + userID := os.Getenv("USER_ID") + url := os.Getenv("URL") + + if apiKey == "" || apiSecret == "" || userID == "" || url == "" { + panic("API_KEY, API_SECRET, USER_ID and URL env variables must be set") + } + + tokenProvider := videosdk.UserToken(apiSecret, userID, 24*time.Hour) + sdk := videosdk.New(apiKey, tokenProvider) + + token, err := tokenProvider(sdk.APIKey()) + if err != nil { + panic(err) + } + + client := videosdk.NewCoordinatorClientSDK(url, sdk.APIKey(), token) + startResponse, err := client.StartRecording(models.CallTypeDefault, callID, &models.StartRecordingRequest{ + Type: "default", ID: callID, + }) + if err != nil { + panic(err) + } + fmt.Println("response", startResponse) + + stopResponse, err := client.StopRecording(models.CallTypeDefault, callID, &models.StopRecordingRequest{ + Type: "default", ID: callID, + }) + if err != nil { + panic(err) + } + + fmt.Println("response", stopResponse) +} +``` + + + + +```bash +curl -X POST "https://video.stream-io-api.com/video/call/default/${CALL_ID}/start_recording?api_key=${API_KEY}" \ +-H "Authorization: ${JWT_TOKEN}" +``` + + + + ## List call recording + + + +```js +call.queryRecordings(); + +// optionally query recordings for a specific session +call.queryRecordings(''); +``` + + + + +```py +def hello_world(): + print("Hello, world!") +``` + + + + +```go +TODO +``` + + + + +```bash +curl -X GET "https://video.stream-io-api.com/video/call/default/${CALL_ID}/${SESSION_ID}/recordings?api_key=${API_KEY}" \ +-H "Authorization: ${JWT_TOKEN}" +``` + + + + ## Delete call recording + +// TODO: Add API endpoint