A video encoder configured to send video data over a channel, the encoder comprising: a compressor configured to compress video data using an adjustable compression factor; a packet constructor configured to receive compressed video from the compressor, to queue data for transmission, to construct data packets from the queued data, and to transmit the constructed data packets over the channel; and a bandwidth monitor configured to monitor the performance of the channel based on a round-trip time for data packets over the channel, wherein the compressor is configured to modify the adjustable compression factor under instruction from the bandwidth monitor, wherein the packet constructor is configured to receive non-video data for transmission in the channel, and wherein the bandwidth monitor is configured to instruct the video compressor to modify the compression factor in response to performance of the channel, as determined by the bandwidth monitor, and in response to the quantity and the type of the data that is queued but has not yet been transmitted including the amount of non-video data received by the packet constructor and queued but not yet transmitted, wherein: a) the non-video data comprise higher priority data, said higher priority data being non-video data the transmission of which takes priority over the transmission of video data and the packet constructor being configured to transmit said higher priority data without delay whenever said higher priority data are received by the packet constructor; b) the non-video data comprise lower priority data, said lower priority data being non-time critical non-video data where the transmission of video data takes priority over the transmission of the lower priority data; c) the compressor is configured to modify the adjustable compression factor when lower priority data are received by the packet constructor in order to make space in the channel for the lower priority data; and d) the packet constructor is configured to transmit lower priority data only when any queued video data have been transmitted. a compressor configured to compress video data using an adjustable compression factor; a packet constructor configured to receive compressed video from the compressor, to queue data for transmission, to construct data packets from the queued data, and to transmit the constructed data packets over the channel; and a bandwidth monitor configured to monitor the performance of the channel based on a round-trip time for data packets over the channel, wherein the compressor is configured to modify the adjustable compression factor under instruction from the bandwidth monitor, wherein the packet constructor is configured to receive non-video data for transmission in the channel, and wherein the bandwidth monitor is configured to instruct the video compressor to modify the compression factor in response to performance of the channel, as determined by the bandwidth monitor, and in response to the quantity and the type of the data that is queued but has not yet been transmitted including the amount of non-video data received by the packet constructor and queued but not yet transmitted, wherein: a) the non-video data comprise higher priority data, said higher priority data being non-video data the transmission of which takes priority over the transmission of video data and the packet constructor being configured to transmit said higher priority data without delay whenever said higher priority data are received by the packet constructor; b) the non-video data comprise lower priority data, said lower priority data being non-time critical non-video data where the transmission of video data takes priority over the transmission of the lower priority data; c) the compressor is configured to modify the adjustable compression factor when lower priority data are received by the packet constructor in order to make space in the channel for the lower priority data; and d) the packet constructor is configured to transmit lower priority data only when any queued video data have been transmitted. a) the non-video data comprise higher priority data, said higher priority data being non-video data the transmission of which takes priority over the transmission of video data and the packet constructor being configured to transmit said higher priority data without delay whenever said higher priority data are received by the packet constructor; b) the non-video data comprise lower priority data, said lower priority data being non-time critical non-video data where the transmission of video data takes priority over the transmission of the lower priority data; c) the compressor is configured to modify the adjustable compression factor when lower priority data are received by the packet constructor in order to make space in the channel for the lower priority data; and d) the packet constructor is configured to transmit lower priority data only when any queued video data have been transmitted.