A source encoding server, configured to: generate a top level index file to a plurality of alternative streams of encoded media that are each stored in a separate container file and are used during normal playback and a separate trick play stream stored in a separate container file and used during visual search, wherein the top level index file includes references to container files that each include one of the alternative streams or the trick play stream and enables a playback device to identify the container files that contain the streams available to the playback device for use in adaptive bitrate streaming, where: for each of the container files that contain one of the plurality of alternative streams, the alternative stream of the respective container file comprises a plurality of portions of encoded video of the alternative stream, and each portion of the plurality of portions of encoded video of the alternative stream commences with an intra frame starting a closed group of pictures; alternative streams are streams that encode the same media content in different ways and at different bitrates to enable adaptive bitrate streaming by performing switches between the streams during normal playback based upon the streaming conditions, the container file that contains the trick play stream contains an index and frames of encoded video, where: each of the frames of encoded video of the trick play stream is an intra frame, and entries in the index of the container file containing the trick play stream comprise locations of each frame in the container file, and the trick play stream is utilized to perform smooth visual search of the encoded media in either the forward or reverse direction at a rate that is typically faster than the normal playback rate. generate a top level index file to a plurality of alternative streams of encoded media that are each stored in a separate container file and are used during normal playback and a separate trick play stream stored in a separate container file and used during visual search, wherein the top level index file includes references to container files that each include one of the alternative streams or the trick play stream and enables a playback device to identify the container files that contain the streams available to the playback device for use in adaptive bitrate streaming, for each of the container files that contain one of the plurality of alternative streams, the alternative stream of the respective container file comprises a plurality of portions of encoded video of the alternative stream, and each portion of the plurality of portions of encoded video of the alternative stream commences with an intra frame starting a closed group of pictures; alternative streams are streams that encode the same media content in different ways and at different bitrates to enable adaptive bitrate streaming by performing switches between the streams during normal playback based upon the streaming conditions, the container file that contains the trick play stream contains an index and frames of encoded video, where: each of the frames of encoded video of the trick play stream is an intra frame, and entries in the index of the container file containing the trick play stream comprise locations of each frame in the container file, and each of the frames of encoded video of the trick play stream is an intra frame, and entries in the index of the container file containing the trick play stream comprise locations of each frame in the container file, and the trick play stream is utilized to perform smooth visual search of the encoded media in either the forward or reverse direction at a rate that is typically faster than the normal playback rate.