--- /dev/null
+#!/bin/sh
+
+file_pattern='^.*\.(mov|ts|mpg|mpeg|mp4|m4v|avi|mkv|flv|sfv|wmv|ogm|ogv|webm|iso|rmvb)$'
+meta="${dir}/.index/meta"
+
+meta_line() {
+ video="$1"
+
+ 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" "$w" "$h" "${video##*/}"
+}
+
+
+if [ \! -f "$meta" ]; then
+ find "$dir" -type f -mindepth 1 -maxdepth 1 \
+ | grep -E "$file_pattern" \
+ | while v="$(line)"; do
+ meta_line "$v"
+ done >"$meta"
+else
+ find "$dir" -type f -mindepth 1 -maxdepth 1 \
+ | grep -E "$file_pattern" \
+ | while v="$(line)"; do
+ if [ "$v" -nt "$meta" ]; then
+ grep -qF " ${v}" "$meta" \
+ || meta_line "$v"
+ fi
+ done >>"$meta"
+fi