A method of placeshifting a media program from a first device to a second device over a network, the method comprising: receiving, by a server on the network, a request for a placeshifting session over the network with the first device from the second device; identifying, by the server, recommended communications configuration information for the placeshifting session, wherein the identifying recommended communications configuration information for the placeshifting session comprises: (a) transmitting, by the second device to the server, test data comprising particular combinations of communication protocol, communications protocol parameters, physical communications layer and network interface; (b) determining, by the server, success metric values associated with each particular combination of communication protocol, communications protocol parameters, physical communications layer and network interface; wherein the success metric values comprise achieving a desired accuracy, reliability or throughput associated with the received test data; and repeating steps (a) and (b) for each combination of communication protocol, communications protocol parameters, physical communications layer and network interface; selecting the recommended combination of communication protocol, communications protocol parameters, physical communications layer and network interface based on the determined success metric values; and providing, by the server, the recommended communications configuration information to one of the second device and the first device in response to the request. receiving, by a server on the network, a request for a placeshifting session over the network with the first device from the second device; identifying, by the server, recommended communications configuration information for the placeshifting session, wherein the identifying recommended communications configuration information for the placeshifting session comprises: (a) transmitting, by the second device to the server, test data comprising particular combinations of communication protocol, communications protocol parameters, physical communications layer and network interface; (b) determining, by the server, success metric values associated with each particular combination of communication protocol, communications protocol parameters, physical communications layer and network interface; wherein the success metric values comprise achieving a desired accuracy, reliability or throughput associated with the received test data; and repeating steps (a) and (b) for each combination of communication protocol, communications protocol parameters, physical communications layer and network interface; selecting the recommended combination of communication protocol, communications protocol parameters, physical communications layer and network interface based on the determined success metric values; and providing, by the server, the recommended communications configuration information to one of the second device and the first device in response to the request. (a) transmitting, by the second device to the server, test data comprising particular combinations of communication protocol, communications protocol parameters, physical communications layer and network interface; (b) determining, by the server, success metric values associated with each particular combination of communication protocol, communications protocol parameters, physical communications layer and network interface; wherein the success metric values comprise achieving a desired accuracy, reliability or throughput associated with the received test data; and