In Germany, there is a law that regulates the amount and intervals of advertising for private television broadcasters: 20% or 1/5 per broadcast day may be used for advertising. Programs that are shorter than 30 minutes may have a break, otherwise there must be 20 minutes between commercial breaks - 30 minutes in the evening. Unfortunately, there are still some loopholes.
Children's programs are not allowed to have commercial breaks.
It's a shame that this law still doesn't apply to YouTube.
With the WebM-Format they use it might be possible. It's based on Matroska and there is a feature to replace or add chunks within the stream in realtime.