A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to:
- establish a videoconferencing session between a first client device and a second client device in which the first client device and the second client device capture and send video data to the other and display captured video data of the other, and wherein the first client device has more processing power than the second client device;
- receive, at the first client device, video data captured by the second client device via the connection;
- receive, at the first client device, metadata associated with the captured video data via the connection;
- process, at the first client device, the captured video data based at least in part on the metadata within a duration of the videoconferencing session, such that a quality of the captured video data is enhanced;
- and
- display the processed video data at the first client device.