As said above, this is normal.
Think about it in this sense:
1. You send information to streaming site (this takes time)
2. Streaming site receives the information (this takes time) and then encodes it (this takes time)
3. Viewers download the information from the streaming site (this takes time) and then views the content.
On average, for me at least, I have about a 5 second delay for viewing content of my stream on pc and about 30 seconds for viewing content on a mobile phone.
Theoretically, it is possible to reduce this amount of time slightly by encoding the information being sent mainly using your CPU instead of your bandwidth. Although, I wouldn't recommend this unless you have a very good CPU!