#!/bin/zsh
-# Copyright 2014 Paul Hänsch
+# Copyright 2014, 2015 Paul Hänsch
#
# This file is part of Serve0.
#
# 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 -E "$_GET[\"o\"]" |egrep '^(Name|Date|Length)$')
page_next="${page_link}p=$(($page + 1))"
page_this="${page_link}p=$page"
-
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 ${_DATA}/cache/taglist
)
-
-filterdiag() {
- . ${_EXEC}/templates/filterdiag.html.sh
-}
-
-tagger() {
- n=foot
- hideall="$(sed -rn "s;^([^:]+):.*$;hide_inline('${n}_\\1')\\;;p" <<<"$taglist" |sort -u)hide_inline('${n}_none');"
-
- . ${_EXEC}/templates/tagger.html.sh
-}
-
-view() {
- 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;')
-
- video="videos/$info"
- . ${_EXEC}/templates/view.html.sh
- fi
-}
_printVideo(){
info="$1"
cache="${_DATA}/cache/$info.cache"
- video="${_DATA}/videos/$info"
meta="${_DATA}/meta/$info.meta"
+
if [ "$cache" -nt "$meta" ]; then
cat "$cache"
else
- tags="$(sed -n 2p "$meta")"
+ videofile="${_DATA}/videos/$info"
thumb="${_DATA}/thumbs/$info.jpg"
+ [ -r "$meta" ] || ${_EXEC}/helpers/genmeta.sh "$videofile" "$meta"
+ [ -r "$thumb" ] || ${_EXEC}/helpers/genthumb.sh "$videofile" "$thumb"
+
head -n1 "$meta" |read length width height filename
[ -z "$length" ] && length=0
- [ -z "$width" ] && width=0
+ [ -z "$width" ] && width=0
[ -z "$height" ] && height=0
- [ -r "$meta" ] || ". ${_EXEC}/helpers/genmeta.sh" "$video" "$meta"
- [ -r "$thumb" ] || ". ${_EXEC}/helpers/genthumb.sh" "$video" "$thumb"
+ tags="$(sed -n 2p "$meta")"
video="$(urlsave "videos/$info")"
thumb="$(urlsave "thumbs/$info.jpg")"
+ linkinfo="$(urlsave "$info")"
[ "$(($length % 60))" -lt 10 ] &&\
minutes="$(($length / 60)):0$(($length % 60))" ||\
minutes="$(($length / 60)):$(($length % 60))"
- linkinfo="$(urlsave "$info")"
-
rpiaddr="$(host pfostenpanne |sed -r 's;^.* ([0-9\.]+)$;\1;')"
rpidull="http://${rpiaddr}/?path=http://jupiter:8000/${video}"
rpicgi="http://${rpiaddr}/?path=$(urlsave "http://jupiter:8000/?action=transcode&i=${linkinfo}&t=480")"
_printVideo "$line"
done
}
-
-case "$1" in
- title)
- echo "Videos"
- ;;
- css)
- . ${_EXEC}/templates/videoview.css.sh
- ;;
- body)
- . ${_EXEC}/templates/videoview.html.sh
- ;;
-esac