X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=indexmeta.sh;h=50d83ef1b867f30e15aeb0f6861c5fd53de6cc32;hb=00ef1139ad733351e5fba5b83bc9366624c495e9;hp=e37e5da6c3696cffd979639798a785dff84ff69a;hpb=1b04c155137b3561d27c753f0e1d3b88e1e2e004;p=serve0 diff --git a/indexmeta.sh b/indexmeta.sh index e37e5da..50d83ef 100644 --- a/indexmeta.sh +++ b/indexmeta.sh @@ -13,22 +13,17 @@ meta_name() { } meta_line() { - local video l w h + local video probe l w h video="$1" [ "${video%.part}" = "$video" -a -s "$video" ] || return 0 - read l h w <<__EOF - $(printf '' \ - | mplayer -input nodefault-bindings -nosound -vo null -identify -frames 0 "$video" 2>&- \ - | sort | sed -rn ' - s:ID_LENGTH=(.*)(\..*)$:\1:p; - s:ID_VIDEO_HEIGHT=(.*):\1:p; - s:ID_VIDEO_WIDTH=(.*):\1:p;' \ - | tr '\n' ' ' - ) -__EOF - printf '%i\t%i\t%i\ttags=\tcomment=\t%s\n' \ - "${l-0}" "${w-0}" "${h-0}" "$(meta_name "$video")" + meta="$(printf \\n; ffprobe -show_entries format=duration:stream=width,height 2>&-)" + l="${probe#*duration=}" l="${l%%${BR}*}" + w="${probe#*width=}" w="${w%%${BR}*}" + h="${probe#*height=}" h="${h%%${BR}*}" + + printf '%i %i %i tags= comment= %s\n' \ + "${l:-0}" "${w:-0}" "${h:-0}" "$(meta_name "$video")" } meta_file(){