]> git.plutz.net Git - serve0/blobdiff - pages/videoview.sh
first adaptions
[serve0] / pages / videoview.sh
index 0229b362e8d774362cb1004fcff77aa2b5631551..7e1d23d36080fcf4b0ae925ea30086bc8f68f601 100755 (executable)
 # You should have received a copy of the GNU Affero General Public License
 # along with Serve0.  If not, see <http://www.gnu.org/licenses/>. 
 
+info="$_GET[i]"
+filter="$_GET[f]"
+search="$_GET[s]"
+order=$(echo "$_GET[o]" |egrep '^(Name|Date|Length)$')
+page=$(echo "$_GET[p]" |egrep '^[0-9]+$')
+[ -z "$page" ] && page=0
+
 filterdiag() {
   . ${_EXEC}/templates/filterdiag.html.sh
 }
@@ -29,21 +36,26 @@ tagger() {
 }
 
 view() {
-  meta="${_DATA}/meta/$info.meta"
-  video="${_DATA}/videos/$info"
-  #reenc="vp8/$(sed -r 's:^(.*)\.[a-zA-Z0-9]{3,4}$:\1:' <<<"$info" )"
-  #[ -f "$reenc.mp4" ] && reenc="$reenc.mp4" || reenc="$reenc.mkv"
-  tags="$(sed -n '2p' "$meta")"
-  description="$(sed -n '3,$p' "$meta")"
-  length=0; width=0; height=0;
-  eval $(mplayer -noconsolecontrols -input file=/dev/null -slave -really-quiet -identify -frames 0 -ao null -vo null "$video" 2>/dev/null |sed -rn 's:ID_VIDEO_WIDTH=(.*):width=\1:p;s:ID_VIDEO_HEIGHT=(.*):height=\1:p;s:ID_LENGTH=(.*)(\..*)$:length=\1:p;')
-  
-  taglist=$(
-    for each in ${_DATA}/meta/*.meta; do
-      sed -n '2s:|:\n:gp' "$each"
-    done |sort -u |grep -xv '')
-  
+  if [ -n "$info" ]; then
+    meta="${_DATA}/meta/$info.meta"
+    video="${_DATA}/videos/$info"
+    #reenc="${_DATA}/vp8/$(sed -r 's:^(.*)\.[a-zA-Z0-9]{3,4}$:\1:' <<<"$info" )"
+    #[ -f "$reenc.mp4" ] && reenc="$reenc.mp4" || reenc="$reenc.mkv"
+    tags="$(sed -n '2p' "$meta")"
+    description="$(sed -n '3,$p' "$meta")"
+    length=0; width=0; height=0;
+    eval $(mplayer -noconsolecontrols -input file=/dev/null -slave -really-quiet -identify -frames 0 -ao null -vo null "$video" 2>/dev/null\
+    | sed -rn 's:ID_VIDEO_WIDTH=(.*):width=\1:p;s:ID_VIDEO_HEIGHT=(.*):height=\1:p;s:ID_LENGTH=(.*)(\..*)$:length=\1:p;')
+    
+    taglist=$(
+      [ -r ${_DATA}/cache/taglist ] && cat ${_DATA}/cache/taglist ||\
+      for each in ${_DATA}/meta/*.meta; do
+        sed -n '2s:|:\n:gp' "$each"
+      done |sort -u |grep -xv '' |tee cache/taglist
+    )
+    
     . ${_EXEC}/templates/view.html.sh
+  fi
 }
 
 _printVideo(){