Methods, systems, and data structures are provided for custom compressing, encrypting, and streaming media data. A requestor makes a request for media data and based on the connection rate of the requester a pixel resolution for the media data is customized and the media data is compressed. Optionally, the compressed media data is encrypted, such that only a customized media player knows the encryption algorithm needed to decrypt the encrypted media data. Next, the compressed media data and portions of a media player are streamed to the requestor.