<div dir="ltr"><div>@RR, i would like to inform you that the issue regarding failed stream for 1st request is solved. Varnish was removing content-length header for 1st request . Enabling Esi processing has resolved this issue.<br><br>set beresp.do_esi = true;<br><br><a href="http://stackoverflow.com/questions/23643233/how-do-i-disable-transfer-encoding-chunked-encoding-in-varnish">http://stackoverflow.com/questions/23643233/how-do-i-disable-transfer-encoding-chunked-encoding-in-varnish</a><br><br></div>thanks !!<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Sep 27, 2014 at 10:41 AM, shahzaib shahzaib <span dir="ltr"><<a href="mailto:shahzaib.cb@gmail.com" target="_blank">shahzaib.cb@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><span class=""><div>>>In general it shouldn’t since the ‘?start=’ is handled by nginx and not 
varnish, but I’m not exactly sure how the mp4 module of nginx handles a 
proxied request.<br>
You have to test it.<br><br></div></span>Sure, i'll test it.<br><br>sub vcl_fetch {<br>
return (pass);<br>
}<br><br></div>You're right about return(pass), coalescing doesn't work with pass.<span class=""><br><br>>>In worst case scenario imho only the first request (before landing on 
the proxy_store server) will “fail” eg play from the beginning instead 
of the time set.<span><br></span></span></div><span>Well, i am facing more worse scenario that first request always fail to stream and player(HTML5) keeps on loading.<br><br></span></div><span>I'm already checking if there's some config issue with varnish or this is the default behaviour(Which i don't think it is).<br><br>Thanks @RR<span class="HOEnZb"><font color="#888888"><br><br></font></span></span></div><span class="HOEnZb"><font color="#888888"><span>Shahzaib<br></span><div><div><div><div><br></div></div></div></div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 26, 2014 at 2:36 AM, Reinis Rozitis <span dir="ltr"><<a href="mailto:r@roze.lv" target="_blank">r@roze.lv</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It will also prevent users seeking the video because the arguments after "?" will remove whenever user will try to seek the video stream, isn't it ?<br>
</blockquote>
<br></span>
In general it shouldn’t since the ‘?start=’ is handled by nginx and not varnish, but I’m not exactly sure how the mp4 module of nginx handles a proxied request.<br>
You have to test it.<br>
<br>
In worst case scenario imho only the first request (before landing on the proxy_store server) will “fail” eg play from the beginning instead of the time set.<span><br>
<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Well, only proxy_store is able to fulfill my requirements that is the reason i'll have to stick with it.<br>
</blockquote>
<br></span>
Well you can try to use varnish as the streamer, just need some (web)player supporting byte-range requests for the seeking ( <a href="http://flash.flowplayer.org/plugins/streaming/pseudostreaming.html" target="_blank">http://flash.flowplayer.org/<u></u>plugins/streaming/<u></u>pseudostreaming.html</a> ).<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I am bit confused about the varnish. Actually, i don't need any kind of caching within the varnish as nginx already doing it via proxy_store. I just need varnish to merge the subsequent requests into 1 and forward it to nginx and i think varnish is doing it pretty well. Nevertheless, i am confused if malloc caching will have any odd effect on the stream behavior ?<br>
</blockquote>
<br>
<br>
You can try to pass the request without caching:<br>
<br>
sub vcl_fetch {<br>
return (pass);<br>
}<br>
<br>
(maybe even do it in the vcl_recv stage but again I'm not exactly sure if in that case the request coalescing works).<div><div><br>
<br>
<br>
rr <br>
______________________________<u></u>_________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/<u></u>mailman/listinfo/nginx</a></div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>