En un archivo de manifiesto de Smooth Streaming, el servidor declara las tasas de bits de audio y video disponibles y la resolución para cada contenido (entre otra información). También contiene la duración de cada fragmento de audio y video.
Después de que el reproductor ha recibido el archivo de manifiesto, genera solicitudes HTTP sucesivas para los fragmentos de audio y video.
Cada solicitud HTTP del reproductor contiene:
GET (..)/BigBuckBunny720p.ism/
QualityLevels(2040000)/Fragments(video=400000000)
HTTP/1.1
Mantiene dos conexiones TCP con el servidor:
Bajo ciertas condiciones, el reproductor cambia los flujos de audio y video entre las dos conexiones.
Ambas conexiones tienen la oportunidad de transferir fragmentos de video. El beneficio de este cambio es que ninguna de las conexiones permanece inactiva por mucho tiempo, evitando que el servidor vuelva a la fase de slow-start. Además, las dos conexiones mantienen una ventana de congestión grande.
A veces, el reproductor aborta una conexión TCP y abre una nueva, lo que probablemente sucede cuando la conexión anterior proporciona un rendimiento muy bajo.
Cuando el usuario salta a un punto diferente, el reproductor aborta las conexiones TCP existentes, si no están inactivas, y abre nuevas conexiones para solicitar los fragmentos apropiados. En ese momento, el contenido del búfer de reproducción se vacía.