In [1]:
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('ggplot')
In [2]:
# wiedergabe und stalling im video
plt.plot([0, 1], [0, 1], color='#e53935', linestyle='--', label='$\lambda$\nstalling')
plt.plot([1, 1.5], [1, 0], color='#1e88e5', label='$\lambda - \mu$\nplaying')
plt.plot([1.5, 2.5], [0, 1], color='#e53935', linestyle='--')
plt.plot([2.5, 3], [1, 0], color='#1e88e5')
# threshold = p
plt.plot([0, 3], [1, 1], color='#43a047')
# zeitpunkte ab denen wiedergegeben werden kann oder pausiert wird
plt.xticks([0, 1, 1.5, 2.5, 3], ['0', '$t_1$', '$t_2$', '$t_2 + t_1$', '$2t_2$'])
plt.yticks([0, 1], ['0', '$p$'])
plt.xlim(0, 3)
plt.ylim(0, 1.5)
plt.gca().set_aspect('equal', adjustable='box')
plt.xlabel('time $t$')
plt.ylabel('buffer status X')
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)
plt.show()
$\lambda$: Downloadrate. Die Zeit ($t_1$) um den Buffer zu füllen, z.B. in Bit $\mu$: Videorate. Durchschnittliche Videorate, z.B. in Bit
$\lambda - \mu$: Wenn $\mu$ > $\lambda$ tritt wieder Stalling ein. Die Videobitrate ist größer als die Downloadrate.
Da Stalling- und Abspielrate jeweils konstant kann die durchschnittliche Stallinglänge durch $t_1$ berechnet werden. $t_1$ berechnet sind dabei als
$t_1 = \dfrac{p}{\lambda}$
Die durchschnittliche Stallingrate ist
$avg_{stalling} = \dfrac{n * t_1}{n} = L$
$L$ ist die Länge des Videos. Es wird hierbei vernachlässigt, dass der Nutzer während Stalling oder dem Abspielvorgang das Video schließt.
Die durchschnittliche Stallingrate, also die Zeit in der Stalling auftritt gegen die Zeit in der das Video abgespielt werden kann ist
$\dfrac{t_1}{t_2}$
$t_2$ kann wie $t_1$ berechnet werden und ist somit
$t_2 = -\dfrac{p}{\lambda - \mu} + t_1$
Das negative Vorzeichen muss hinzugefügt werden, da $\lambda - \mu$ negativ ist und die Zeit nicht negativ werden kann. $t_1$ wird hinzugerechnet, da ansonsten lediglich die Zeit von $t_1$ bis $t_2$ berechnet wird. Daraus folgt:
$\dfrac{t_1}{t_2} = \dfrac{\dfrac{p}{\lambda}}{-\dfrac{p}{\lambda - \mu} + \dfrac{p}{\lambda}}$
$\equiv \dfrac{p}{\lambda(-\dfrac{p}{\lambda - \mu} + \dfrac{p}{\lambda})}$
$\equiv \dfrac{p}{-\dfrac{p \lambda}{\lambda - \mu} + p}$
$\equiv \dfrac{p}{p(-\dfrac{\lambda}{\lambda - \mu} + 1)}$
$\equiv \dfrac{1}{(-\dfrac{\lambda}{\lambda - \mu} + 1)}$
$\equiv \dfrac{1}{-\dfrac{\lambda}{\lambda - \mu} + \dfrac{\lambda - \mu}{\lambda - \mu}}$ für $\lambda - \mu \ne 0$
$\equiv \dfrac{1}{\dfrac{-\lambda +\lambda - \mu}{\lambda - \mu}}$
$\equiv \dfrac{\lambda - \mu}{- \mu} \equiv \dfrac{\mu - \lambda}{\mu}$
$\dfrac{1}{t_2 - t_1} \equiv \dfrac{\mu - \lambda}{p}$