A computer-implemented method for transmission of data streams to a plurality of endpoints (114a, 114b, 114n), the method comprising: monitoring, by at least one processor, transmission characteristics of a plurality of transmitters (112a, 112b, 112n); and organising, by the at least one processor, the plurality of transmitters into a plurality of groups (130a, 130b, 130n) based on at least one monitored transmission characteristic; dynamically adjusting, by the at least one processor, membership of the transmitters in the plurality of groups (130a, 130b, 130n) responsive to a change in the monitored transmission characteristics, each group of the plurality of groups corresponding to a corresponding ranked tier of a plurality of ranked tiers associated with a corresponding encoding bitrate range, such that the transmitters are promoted to a corresponding higher tier or demoted to a corresponding lower tier in response to the change in the monitored transmission characteristics; wherein a plurality of encoders (110a, 110b, 110n) are each configured to encode a data stream according to at least one encoding parameter; wherein each group (130a, 130b, 130n) of transmitters is configured to receive encoded data from an associated one of the encoders (110a, 110b, 110n); and each transmitter of the plurality of transmitters is configured to transmit the encoded data to an associated one of the plurality of endpoints; the method further comprising dynamically adjusting, by the at least one processor, the encoding bitrate of each encoder (110a, 110b, 110n), according to the lowest bitrate of the transmitters that are members of the group (130a, 130b, 130n) associated with the respective encoder. monitoring, by at least one processor, transmission characteristics of a plurality of transmitters (112a, 112b, 112n); and organising, by the at least one processor, the plurality of transmitters into a plurality of groups (130a, 130b, 130n) based on at least one monitored transmission characteristic; dynamically adjusting, by the at least one processor, membership of the transmitters in the plurality of groups (130a, 130b, 130n) responsive to a change in the monitored transmission characteristics, each group of the plurality of groups corresponding to a corresponding ranked tier of a plurality of ranked tiers associated with a corresponding encoding bitrate range, such that the transmitters are promoted to a corresponding higher tier or demoted to a corresponding lower tier in response to the change in the monitored transmission characteristics; wherein a plurality of encoders (110a, 110b, 110n) are each configured to encode a data stream according to at least one encoding parameter; wherein each group (130a, 130b, 130n) of transmitters is configured to receive encoded data from an associated one of the encoders (110a, 110b, 110n); and each transmitter of the plurality of transmitters is configured to transmit the encoded data to an associated one of the plurality of endpoints; the method further comprising dynamically adjusting, by the at least one processor, the encoding bitrate of each encoder (110a, 110b, 110n), according to the lowest bitrate of the transmitters that are members of the group (130a, 130b, 130n) associated with the respective encoder.