A method for adaptively streaming multimedia content over a network, the method comprising: receiving, at a user terminal, a media stream from a media server, the stream comprising a plurality of media segments, each media segment having at least one media characteristic; monitoring at least one parameter associated with the user terminal wherein the monitored parameter associated with the user terminal comprises any one or more of a parameter defining a radio signal strength, a user terminal geospatial location, a user terminal ground speed, a user terminal geospatial direction, or a user terminal acceleration; storing at least one historical parameter value associated with the at least one monitored parameter; predicting a future value associated with the at least one monitored parameter based on the at least one historical parameter value and one or more of the monitored parameters; accessing the server to select a plurality of different segments associated with a media content stream wherein each segment is encoded with one of a plurality of different available media characteristics and wherein a plurality of different segments, each encoded with a different media characteristic, are available for the same portion of the media content stream; an adaptive stream manager selecting a target media characteristic from the available media characteristics of the available segments stored on the server based on the at least one monitored parameter associated with the user terminal and a predicted future value associated with the at least one monitored parameter; and sending, from the user terminal to the media server, a request for a media segment being encoded with the target media characteristic. receiving, at a user terminal, a media stream from a media server, the stream comprising a plurality of media segments, each media segment having at least one media characteristic; monitoring at least one parameter associated with the user terminal wherein the monitored parameter associated with the user terminal comprises any one or more of a parameter defining a radio signal strength, a user terminal geospatial location, a user terminal ground speed, a user terminal geospatial direction, or a user terminal acceleration; storing at least one historical parameter value associated with the at least one monitored parameter; predicting a future value associated with the at least one monitored parameter based on the at least one historical parameter value and one or more of the monitored parameters; accessing the server to select a plurality of different segments associated with a media content stream wherein each segment is encoded with one of a plurality of different available media characteristics and wherein a plurality of different segments, each encoded with a different media characteristic, are available for the same portion of the media content stream; an adaptive stream manager selecting a target media characteristic from the available media characteristics of the available segments stored on the server based on the at least one monitored parameter associated with the user terminal and a predicted future value associated with the at least one monitored parameter; and sending, from the user terminal to the media server, a request for a media segment being encoded with the target media characteristic.