I setup Wowza 4.0.4 HTTP Live Origin application and use Varnish to cache and test.
It seems Varnish does not really cache anything.
I use 10 browsers and request to varnish the same stream.
In theory, Varnish will get content from Wowza, cache and serve to 10 clients at the same time. If this was the case, the input and output bandwidth would be 10 fold different. My stream is 1Mbps so the input (get content from Wowza) should be 1Mbps and output to 10 clients should be 10Mbps.
However when I tested, the input and output always the same. If I use 10 clients to request, then input will be 10Mbps and output will be 10Mbps. It means varnish does not really cache, or the caching is too short.
I setup HTTP Live Origin as instructed in the Article and here is the HLS configuration
<!-- Properties defined here will override any properties defined in conf/LiveStreamPacketizers.xml for any LiveStreamPacketizers loaded by this applications -->
<!-- Properties defined here will override any properties defined in conf/HTTPStreamers.xml for any HTTPStreamer loaded by this applications -->
Does anyone has experience in this HTTP Live Origin setup?
To add more details, httpRandomizeMediaName is used for live streams in origin mode so that old chunks are not returned when a stream restarts on the server. When a packetizer starts or restarts, its chunk index will start at 1. Without random names, the playlist will return the default name and the cache may already have an old file cached with the same name. With httpRandomizeMediaName set, each time the packetizer is started or restarted, a different name will be used for the actual chunks.
There are several reasons as to why your HTTP Origin streaming workflow may not be working with Varnish, including an incorrect license key (standard trial keys do not have this feature), incorrect settings on the cache server, misconfigured Wowza server, etc. As Sal has mentioned, sending your Wowza conf and logs would allow us to investigate further.