fixed viewcount, fixed time calculation, fixed video filesize, fixed rss, fixed codec regex, fixed viewed content length, fixed one result redirect on multiple pages, fixed query string regex
git-svn-id: http://yolanda.mister-muffin.de/svn@226 7eef14d0-6ed0-489d-bf55-20463b2d70db
This commit is contained in:
parent
474ce11a60
commit
2b40d41c1a
5 changed files with 13 additions and 10 deletions
|
@ -43,7 +43,8 @@ if($query->param('id'))
|
||||||
#seems we only want to watch it - update viewcount
|
#seems we only want to watch it - update viewcount
|
||||||
$dbh->do(qq{update videos set viewcount=viewcount+1 where id = ? }, undef, $query->param('id')) or die $dbh->errstr;
|
$dbh->do(qq{update videos set viewcount=viewcount+1 where id = ? }, undef, $query->param('id')) or die $dbh->errstr;
|
||||||
|
|
||||||
print $query->header(-type=>'application/ogg');
|
print $query->header(-type=>'application/ogg',
|
||||||
|
-length=> -s "$root/videos/".$query->param('id'));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,7 +18,7 @@ if($query->param('query'))
|
||||||
my @args = ();
|
my @args = ();
|
||||||
|
|
||||||
$strquery = $query->param('query');
|
$strquery = $query->param('query');
|
||||||
$strquery = s/%([0-9A-F]{2})/chr(hex($1))/eg;
|
$strquery =~ s/%([0-9A-F]{2})/chr(hex($1))/eg;
|
||||||
(@tags) = $strquery =~ /tag:(\w+)/gi;
|
(@tags) = $strquery =~ /tag:(\w+)/gi;
|
||||||
($orderby) = $strquery =~ /orderby:(\w+)/i;
|
($orderby) = $strquery =~ /orderby:(\w+)/i;
|
||||||
($sort) = $strquery =~ /sort:(\w+)/i;
|
($sort) = $strquery =~ /sort:(\w+)/i;
|
||||||
|
@ -112,7 +112,7 @@ if($query->param('query'))
|
||||||
{
|
{
|
||||||
print $query->redirect("index.pl?warning=warning_no_results");
|
print $query->redirect("index.pl?warning=warning_no_results");
|
||||||
}
|
}
|
||||||
elsif(@{$page->{'results'}->{'result'}} == 1 or $query->param('lucky'))
|
elsif((@{$page->{'results'}->{'result'}} == 1 or $query->param('lucky')) and (not $query->param('page') or $query->param('page') == 1))
|
||||||
{
|
{
|
||||||
print $query->redirect($page->{'results'}->{'result'}[0]->{'rdf:RDF'}->{'cc:Work'}->{'dc:identifier'}[0]);
|
print $query->redirect($page->{'results'}->{'result'}[0]->{'rdf:RDF'}->{'cc:Work'}->{'dc:identifier'}[0]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,7 +106,7 @@ while(1)
|
||||||
|
|
||||||
#these two regexes have to be applied seperately because nobody knows which stream (audio or video) comes first
|
#these two regexes have to be applied seperately because nobody knows which stream (audio or video) comes first
|
||||||
($audio) = $info =~ /Audio: (\w+)/;
|
($audio) = $info =~ /Audio: (\w+)/;
|
||||||
($video, $width, $height, $fps) = $info =~ /Video: (\w+),.+?(\d+)x(\d+),.+?(\d+\.\d+) fps/;
|
($video, $width, $height, $fps) = $info =~ /Video: ([\w\d]+),.+?(\d+)x(\d+),.+?(\d+\.\d+) fps/;
|
||||||
|
|
||||||
if(!$audio or !$video or !$duration)
|
if(!$audio or !$video or !$duration)
|
||||||
{
|
{
|
||||||
|
@ -160,9 +160,11 @@ while(1)
|
||||||
$vwidth = int($vheight*($width/$height)/2 + .5)*2;
|
$vwidth = int($vheight*($width/$height)/2 + .5)*2;
|
||||||
|
|
||||||
#TODO: addmetadata information
|
#TODO: addmetadata information
|
||||||
system "ffmpeg2theora --optimize --videobitrate 1000 --audiobitrate 64 --sharpness 0 --width $vwidth --height $vheight --output $root/videos/$id $root/tmp/$id 2>&1";
|
system "ffmpeg2theora --optimize --videobitrate 1000 --audiobitrate 64 --sharpness 0 --width $vwidth --height $vheight --output $root/videos/$id $root/tmp/$id";
|
||||||
appendlog $id, $audio, $video, $vwidth, $vheight, $fps, $duration, $sha;
|
appendlog $id, $audio, $video, $vwidth, $vheight, $fps, $duration, $sha;
|
||||||
|
|
||||||
|
$filesize = -s "$root/videos/$id";
|
||||||
|
|
||||||
#add video to videos table
|
#add video to videos table
|
||||||
$dbh->do(qq{insert into videos select id, title, description, userid, timestamp, creator,
|
$dbh->do(qq{insert into videos select id, title, description, userid, timestamp, creator,
|
||||||
subject, source, language, coverage, rights, license, ?, ?, ?, ?, ?, ?, 0, 0
|
subject, source, language, coverage, rights, license, ?, ?, ?, ?, ?, ?, 0, 0
|
||||||
|
|
|
@ -32,8 +32,8 @@
|
||||||
<xsl:value-of select="rdf:RDF/cc:Work/dc:title" />
|
<xsl:value-of select="rdf:RDF/cc:Work/dc:title" />
|
||||||
</a>
|
</a>
|
||||||
<br />
|
<br />
|
||||||
<xsl:variable name="minutes" select="floor(@duration div 60)" />
|
|
||||||
<xsl:variable name="hours" select="floor(@duration div 3600)" />
|
<xsl:variable name="hours" select="floor(@duration div 3600)" />
|
||||||
|
<xsl:variable name="minutes" select="floor((@duration - $hours*3600) div 60)" />
|
||||||
<xsl:variable name="seconds" select="@duration - $minutes*60 - $hours*3600" />
|
<xsl:variable name="seconds" select="@duration - $minutes*60 - $hours*3600" />
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="$hours=0">
|
<xsl:when test="$hours=0">
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
<xsl:if test="not(//@embed='true')">
|
<xsl:if test="not(//@embed='true')">
|
||||||
<div class="videotitle">
|
<div class="videotitle">
|
||||||
<xsl:value-of select="//video/rdf:RDF/cc:Work/dc:title" />
|
<xsl:value-of select="//video/rdf:RDF/cc:Work/dc:title" />
|
||||||
<xsl:variable name="minutes" select="floor(//video/@duration div 60)" />
|
<xsl:variable name="hours" select="floor(@duration div 3600)" />
|
||||||
<xsl:variable name="hours" select="floor(//video/@duration div 3600)" />
|
<xsl:variable name="minutes" select="floor((@duration - $hours*3600) div 60)" />
|
||||||
<xsl:variable name="seconds" select="//video/@duration - $minutes*60 - $hours*3600" />
|
<xsl:variable name="seconds" select="//video/@duration - $minutes*60 - $hours*3600" />
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="$hours=0">
|
<xsl:when test="$hours=0">
|
||||||
|
@ -41,7 +41,7 @@
|
||||||
</xsl:attribute>
|
</xsl:attribute>
|
||||||
<param name="url">
|
<param name="url">
|
||||||
<xsl:attribute name="value">
|
<xsl:attribute name="value">
|
||||||
<xsl:value-of select="concat(//video/rdf:RDF/cc:Work/@rdf:about,'/view=true')" />
|
<xsl:value-of select="concat(//video/rdf:RDF/cc:Work/@rdf:about,'view=true')" />
|
||||||
</xsl:attribute>
|
</xsl:attribute>
|
||||||
</param>
|
</param>
|
||||||
<param name="seekable" value="true"/>
|
<param name="seekable" value="true"/>
|
||||||
|
@ -83,7 +83,7 @@
|
||||||
<xsl:value-of select="//video/@height + 16" />
|
<xsl:value-of select="//video/@height + 16" />
|
||||||
</xsl:attribute>
|
</xsl:attribute>
|
||||||
<xsl:attribute name="data">
|
<xsl:attribute name="data">
|
||||||
<xsl:value-of select="concat(//video/rdf:RDF/cc:Work/@rdf:about,'/view=true')" />
|
<xsl:value-of select="concat(//video/rdf:RDF/cc:Work/@rdf:about,'view=true')" />
|
||||||
</xsl:attribute>
|
</xsl:attribute>
|
||||||
</object>
|
</object>
|
||||||
<div class="watch-cortadoapplet">
|
<div class="watch-cortadoapplet">
|
||||||
|
|
Loading…
Reference in a new issue