Media Recorder sizing for voice, video, screen - application share recording

Media Recorder sizing for voice, video, screen - application share recording

Voice recording CPU sizing

The table below shows the supported number of simultaneous voice calls per CPU core: 

  • The system was tested up to 16 core servers, where 2 cores must be reserved for the OS, leaving up to 14 CPU cores for the application.

  • When certain features are enabled on the Recording Servers, the capacity numbers change:

    • Encryption: when storage file encryption is enabled, capacity numbers must be decreased by 10%

    • Voice quality check: when voice quality check is enabled, capacity numbers must be decreased by 15%

  • Numbers in red denotes default values, should be used for server sizing

  • Numbers only applicable when Receive-side scaling (RSS) is enabled in the OS

 Storage Codec / Network Codec

 Storage Codec / Network Codec

 Recorded Platform

 

Silk

G.711

G.722

Skype for Business

GSM-FR (Wave)

140

250

160

PCM (Wave)

154

275

176

MS-ADPCM (Wave)

140

250

160

Speex (Ogg)

92

165

106

 

 

G.729

G.711

G.722

Cisco Network-Based Recording

GSM-FR (Wave)

120

175

113

PCM (Wave)

132

193

124

MS-ADPCM (Wave)

120

175

113

Speex (Ogg)

79

116

75

 

 

G.729

G.711 / PCM

G.722

IPTrade, IPC, Speakerbus, BT ITS 1 2

GSM-FR (Wave)

207

300

195

PCM (Wave)

228

330

215

Speex (Ogg)

137

198

129

 

 

G.729

G.711

G.722

Cisco Proxy and Dial-in recording,
ACME Packet / Oracle,
Cisco CUBE, Sonus, MetaSwitch SBCs,
and other SIP/SIPREC recording

GSM-FR (Wave)

120

175

113

PCM (Wave)

132

193

124

MS-ADPCM (Wave)

120

175

113

Speex (Ogg)

79

116

75

 

 

G.729

G.711

G.722

Network port mirroring based
SIP/SCCP recording

GSM-FR (Wave)

170

250

160

PCM (Wave)

187

275

176

MS-ADPCM (Wave)

170

250

160

Speex (Ogg)

112

165

106

 

 

G.729

G.711

G.722

Avaya 1

GSM-FR (Wave)

207

300

195

PCM (Wave)

228

330

215

Speex (Ogg)

137

198

129


1 Simplex stream recording, e.g recording channel mixing on turrets

2 BT ITS supports PCM streams only

Sample calculations

Scenario

CPU sizing

Scenario

CPU sizing

Skype for Business recording for 1000 users

  • Skype for Business uses Silk for most call scenarios

  • GSM-FR is the recommended storage codec

  • To plan for the worst case, we assume 1000 simultaneous calls (duplex streams)

  • Encryption and voice quality checks are not required

  • CPU requirement: 1000 / 140 = 8

Trader voice recording for 500 users

  • Trader voice platforms use G.711 simplex streams for most call scenarios

  • GSM-FR is the recommended storage codec (recorders support VAD to filter out long silence)

  • To plan for the worst case, we assume 4 simplex recording streams per turret (depends on the recording channel mixing configuration)

  • Encryption and voice quality checks are both required

  • CPU requirement: 500 x 4 / (300 x 0.9* x 0.85**) = 9

 * The performance multiplier of the Encryption process
** The performance multiplier of the Voice Quality Check process

Voice recording on co-located Proxy and Media Recorder server CPU sizing

A standalone proxy server can handle 200 concurrent sessions per CPU core in the case of Skype for Business, and 150 in the case of Cisco. The following table shows the sizing in the case of co-located proxy and recording services.

 Storage Codec / Network Codec

 Storage Codec / Network Codec

 Recorded Platform

 

Silk

G.711

G.722

Skype for Business

GSM-FR (Wave)

82

111

89

PCM (Wave)

87

116

94

MS-ADPCM (Wave)

82

111

89

Speex (Ogg)

63

90

69

 

 

G.729

G.711

G.722

Cisco Proxy-Based Recording

GSM-FR (Wave)

56

81

54

PCM (Wave)

60

74

57

MS-ADPCM (Wave)

56

70

54

Speex (Ogg)

43

55

41

