A streaming server for providing a content stream through a network to a client, the streaming server comprising: a server comprising an input interface configured to receive a request from the client to play the content stream; a segmenting unit configured to receive the content stream and segment the content stream into a plurality of data structures, where the plurality of data structures encompass pointers which correspond to time codes and a reference to the unsegmented content stream; random access memory unit configured to store the plurality of data structures and the pointers; the server further comprising: a processing unit configured to generate a manifest that includes a plurality of references corresponding to a plurality of fragments of the content stream; an output interface configured to send the manifest to the client; the input interface configured to receive a request from the client to fetch one of the fragments corresponding to the content stream; the processing unit configured to obtain bytes associated with the requested fragment from the data structures stored in the random access memory unit, where the processing unit uses a start time and a stop time associated with the requested fragment and computes the corresponding pointers associated with the plurality of data structures to lookup bytes from the one or more data structures associated with the requested fragment; and the output interface configured to send the bytes associated with the requested fragment to the client. a server comprising an input interface configured to receive a request from the client to play the content stream; a segmenting unit configured to receive the content stream and segment the content stream into a plurality of data structures, where the plurality of data structures encompass pointers which correspond to time codes and a reference to the unsegmented content stream; random access memory unit configured to store the plurality of data structures and the pointers; the server further comprising: a processing unit configured to generate a manifest that includes a plurality of references corresponding to a plurality of fragments of the content stream; an output interface configured to send the manifest to the client; the input interface configured to receive a request from the client to fetch one of the fragments corresponding to the content stream; the processing unit configured to obtain bytes associated with the requested fragment from the data structures stored in the random access memory unit, where the processing unit uses a start time and a stop time associated with the requested fragment and computes the corresponding pointers associated with the plurality of data structures to lookup bytes from the one or more data structures associated with the requested fragment; and the output interface configured to send the bytes associated with the requested fragment to the client. a processing unit configured to generate a manifest that includes a plurality of references corresponding to a plurality of fragments of the content stream; an output interface configured to send the manifest to the client; the input interface configured to receive a request from the client to fetch one of the fragments corresponding to the content stream; the processing unit configured to obtain bytes associated with the requested fragment from the data structures stored in the random access memory unit, where the processing unit uses a start time and a stop time associated with the requested fragment and computes the corresponding pointers associated with the plurality of data structures to lookup bytes from the one or more data structures associated with the requested fragment; and the output interface configured to send the bytes associated with the requested fragment to the client.