User-defined quality of experience (QoE) prioritizations
A method includes, at a media bridge configured to distribute a plurality of media streams among a plurality of client devices connected to the media bridge over a network during a real-time communication (RTC) instance, receiving a plurality of quality of experience (QoE) preferences from the plurality of client devices via the media bridge, the plurality of QoE preferences being transmitted as a real-time transport protocol (RTP) control protocol (RTCP) extension header of a transmitted data packet. The method also includes receiving a plurality of QoE metrics at the media bridge, and in response to a determination that a degradation in network conditions of the network has occurred, downgrading at least one of the plurality of media streams based on the plurality of QoE preferences.
1. A method comprising:
establishing a real-time communication (RTC) session between a first client device and a second client device connected over one or more networks;
causing presentation of a user interface element on a display of the first client device, the user interface element configured to receive input indicating a quality of experience (QoE) preference of a user of the first client device;
receiving user input provided via the user interface element indicating the QOE preference of the user, the QoE preference indicating a priority of the user that performance of a particular application-layer metric of the RTC session is optimized; and
adjusting a network characteristic of the RTC session based at least in part on the QoE preference such that performance of the particular application-layer metric of the RTC session is optimized.
2. The method of claim 1 , wherein the user interface element is presented at one or more of a first time associated with at least one of establishment of the RTC session, a second time associated with a third client device connecting to the RTC session, a third time associated with determining that network conditions degraded, or a fourth time associated with a degradation in QoE being expected.
3. The method of claim 1 , wherein the QoE preference is at least one a resolution of a media stream of the RTC session, a smoothness of the media stream, or a reliability of the media stream.
4. The method of claim 1 , wherein the user input indicates a plurality of QoE preferences that define ranking of different application-layer metrics of the RTC session that are to be prioritized.
5. The method of claim 1 , wherein adjusting the network characteristic of the RTC session includes adjusting a media stream dynamically during transmission of the media stream.
6. The method of claim 1 , wherein:
the first client device has established a plurality of media streams with other client devices; and
the QoE preference indicates that performance of a particular media stream of the plurality of media streams is to be prioritized over performances of other media streams of the plurality of media streams.
7. The method of claim 1 , further comprising sending the QoE preference from the first client device and to the second client device.
8. A system comprising:
one or more processors; and
one or more non-transitory computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
establishing a real-time communication (RTC) session between a first client device and a second client device connected over one or more networks;
causing presentation of a user interface element on a display of the first client device, the user interface element configured to receive input indicating a quality of experience (QoE) preference of a user of the first client device;
receiving user input provided via the user interface element indicating the QOE preference of the user, the QoE preference indicating a priority of the user that performance of a particular application-layer metric of the RTC session is optimized; and
optimizing performance of the particular application-layer metric of the RTC session based at least in part on the QoE preference.
9. The system of claim 8 , wherein the user interface element is presented at one or more of a first time associated with at least one of establishment of the RTC session, a second time associated with a third client device connecting to the RTC session, a third time associated with determining that network conditions degraded, or a fourth time associated with a degradation in QoE being expected.
10. The system of claim 8 , wherein the QoE preference is at least one a resolution of a media stream of the RTC session, a smoothness of the media stream, or a reliability of the media stream.
11. The system of claim 8 , wherein the user input indicates a plurality of QoE preferences that define ranking of different application-layer metrics of the RTC session that are to be prioritized.
12. The system of claim 8 , the operations further comprising:
determining that performance of a network characteristic of the RTC session has degraded,
wherein optimizing the performance of the particular application-layer metric of the RTC session is performed in response to determining that the performance has degraded.
13. The system of claim 8 , wherein:
the first client device has established a plurality of media streams with other client devices; and
the QoE preference indicates that performance of a particular media stream of the plurality of media streams is to be prioritized over performances of other media streams of the plurality of media streams.
14. The system of claim 8 , the operations further comprising sending the QoE preference from the first client device and to the second client device.
15. A method comprising:
establishing a real-time communication (RTC) session between a first client device and a second client device connected over one or more networks;
causing presentation of a user interface element on a display of the first client device, the user interface element configured to receive input indicating a quality of experience (QoE) preference of a user of the first client device;
receiving user input provided via the user interface element indicating the QOE preference of the user, the QoE preference indicating a priority of the user that performance of a particular application-layer metric of the RTC session is optimized; and
adjusting a network characteristic of the RTC session based at least in part on the QoE preference such that performance of the particular application-layer metric of the RTC session is optimized.
16. The method of claim 15 , wherein the user interface element is presented at one or more of a first time associated with at least one of establishment of the RTC session, a second time associated with a third client device connecting to the RTC session, a third time associated with determining that network conditions degraded, or a fourth time associated with a degradation in QoE being expected.
17. The method of claim 15 , wherein:
the RTC session is used to communicate a video media stream between the first client device and the second client device; and
the QoE preference indicates a video media characteristic that is to be prioritized.
18. The method of claim 15 , wherein the user input indicates a plurality of QoE preferences that define ranking of different application-layer metrics of the RTC session that are to be prioritized.
19. The method of claim 15 , wherein adjusting the network characteristic of the RTC session includes adjusting a media stream dynamically during transmission of the media stream.
20. The method of claim 15 , wherein:
the first client device has established a plurality of media streams with other client devices; and
the QoE preference indicates that performance of a particular media stream of the plurality of media streams is to be prioritized over performances of other media streams of the plurality of media streams.