Concurrent video streaming limits on desktop SDKs

When implementing a custom meeting UI, you may notice that there are limits to how many videos can be displayed concurrently. There are limits imposed by Zoom's back end which ensure that the meeting-related services maintain a level of integrity at all times for all users. Below is some information that may help you account for these limits within your application.

(Note: self video, AKA local video, does not count towards these limits)

Subscription rules by resolution

1080p (Full HD)

At most 1 Full HD video subscription in a meeting

720p (HD)

At most 2 Full HD video subscription in a meeting

Mix of Full HD & HD

SDK does not support mixing Full HD and HD resolutions. 1 Full HD + 1 HD, 1 Full HD + 2 HD, etc. will result in an error

360p/180p/90p

At most 34 90p video subscriptions in a meeting,

At most 17 180p video subscriptions in a meeting(One 180p = Two 90p),

At most 4 360p video subscriptions in a meeting(One 360p = Eight 90p)

View size and resolution

View Size

        <figure class="sc-hORach kbCxgi">
          <div class="sorting-icon-svg__no_order table-sorting-icon-inactive sc-bMVAic grNdFR">&nbsp;
        </figure>
      </div>
    </figure>
  </th>
  <th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1" data-colwidth="456">
    <p data-renderer-start-pos="1127">
      <strong data-renderer-mark="true">Subscribe size</strong>
    </p>
    <figure class="ak-renderer-tableHeader-sorting-icon ak-renderer-tableHeader-sorting-icon__no-order">
      
        <figure class="sc-hORach kbCxgi">
          <div class="sorting-icon-svg__no_order table-sorting-icon-inactive sc-bMVAic grNdFR">&nbsp;
        </figure>
      </div>
    </figure>
  </th>
</tr>
<tr>
  <td colspan="1" rowspan="1" data-colwidth="303">
    <p data-renderer-start-pos="1147">Height &gt;= 850</p>
  </td>
  <td colspan="1" rowspan="1" data-colwidth="456">
    <p data-renderer-start-pos="1164">1080p</p>
  </td>
</tr>
<tr>
  <td colspan="1" rowspan="1" data-colwidth="303">
    <p data-renderer-start-pos="1175">Height &gt;= 720</p>
  </td>
  <td colspan="1" rowspan="1" data-colwidth="456">
    <p data-renderer-start-pos="1192">720p</p>
  </td>
</tr>
<tr>
  <td colspan="1" rowspan="1" data-colwidth="303">
    <p data-renderer-start-pos="1202">Height &gt;= 360</p>
  </td>
  <td colspan="1" rowspan="1" data-colwidth="456">
    <p data-renderer-start-pos="1219">360p</p>
  </td>
</tr>
<tr>
  <td colspan="1" rowspan="1" data-colwidth="303">
    <p data-renderer-start-pos="1229">Height &gt;= 180</p>
  </td>
  <td colspan="1" rowspan="1" data-colwidth="456">
    <p data-renderer-start-pos="1246">180p</p>
  </td>
</tr>
<tr>
  <td colspan="1" rowspan="1" data-colwidth="303">
    <p data-renderer-start-pos="1256">Height &lt; 180</p>
  </td>
  <td colspan="1" rowspan="1" data-colwidth="456">
    <p data-renderer-start-pos="1272">90p</p>
  </td>
</tr>