[Varnish] #1506: Make better use of Content-Length information: Avoid chunked responses, more control over Range handling
Varnish
varnish-bugs at varnish-cache.org
Mon May 19 18:14:28 CEST 2014
#1506: Make better use of Content-Length information: Avoid chunked responses,
more control over Range handling
--------------------------+----------------------------------
Reporter: DonMacAskill | Owner: slink
Type: defect | Status: assigned
Priority: normal | Milestone: Varnish 4.0 release
Component: varnishd | Version: 4.0.0
Severity: critical | Resolution:
Keywords: |
--------------------------+----------------------------------
Comment (by DonMacAskill):
So all of the cases I've encountered so far are Flash video players
attempting to do multi-bitrate adaptive streaming. In those cases, the UA
typically appears as if it's the browser, so I don't think there's any
obvious way to detect and react.
Some example players which I've confirmed exhibit this problem:
Akamai HDS test player:
http://mediapm.edgesuite.net/edgeflash/public/zeri/debug/Main.html
Akamai OSMF test player: http://mediapm.edgesuite.net/akamai-osmf-
plugins/samples/flash-builder-4/AASPlugin-sample-flex/bin-debug/Main.html
Flowplayer: https://flowplayer.org/
There are probably more, but so far these are the only ones we've
confirmed. All three of these players have large amounts of sites
deployed at scale (all Flash video streaming on Akamai's network uses one
of those two, for example, and I believe Flowplayer is the most popular
3rd party video player).
Here's an F4M manifest link that doesn't pass through varnish: http
://photos-origin.smugmug.net/1234/Video-Tests-
Dec-2013/Exploratorium-2012/i-gSNfWFW/0/SMIL/gSNfWFW.smil/manifest.f4m
If you drop that into any of the above players, you'll see adaptive
bitrate streaming. If you front it with varnish, you'll see that it never
adapts. (Content-Length vs Transfer-Encoding being the thing that
switches it on/off, presumably since these libraries are using the segment
transfer time compared against Content-Length to generate bitrate guesses)
I'll see if I can get a publicly available Flowplayer URL up as well,
currently our only Flowplayer testbed isn't publicly accessible. But the
Akamai test players should work well.
--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1506#comment:5>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list