  Adaptive streaming addresses the increasing and heterogenous demand of
multimedia content over the Internet by offering several encoded versions for
each video sequence. Each version (or representation) has a different
resolution and bit rate, aimed at a specific set of users, like TV or mobile
phone clients. While most existing works on adaptive streaming deal with
effective playout-control strategies at the client side, we take in this paper
a providers' perspective and propose solutions to improve user satisfaction by
optimizing the encoding rates of the video sequences. We formulate an integer
linear program that maximizes users' average satisfaction, taking into account
the network dynamics, the video content information, and the user population
characteristics. The solution of the optimization is a set of encoding
parameters that permit to create different streams to robustly satisfy users'
requests over time. We simulate multiple adaptive streaming sessions
characterized by realistic network connections models, where the proposed
solution outperforms commonly used vendor recommendations, in terms of user
satisfaction but also in terms of fairness and outage probability. The
simulation results further show that video content information as well as
network constraints and users' statistics play a crucial role in selecting
proper encoding parameters to provide fairness a mong users and to reduce
network resource usage. We finally propose a few practical guidelines that can
be used to choose the encoding parameters based on the user base
characteristics, the network capacity and the type of video content.
