X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=helpers%2Fgenmeta.sh;h=ca0fe7f8c1a54f1e0b7ee18d3821e80a1879ffa5;hb=b3b0d44a61029470e449827a1fa4b686e4279b7c;hp=805bde13784287a2f2ff7e92ce3af525283fb354;hpb=c7e6e63b567cd68f0a9c1f12dd92b175d2f6a2a0;p=serve0 diff --git a/helpers/genmeta.sh b/helpers/genmeta.sh index 805bde1..ca0fe7f 100755 --- a/helpers/genmeta.sh +++ b/helpers/genmeta.sh @@ -1,4 +1,20 @@ #!/bin/zsh +# Copyright 2014 - 2016 Paul Hänsch +# +# This file is part of Serve0 +# +# Serve0 is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Serve0 is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Serve0 If not, see . video="$1" meta="$2" @@ -8,12 +24,16 @@ if [ -r "$meta" ]; then description="$(sed -n '3,$p' "$meta")" fi -eval $(mplayer -noconsolecontrols -input file=/dev/null -slave -really-quiet -identify -frames 0 -ao null -vo null "$video" |sed -rn 's:ID_VIDEO_WIDTH=(.*):width=\1:p;s:ID_VIDEO_HEIGHT=(.*):height=\1:p;s:ID_LENGTH=(.*)(\..*)$:length=\1:p;') - -[ -z "$tags" ] && tags='|' +printf '' |mplayer -input nodefault-bindings -nosound -vo null -identify -frames 0 "$video" \ +| sort \ +| sed -rn 's:ID_LENGTH=(.*)(\..*)$:\1:p; + s:ID_VIDEO_HEIGHT=(.*):\1:p; + s:ID_VIDEO_WIDTH=(.*):\1:p;' \ +| tr '\n' ' ' \ +| read length height width 2>/dev/null cat <"$meta" -$length $width $height $(basename "$video") -$tags -$description +${length:-0} ${width:-0} ${height:-0} ${video##*/} +${tags:-|} +${description} EOF