Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Hej,. Napisałem sobie prosty skrypt który ma mi wygenerować miniaturki i pobrać info o długościach plików, które trzymam na dysku. Plików jest ponad 500. Trzymam ich nazwy w vids.list. vids.list stworzyłem poleceniem:
ls vids/ | tr -s " " | cut -f8-99 -d " " > vids.list
Skrypt wygląda tak:
#!/bin/bash while IFS= read -r line; do md5=`md5sum "vids/$line" | tr -s " " | cut -f1 -d ' '` name=`echo $line | rev | cut -f2-99 -d '.'| rev` dur=`ffmpeg -i "vids/$line" 2>&1 | grep Durat | cut -f3-4 -d ':' | cut -f1 -d "."` #make thumb ss=`ffmpeg -i "vids/$line" -ss 00:00:05.000 -vframes 1 thumbs_md5/$md5.png 2>&1` echo "UPDATE \`videos\` SET display_name ='$name', duration='$dur' WHERE \`file_hash\` = '$md5';" done < vids.list exit 0
Problem jest taki, ze po ktoryms pliku generuje bledy:
md5sum: 'vids/lik100.mp4': Nie ma takiego pliku ani katalogu
Plik100.mp4 oczywiście istnieje na dysku.
Jeśli pozwolę pracowac skryptowi dłużej idą błędy
md5sum: 'vids/ik200.mp4': Nie ma takiego pliku ani katalogu md5sum: 'vids/ik202.mp4': Nie ma takiego pliku ani katalogu
Dokładnie co drugi plik nazwa jest "zjedzona" o dwa znaczki z przodu. Co może być tego przyczyną? Próbowałem usunąć z vids.list linie zawierające Plik100.mp4, Plik200.mp4 itd a także linie sąsiednie ale to nie pomaga. Co może być tego przyczyną?
Offline
A jesteś pewien, że lista plików jest poprawna? Przejrzyj plik vids.list i zobacz czy te nazwy nie są poucinane.
Offline
Nie, nie są. Przeglądałem listę. Próbowałem się pozbyć tych kłopotliwych linijek ale wtedy inne generowały kłopoty. Może jakieś białe znaki w liście? Albo output który generuje ffmpeg?
Offline
To wydaje się zbyt skomplikowane:
ls vids/ | tr -s " " | cut -f8-99 -d " " > vids.list
spróbuj po prostu
ls -1 vids/ > vids.list
Offline