A system for providing video over a network, comprising: a plurality of servers deployed on the network and comprising one or more Virtual set top box (VSTB) servers configured to create Virtual set top box (VSTB) instances and one or more user interface servers configured to create Virtual User Interface instances to generate a graphical user interface associated with each Virtual Set Top Box (VSTB) instance; and a plurality of VSTB clients with associated displays (104A, 104B, 104C), wherein the plurality of servers are configured to manage operation of a plurality of Virtual set top box instances operating on the one or more VSTB servers, each VSTB instance corresponding to one of the plurality of VSTB clients on the network, each VSTB instance being configured to combine the graphical user interface with one or more video streams, the or each VSTB server being further configured to transmit the combined graphical user interface and one or more video streams to the corresponding VSTB client as a single media stream having a frame format and codec supported by the corresponding VSTB client and associated display, the plurality of servers further being configured to receive user input representing interaction of a user associated with each VSTB client with a representation of the graphical user interface from each VSTB client and provide the user input to the VUI instance corresponding to the VSTB instance corresponding to the VSTB client, each VSTB client being configured to receive the single media stream from the corresponding VSTB instance, and to render the single media stream on the associated display, each VSTB client being further configured to transmit the user input to the plurality of servers, wherein for each VUI instance, the one or more user interface servers are configured to communicate updates of the graphical user interface from the VUI instance to the corresponding VSTB instance via a first Virtual network computing connection with a first VNC client within the corresponding VSTB instance and to receive the user input for a particular one of the graphical user interfaces at the VUI instance via a second VNC connection with a second VNC client corresponding to the VSTB client associated with the display on which the particular graphical user interface is being rendered, and wherein each VSTB instance is configured to pre-process separate media streams that it receives during a session to splice the separate media streams into the single media stream. a plurality of servers deployed on the network and comprising one or more Virtual set top box (VSTB) servers configured to create Virtual set top box (VSTB) instances and one or more user interface servers configured to create Virtual User Interface instances to generate a graphical user interface associated with each Virtual Set Top Box (VSTB) instance; and a plurality of VSTB clients with associated displays (104A, 104B, 104C), wherein the plurality of servers are configured to manage operation of a plurality of Virtual set top box instances operating on the one or more VSTB servers, each VSTB instance corresponding to one of the plurality of VSTB clients on the network, each VSTB instance being configured to combine the graphical user interface with one or more video streams, the or each VSTB server being further configured to transmit the combined graphical user interface and one or more video streams to the corresponding VSTB client as a single media stream having a frame format and codec supported by the corresponding VSTB client and associated display, the plurality of servers further being configured to receive user input representing interaction of a user associated with each VSTB client with a representation of the graphical user interface from each VSTB client and provide the user input to the VUI instance corresponding to the VSTB instance corresponding to the VSTB client, each VSTB client being configured to receive the single media stream from the corresponding VSTB instance, and to render the single media stream on the associated display, each VSTB client being further configured to transmit the user input to the plurality of servers, wherein for each VUI instance, the one or more user interface servers are configured to communicate updates of the graphical user interface from the VUI instance to the corresponding VSTB instance via a first Virtual network computing connection with a first VNC client within the corresponding VSTB instance and to receive the user input for a particular one of the graphical user interfaces at the VUI instance via a second VNC connection with a second VNC client corresponding to the VSTB client associated with the display on which the particular graphical user interface is being rendered, and wherein each VSTB instance is configured to pre-process separate media streams that it receives during a session to splice the separate media streams into the single media stream.