#!/usr/bin/perl use strict; use warnings; use File::Basename; my $file ='/home/abhishek/Videos/lua.mp4'; my $size = -s "$file"; my $begin=0; my $end=$size; (my $name, my $dir, my $ext) = fileparse($file, qr/\.[^.]*/); open (my $fh, '<', $file)or die "can't open $file: $!"; binmode $fh; print "Content-Type: application/x-vlc-plugin \n"; print "Cache-Control: public, must-revalidate, max-age=0"; print "Pragma: no-cache" ; print "Accept-Ranges: bytes"; print "Content-Length: $end - $begin\n\n"; print "Content-Range: bytes $begin'-'$end'/'$size"; print "Content-Disposition: inline; filename=\"$name$ext\"\n"; print "Content-Transfer-Encoding: binary"; print "Connection: close"; my $cur=$begin; seek($fh,$begin,0); while(!eof($fh) && $cur < $end) { my $buf=1024*16; read $fh, $buf, $end-$cur; $cur+=1024*16; } close $fh; #### 127.0.0.1 - - [29/Dec/2015:11:39:31 +0530] "GET /cgi-bin/download.cgi HTTP/1.1" 200 484 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0" 127.0.0.1 - - [29/Dec/2015:11:39:32 +0530] "GET /cgi-bin/download.cgi HTTP/1.1" 200 447 "-" "(null)"