A personal media broadcaster comprising: an input interface for receiving an audio/visual signal from one or more audio/video source devices; a processor configured to act as an encoder to encode and construct a media stream from the audio/visual signal suitable for real time transmission to a remote client over a variable bandwidth network (160,140), wherein the network is the internet; an intermediate buffer coupled to receive said media stream, the buffer coupled to the processor for communicating an amount of free space remaining in the buffer, wherein the processor encodes and constructs said media stream by encoding the audio/visual signal using an encoder bit rate selected dynamically at least in part based on the amount of free space remaining in the buffer such that the bit rate changes dynamically whilst transmission to the remote client is in progress, wherein a plurality of watermarks are predefined for the buffer, each watermark indicating an amount of free space remaining in the buffer, and wherein the processor is configured to adjust the encoder settings by decreasing the encoder output bit rate by a given percentage for encoding the audio/video signal each time the amount of free space remaining in the buffer decreases below one of the watermarks and to adjust the encoder settings by increasing the encoder output bit rate by a given percentage for encoding the audio/video signal each time the amount of free space remaining in the buffer increases above one of the watermarks; and a network interface configured to connect to the internet over a broadband connection using IP/TCP and comprising a TCP stack, wherein the TCP stack behaviour is used to estimate network speed, and for receiving a request for content from the remote client over the internet and in response to the request for establishing a 1:1 streaming relationship with the client for transmitting the media stream stored in the intermediate buffer to the client over the internet. an input interface for receiving an audio/visual signal from one or more audio/video source devices; a processor configured to act as an encoder to encode and construct a media stream from the audio/visual signal suitable for real time transmission to a remote client over a variable bandwidth network (160,140), wherein the network is the internet; an intermediate buffer coupled to receive said media stream, the buffer coupled to the processor for communicating an amount of free space remaining in the buffer, wherein the processor encodes and constructs said media stream by encoding the audio/visual signal using an encoder bit rate selected dynamically at least in part based on the amount of free space remaining in the buffer such that the bit rate changes dynamically whilst transmission to the remote client is in progress, wherein a plurality of watermarks are predefined for the buffer, each watermark indicating an amount of free space remaining in the buffer, and wherein the processor is configured to adjust the encoder settings by decreasing the encoder output bit rate by a given percentage for encoding the audio/video signal each time the amount of free space remaining in the buffer decreases below one of the watermarks and to adjust the encoder settings by increasing the encoder output bit rate by a given percentage for encoding the audio/video signal each time the amount of free space remaining in the buffer increases above one of the watermarks; and a network interface configured to connect to the internet over a broadband connection using IP/TCP and comprising a TCP stack, wherein the TCP stack behaviour is used to estimate network speed, and for receiving a request for content from the remote client over the internet and in response to the request for establishing a 1:1 streaming relationship with the client for transmitting the media stream stored in the intermediate buffer to the client over the internet.