Patent ID: 8510555

Claim:
A streaming server comprising: an apparatus that operates via a processing device and a memory device and that includes: a virtual file system that stores playlist data corresponding to a plurality of video programs available from at least one video source and that further stores variant playlist data corresponding to each of the plurality of video programs that indicates a plurality of bit rates for streaming each of the plurality of video programs; a network interface, coupled to bidirectionally communicate with at least one client device and to bidirectionally communicate with the at least one video source via at least one network; a video encoder; a video encrypter; a command handler, coupled to the network interface, the video encoder, the video encrypter and the virtual file system, that operates by: receiving a request for a selected one of the plurality of video programs from the at least one client device via the network interface; retrieving the selected one of the plurality of video programs from the at least one video source via the network interface in response to the request and segments and encodes the selected one of the plurality of video programs into a plurality of encoded segments via the video encoder, and in accordance with a selected bit rate; generating encrypted segments from the plurality of encoded segments, via the video encrypter, in accordance with an encryption key; and sending, via the network interface, a streaming video signal to the at least one client device that includes the plurality of encrypted segments; wherein the playlist data includes a plurality of segment playlists corresponding to each of the plurality of video programs and a content index, each of the plurality of segment playlists including segment addresses of the plurality of encrypted segments of a corresponding one of the plurality of video programs, and wherein the command handler further operates by: serving at least one selected segment playlist and a selected variant playlist to the client device that corresponds to the selected video program; wherein the command handler fulfills client requests from the virtual file system that contain particular segment addresses of the virtual file system, by generating and sending the encrypted segment that corresponds to each particular segment address.