To narzędzie służy do wyświetlania informacji o pliku video. Okienko można wygenerować za pomocą zenity lub twojego ulubionego. Potrafi generować pliki .nfo automatycznie. Thunar nie posiada nawet tego pierwsze więc można sobie obie funkcje podpiąć.. Potrzebny jest mplayer, bash.
- Przykładowe wpisy w thunarze:
- "video.nfo pokaż"
- videonfo -z %f
- "video.nfo zapisz"
zenity --question --text="Czy napewno chcesz wygenerować plik .nfo dla\n%n?" && videonfo -n %f
#!/bin/bash
#
f_help() {
cat <<EOF
video.nfo wersja 0.0.99.1 (RC) 2007 | 3ED <kas1987@o2.pl>
Składnia: videonfo [OPCJA] [PLIK]
Możliwa jest tylko jedna opcja i tylko jeden plik na raz.
Program jest rozprowadzany na licencji GPL2 lub nowszej.
Możliwe opcje:
-z, --zenity wyświetli informacje w okienku zenity
-n, --nfo zapisze informacje do pliku .nfo
-h, --help wyświetli tę informację
EOF
}
f_nfo_top() {
cat <<EOF
-----------------------------------------------------------
## ## ## ## ####
## ## ## ## ##
## ## ## ###### ##### ###### ###### ## ######
## ## ## ## ## ##### ## ## ## ## #### ## ##
## ## ## ## ## ## ## ## ## ## ## ## ##
### ## ###### ##### ###### ## ## ## ## ######
-----------------------------------------------------------
EOF
}
f_nfo_bottom() {
cat <<EOF
-----------------------------------------------------------
EOF
}
f_readfile() {
if [ -e "$1" ]; then
eval $(mplayer -vo null -ao null -frames 0 -identify "$1" 2>/dev/null |sed -ne '/^ID_/ {s/[]()|&;<>`'"'"'\\!$" []/\\&/g;p}')
ID_FILESIZE="$(echo $(du -h0 "$1")|cut -d\ -f1)"
NFO_FILENAME="${ID_FILENAME}.nfo"
else
echo "Plik nie istnieje.."
exit 1
fi
}
f_print() {
f_readfile "$1"
cat <<EOF
Rozmiar pliku: ${ID_FILESIZE}B
Kontener pliku: $ID_DEMUXER
Czas trwania: $[$(echo $ID_LENGTH|cut -d. -f1) / 60] min
Kodek wideo: ${ID_VIDEO_FORMAT}
Wideo bitrate: $ID_VIDEO_BITRATE bps
Wymiary obrazu: ${ID_VIDEO_WIDTH}x${ID_VIDEO_HEIGHT}
Wideo FPS: $ID_VIDEO_FPS
Kodek Audio: $ID_AUDIO_CODEC
Audio bitrate: $[ID_AUDIO_BITRATE /1000] kbps
Audio rate: $ID_AUDIO_RATE
Kanałów audio: $ID_AUDIO_NCH
EOF
}
if [ "$1" = "-h" -o "$1" = "--help" ]; then
f_help
elif [ "$1" = "-z" -o "$1" = "--zenity" ]; then
f_print "$2"| \
zenity --text-info --title="video.nfo" --width="250" --height="380"
elif [ "$1" = "-n" -o "$1" = "--nfo" ]; then
if [ -e "$2" ]; then
f_nfo_top > "${2}.nfo"
f_print "$2" >> "${2}.nfo"
f_nfo_bottom >> "${2}.nfo"
else
f_print
fi
else
f_print "$1"
fi
1 | aminulz
14 listopada 2007, 16:40:41
Idzie do ~/bin. Przyda się, dzięki.