Video and Screen Share recording sizing

CPU sizing

When recording video, besides the number of recorded endpoints, the video bandwidth also has to be taken into account.

With a single CPU core, 125 Mbps total video or screen share stream can be recorded. So with the minimum server requirements (4 cores, 2 cores considered as reserved for the OS), the system can record up to 250 Mbps video or screen share streams total.

Video recording 

The bandwidth usage of the video endpoints can vary based on the device types, their configuration, and the available network bandwidth. The following table shows the bandwidths with different video resolutions when using fullscreen video call:

Video resolution

and framerate

Bandwidth

Skype for Business

Cisco

360p @ 30 fps

300 - 800 Kbps

300 - 600 Kbps

480p @ 30 fps

400 - 1500 Kbps

600 - 800 Kbps

720p @ 30 fps

700 - 2500 Kbps

1300 - 2000 Kbps

1080p @ 30 fps

1500 - 4400 Kbps

2000 - 4000 Kbps

However, when using a smaller client window size, or the default, the video resolution changes, therefore the bandwidth as well. The following table shows the bandwidths with different client window sizes in the case of 1080p video call:

Skype for Business client window size

Average bitrate

Maximum bitrate

Skype for Business client window size

Average bitrate

Maximum bitrate

Default

115 Kbps

500 Kbps

Resized

600 Kbps

815 Kbps

Maximized

1730 Kbps

2770 Kbps

Full Screen

2890 Kbps

4415 Kbps

For more information, refer to the following articles:

https://docs.microsoft.com/en-us/skypeforbusiness/plan-your-deployment/network-requirements/network-requirements
https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/srnd/collab12/collab12/cac.html

It is important to note, that the numbers above have to be multiplied by two because there is always an incoming and an outgoing stream.

Calculating with 2*2 Mbps video streams per endpoint, with a single CPU core, 31 concurrent video sessions can be recorded. Therefore, a 4-core Recording Server (2 cores considered as reserved for OS) can record 62 concurrent video sessions.

Numbers only applicable when Receive-side scaling (RSS) is enabled in the OS

Screen Sharing recording

While in the case of the Video calls the bandwidth depends on the resolution and the client window size, in the case of Screen Sharing, the bandwidth depends only on the resolution.

The following table shows the bandwidths with different resolutions, depending on the available network bandwidth:

Screen Resolution

Available network bandwidth

Acceptable

Optimal

1280*800

385 Kbps

1500 Kbps

1440*900

515 Kbps

2000 Kbps

1680*1050

770 Kbps

2750 Kbps

1920*1200

1000 Kbps

3500 Kbps

Acceptable bandwidth provides a decent user experience. When the optimal bandwidth is available, the screen-sharing experience will be much smoother.

Calculating with 2 Mbps screen share streams per endpoint, with a single CPU core, 62 concurrent video sessions can be recorded. Therefore, a 4-core Recording Server (2 cores considered as reserved for OS) can record 124 concurrent video sessions.

Video recording and storage devices

In the case of a high number of recorded video endpoints, the type of the storage device also has to be considered. An HDD usually has a write speed of 50-120 MB/s, while an average SSD has 200-520 MB/s, or even more in the case of high-end devices. The disk utilization for the recording shouldn't be more than 60% and the disk must provide sustained I/O performance at this rate. Numbers only applicable when Receive-side scaling (RSS) is enabled in the OS.

The following table shows some examples for maximum total video bandwidth per Recording Server:

Storage type and
maximum write speed

Maximum video bandwidth at 60% disk utilization
and required recorder cores

Maximum number of recorded video endpoints
(calculating with 2*2,5 Mbps streams per endpoint)

Storage type and
maximum write speed

Maximum video bandwidth at 60% disk utilization
and required recorder cores

Maximum number of recorded video endpoints
(calculating with 2*2,5 Mbps streams per endpoint)

HDD - 50 MB/s

240 Mbps / 2 cores

48 endpoints

HDD - 80 MB/s

384 Mbps / 4 cores

76 endpoints

HDD - 120 MB/s

576 Mbps / 5 cores

115 endpoints

SSD - 200 MB/s

960 Mbps / 8 cores

192 endpoints

SSD - 350 MB/s

1680 Mbps / 14 cores

336 endpoints