Ticket #4644: streamhandler.diff
File streamhandler.diff, 1.7 KB (added by , 18 years ago) |
---|
-
(a) handler.pl.vr vs. (b) /var/www/localhost/htdocs/mythweb/modules/stream/handler.pl
a b 157 140 CORE::exit; 158 141 } 159 142 elsif ($ENV{'REQUEST_URI'} =~ /\.flv$/i) { 143 # Find out the video dimensions (this is a quick hack) 144 if (!open(FINFO,"$ffmpeg -y -i $filename -r 24 -f flv -ac 2 -ar 11025 -ab 64k -b 256k -vframes 1 -ss 65 /dev/null 2> /dev/stdout|")) { 145 print header(), 146 "Error: Can not get ffmpeg output for file $filename..\n"; 147 CORE::exit; 148 } 149 150 my $horz; 151 my $vert; 152 153 while (<FINFO>) { 154 if (/Stream #0.0/) { 155 ($horz, $vert) = /\s(\d+)x(\d+),/; 156 last; 157 } 158 } 159 $ratio = $vert / $horz; 160 $newhorz = 320; 161 $newvert = int($newhorz * $ratio); 162 163 $newvert += $newvert % 8; # make the new vert a multiple of 8 164 if ( $newvert > 240 ) { 165 $newvert = 240; 166 } 167 168 close FINFO; 169 160 170 # Print the movie 161 $ffmpeg_pid = open(DATA, "$ffmpeg -y -i $filename -s ${width}x$height -r 24 -f flv -ac 2 -ar 11025 -ab ${abitrate}k -b ${vbitrate}k /dev/stdout 2>/dev/null |");171 $ffmpeg_pid = open(DATA, "$ffmpeg -y -i $filename -s " . $newhorz . "x" . $newvert . " -r 24 -f flv -ac 2 -ar 11025 -ab 64k -b 256k /dev/stdout 2>/dev/null |"); 162 172 unless ($ffmpeg_pid) { 163 173 print header(), 164 174 "Can't do ffmpeg: $!"; … … 213 223 # Open the file for reading 214 224 unless (sysopen DATA, $filename, O_RDONLY) { 215 225 print header(), 216 "Can't read $bas name: $!";226 "Can't read $basename: $!"; 217 227 CORE::exit; 218 228 } 219 229