added config file - second part
git-svn-id: http://yolanda.mister-muffin.de/svn@301 7eef14d0-6ed0-489d-bf55-20463b2d70db
This commit is contained in:
parent
e555b062cb
commit
6b9ccd3223
14 changed files with 41 additions and 38 deletions
|
@ -11,8 +11,6 @@
|
|||
|
||||
<string id="url_root">http://localhost</string><!-- MUST NOT end with trailing slash -->
|
||||
|
||||
<string id="path_root">/var/www/yolanda/</string><!-- MUST end with trailing slash -->
|
||||
|
||||
<!-- general page settings -->
|
||||
<string id="page_locale">en-us</string>
|
||||
<string id="page_xslt">xhtml.xsl</string>
|
||||
|
@ -25,12 +23,13 @@
|
|||
<string id="page_cookie_name">sid</string>
|
||||
|
||||
<!-- settings for video uploads -->
|
||||
<string id="video_height_max">720</string><!-- in pixels -->
|
||||
<string id="video_height_max">720</string><!-- in pixels - MUST be multiple of 8 -->
|
||||
<string id="video_height_min">240</string>
|
||||
<string id="video_width_max">1080</string>
|
||||
<string id="video_width_min">320</string>
|
||||
<string id="video_filesize_max">204800</string><!-- in bytes -->
|
||||
<string id="video_filesize_min">512</string>
|
||||
<string id="video_bitrate_max">6000</string>
|
||||
<string id="video_audio_bitrate">64</string>
|
||||
|
||||
<!-- settings for xml output -->
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require "functions.pl";
|
||||
|
||||
#initialize session data
|
||||
CGI::Session->name($session_name);
|
||||
CGI::Session->name($config->{"page_cookie_name"});
|
||||
$query = new CGI;
|
||||
$session = new CGI::Session;
|
||||
|
||||
|
|
|
@ -22,8 +22,5 @@ $config = XMLin("$root/config/backend.xml", KeyAttr => {string => 'id'}, ForceAr
|
|||
$config = $config->{"strings"}->{"string"};
|
||||
#set global variables
|
||||
|
||||
$session_name = 'sid';
|
||||
$locale = "en-US";
|
||||
|
||||
$dbh = DBI->connect("DBI:mysql:".$config->{"database_name"}.":".$config->{"database_host"}, $config->{"database_username"}, $config->{"database_password"}) or die $DBI::errstr;
|
||||
1;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require "functions.pl";
|
||||
|
||||
#create or resume session
|
||||
CGI::Session->name($session_name);
|
||||
CGI::Session->name($config->{"page_cookie_name"});
|
||||
$query = new CGI;
|
||||
$session = new CGI::Session;
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require "include.pl";
|
||||
|
||||
#create or resume session
|
||||
CGI::Session->name($session_name);
|
||||
CGI::Session->name($config->{"page_cookie_name"});
|
||||
my $session = new CGI::Session;
|
||||
|
||||
$dbh->do(qq{drop table config});
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require "functions.pl";
|
||||
|
||||
#initialize session data
|
||||
CGI::Session->name($session_name);
|
||||
CGI::Session->name($config->{"page_cookie_name"});
|
||||
$query = new CGI;
|
||||
$session = new CGI::Session;
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require "functions.pl";
|
||||
|
||||
#initialize session data
|
||||
CGI::Session->name($session_name);
|
||||
CGI::Session->name($config->{"page_cookie_name"});
|
||||
$query = new CGI;
|
||||
$session = new CGI::Session;
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require "functions.pl";
|
||||
|
||||
#initialize session data
|
||||
CGI::Session->name($session_name);
|
||||
CGI::Session->name($config->{"page_cookie_name"});
|
||||
$query = new CGI;
|
||||
$session = new CGI::Session;
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require "functions.pl";
|
||||
|
||||
#initialize session data
|
||||
CGI::Session->name($session_name);
|
||||
CGI::Session->name($config->{"page_cookie_name"});
|
||||
$query = new CGI;
|
||||
$session = new CGI::Session;
|
||||
|
||||
|
|
|
@ -4,14 +4,14 @@ use Proc::Daemon;
|
|||
use DBI;
|
||||
use Digest::SHA;
|
||||
use File::Copy;
|
||||
use XML::Simple qw(:strict);
|
||||
|
||||
#TODO: put this into central configuration file
|
||||
$database = 'yolanda';
|
||||
$dbhost = 'localhost';
|
||||
$dbuser = 'root';
|
||||
$dbpass = '';
|
||||
$root = '/var/www/yolanda';
|
||||
|
||||
#set global config variable
|
||||
$config = XMLin("$root/config/backend.xml", KeyAttr => {string => 'id'}, ForceArray => [ 'string' ], ContentKey => '-content');
|
||||
$config = $config->{"strings"}->{"string"};
|
||||
|
||||
#TODO: deamonize by uncommenting this line
|
||||
#Proc::Daemon::Init;
|
||||
|
||||
|
@ -37,7 +37,7 @@ sub interrupt
|
|||
die;
|
||||
}
|
||||
|
||||
$dbh = DBI->connect("DBI:mysql:$database:$dbhost", $dbuser, $dbpass) or interrupt "could not connect to db";
|
||||
$dbh = DBI->connect("DBI:mysql:".$config->{"database_name"}.":".$config->{"database_host"}, $config->{"database_username"}, $config->{"database_password"}) or die $DBI::errstr;
|
||||
|
||||
while(1)
|
||||
{
|
||||
|
@ -51,21 +51,26 @@ while(1)
|
|||
|
||||
if($id)
|
||||
{
|
||||
$vmaxheight = 640;
|
||||
|
||||
#video height is either the maximum video height
|
||||
#or (when the original is smaller than that) the original height
|
||||
#check for multiple by 8
|
||||
$vheight = $vmaxheight <= $height ? $vmaxheight : int($height/8 + .5)*8;
|
||||
$vheight = $height <= $config->{"video_height_max"} ? int($height/8 + .5)*8 : $config->{"video_height_max"};
|
||||
$vwidth = int($vheight*($width/$height)/8 + .5)*8;
|
||||
|
||||
$abitrate = 64;
|
||||
$vbitrate = int((int(($filesize*8) / $duration + .5) - $abitrate)/1000);
|
||||
#check if the bitrate is lower than 16000 (maximum for ffmpeg)
|
||||
$vbitrate = $vbitrate <= 16000 ? $vbitrate : 16000;
|
||||
#if calculated width is greater than max_width, recalculate height
|
||||
if($vwidth > $config->{"video_width_max"})
|
||||
{
|
||||
$vwidth = $config->{"video_width_max"};
|
||||
$vheight = int($vwidth*($height/$width)/8 + .5)*8;
|
||||
}
|
||||
|
||||
#calculate video bitrate - try to keep the original filesize
|
||||
$vbitrate = int((int(($filesize*8) / $duration + .5) - $config->{"video_audio_bitrate"})/1000);
|
||||
#check if the bitrate is lower than $config->{"video_bitrate_max"} and adjust if necessary
|
||||
$vbitrate = $vbitrate <= $config->{"video_bitrate_max"} ? $vbitrate : $config->{"video_bitrate_max"};
|
||||
|
||||
#TODO: add metadata information
|
||||
$ffmpeg = system "ffmpeg2theora --optimize --videobitrate $vbitrate --audiobitrate $abitrate --sharpness 0 --width $vwidth --height $vheight --output $root/videos/$id /tmp/$id";
|
||||
$ffmpeg = system "ffmpeg2theora --optimize --videobitrate $vbitrate --audiobitrate ".$config->{"video_audio_bitrate"}." --sharpness 0 --width $vwidth --height $vheight --output $root/videos/$id /tmp/$id";
|
||||
|
||||
appendlog $id, $vbitrate, $filesize, $vwidth, $vheight, $fps, $duration, $sha, $ffmpeg;
|
||||
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
use DBI;
|
||||
use XML::Simple qw(:strict);
|
||||
|
||||
$database = 'yolanda';
|
||||
$dbhost = 'localhost';
|
||||
$dbuser = 'root';
|
||||
$dbpass = '';
|
||||
$root = '/var/www/yolanda';
|
||||
|
||||
$dbh = DBI->connect("DBI:mysql:$database:$dbhost", $dbuser, $dbpass);
|
||||
#set global config variable
|
||||
$config = XMLin("$root/config/backend.xml", KeyAttr => {string => 'id'}, ForceArray => [ 'string' ], ContentKey => '-content');
|
||||
$config = $config->{"strings"}->{"string"};
|
||||
|
||||
$dbh = DBI->connect("DBI:mysql:".$config->{"database_name"}.":".$config->{"database_host"}, $config->{"database_username"}, $config->{"database_password"}) or die $DBI::errstr;
|
||||
|
||||
$sth = $dbh->prepare("select subject from videos");
|
||||
$sth->execute();
|
||||
|
@ -20,7 +22,7 @@ while(($subject) = $sth->fetchrow_array())
|
|||
{
|
||||
#strip whitespaces
|
||||
$val =~ s/^\s*(.*?)\s*$/$1/;
|
||||
if(length($val) >= 3)
|
||||
if(length($val) >= $config->{"page_tag_lenght_min"})
|
||||
{
|
||||
%hash->{$val}++;
|
||||
}
|
||||
|
@ -33,8 +35,8 @@ $sth->finish();
|
|||
|
||||
$dbh->do("delete from tagcloud");
|
||||
$sth = $dbh->prepare("insert into tagcloud (text, count) values (?, ?)");
|
||||
#insert first 20 tags into tagcloud table
|
||||
for($i=0;$i<20 and $i<=$#sorted;$i++)
|
||||
#insert tags into tagcloud table
|
||||
for($i=0;$i<$config->{"page_tag_count"} and $i<=$#sorted;$i++)
|
||||
{
|
||||
$sth->execute( $sorted[$i], %hash->{$sorted[$i]} );
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require "functions.pl";
|
||||
|
||||
#create or resume session
|
||||
CGI::Session->name($session_name);
|
||||
CGI::Session->name($config->{"page_cookie_name"});
|
||||
$query = new CGI;
|
||||
$session = new CGI::Session;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
require "functions.pl";
|
||||
|
||||
CGI::Session->name($session_name);
|
||||
CGI::Session->name($config->{"page_cookie_name"});
|
||||
$query = CGI->new(\&hook);
|
||||
$session = new CGI::Session;
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require "functions.pl";
|
||||
|
||||
#initialize session data
|
||||
CGI::Session->name($session_name);
|
||||
CGI::Session->name($config->{"page_cookie_name"});
|
||||
$query = new CGI;
|
||||
$session = new CGI::Session;
|
||||
|
||||
|
|
Loading…
Reference in a new issue