<div dir="ltr">I'm working on a project that displays HTML5 video in the browser, and access to those videos is controlled.<div><br></div><div>Previously, I was using an expiring S3 URL; now I'm hosting the video myself, attached via Paperclip. The uploads directory is outside the /public directory of the Rails app; there's a URL for the video that, when a user hits it, checks if they're authorised to view it, and if so, uses send_file to send it to them.</div><div><br></div><div>This no longer works very well now that I'm using send_file - I <i>think</i> this comes down to the fact the browser requests video with Range headers, getting it in chunks, and my poor back-end clearly isn't doing something sophisticiated enough.</div><div><br></div><div>My initial thoughts were:</div><div><br></div><div>* something like [<a href="http://stackoverflow.com/questions/6759426/rails-media-file-stream-accept-byte-range-request-through-send-data-or-send-file">http://stackoverflow.com/questions/6759426/rails-media-file-stream-accept-byte-range-request-through-send-data-or-send-file</a>], which odes the chunking manually but is beginning to make me feel stupid, and also feels fragile</div><div>* is Puma the issue, and would a better web server for development work?</div><div><br></div><div>I'm asking because whilst I think I've found the right track, some of you might have had experience of this before.</div><div><br></div><div>t.<br clear="all"><div><br></div>-- <br><div class="gmail_signature">Tom Armitage<br><a href="http://infovore.org" target="_blank">http://infovore.org</a><br>07813 060578</div>
</div></div>