A computer-implemented method comprising: identifying, by a computing system , a set of participants in a group video call, wherein each participant is associated with an uplink capacity and a downlink capacity, and the set of participants includes a set of sender participants and a set of subscriber participants, wherein one or more subscriber participants of the set of subscriber participants are subscribed to one or more sender participants of the set of sender participants; ranking the set of sender participants based on their uplink capacity; iteratively processing each sender participant in an order based on said ranking, wherein during each iteration of the iteration sequence: determining, by the computing system , for the particular sender participant associated with this iteration, one or more video stream layers to be uploaded by the particular sender participant based on downlink capacities of the one or more subscriber participants of the set of subscriber participants which are subscribed to the particular sender participant, and assigning, by the computing system, each subscriber participant of the one or more subscriber participants subscribed to the particular sender participant, to receive at least one video stream layer of the one or more video stream layers to be uploaded by the particular sender particpant. identifying, by a computing system , a set of participants in a group video call, wherein each participant is associated with an uplink capacity and a downlink capacity, and the set of participants includes a set of sender participants and a set of subscriber participants, wherein one or more subscriber participants of the set of subscriber participants are subscribed to one or more sender participants of the set of sender participants; ranking the set of sender participants based on their uplink capacity; iteratively processing each sender participant in an order based on said ranking, wherein during each iteration of the iteration sequence: determining, by the computing system , for the particular sender participant associated with this iteration, one or more video stream layers to be uploaded by the particular sender participant based on downlink capacities of the one or more subscriber participants of the set of subscriber participants which are subscribed to the particular sender participant, and assigning, by the computing system, each subscriber participant of the one or more subscriber participants subscribed to the particular sender participant, to receive at least one video stream layer of the one or more video stream layers to be uploaded by the particular sender particpant. determining, by the computing system , for the particular sender participant associated with this iteration, one or more video stream layers to be uploaded by the particular sender participant based on downlink capacities of the one or more subscriber participants of the set of subscriber participants which are subscribed to the particular sender participant, and assigning, by the computing system, each subscriber participant of the one or more subscriber participants subscribed to the particular sender participant, to receive at least one video stream layer of the one or more video stream layers to be uploaded by the particular sender particpant. <EOS>