X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=actions%2Ftranscode.sh;h=35ff8f4482d09e488ae2861ddc66e91d1bb36464;hb=d716f2ce1fe64cf87f777490315bc51906001c72;hp=835a166f4591a3828b8dd14a0db1045711d9fab8;hpb=aeb6bb1a133bfdf66e614fd3b5f9d34d80bcd1c9;p=serve0 diff --git a/actions/transcode.sh b/actions/transcode.sh old mode 100644 new mode 100755 index 835a166..35ff8f4 --- a/actions/transcode.sh +++ b/actions/transcode.sh @@ -1,7 +1,23 @@ #!/bin/zsh +# Copyright 2015 - 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 . -info="$_GET[\"i\"]" -target="$_GET[\"t\"]" +info="${_GET[i]}" +target="${_GET[t]}" video="${_DATA}/videos/$info" meta="${_DATA}/meta/$info.meta" trans="${_DATA}/transcoded/${info}.${target}p.webm" @@ -10,7 +26,9 @@ head -n1 "$meta" |read length width height name twidth=$(($width * $target / $height)) -[ -f "$target" ] || nohup avconv -i "$video" -s "${twidth}x${target}" "$trans" & +if ! [ -f "$trans" ]; then + [ "$target" -le 240 ] && nohup avconv -i "$video" -s "${twidth}x${target}" -b:a 80k -threads auto "$trans" & + [ "$target" -gt 240 ] && nohup avconv -i "$video" -s "${twidth}x${target}" -threads auto "$trans" & +fi -echo "Location: transcoded/${info}.${target}p.webm" -echo +redirect "/transcoded/${info}.${target}p.webm"