Skocz do zawartości
IGNORED

Optymalizacja kolekcji plików flac


prezi

Rekomendowane odpowiedzi

Kiedyś w jakim wątku toczyła się dyskusja na temat sensu kodowania plików flac z opcją -8 (--best). Kodek flac zakłada, że o ile kodowanie trwa długo to odtwarzanie już nie. Nie udało mi się zaobserwować różnic w obciążeniu terminala hp 400 Mhz odtwarzającego flac -5 i -8.

Argumentem przeciwko kodowaniu -8 był długi czas takiego procesu.

 

Załączam skrypt na linuksa lub każdy inny unix, który pozwała przekodować wygodnie całą bibliotekę. W skrócie: skrypt przekodowywuje tylko te pliki, które tego wymagają.

Skrypt działa na plikach w bieżącym katalogu.

Na początku skryptu w komentarzu jest propozycja wywołania skryptu tak by przejrzał wszystkie podkatalogi.

Działanie skryptu można zawsze przerwać i potem go jeszcze raz uruchomić. Skrypt nie powtarza swojej pracy.

Katalogi, które zoptymalizował lub które tego nie wymagały oznakowuje w ten sposób, że tworzy w nich plik flac8.txt.

Jeśli nastąpił jakiś błąd to w katalogu tworzony jest plik ERROR. Po usunięciu przyczyny błędu należy plik ERROR usunąć.

Błąd może np. wynikać z tego, że nasze pliki flac są uszkodzone.

 

 

#!/bin/sh

 

#######################################################

#Propozycja wywołania skryptu aby przejrzał WSZYSTKIE podkatalogi

#find . -type d -exec sh -c 'cd "{}" && flacreencode8' ;

#######################################################

 

if [ -f ERROR ]

then

echo "There were some probles with directory `pwd`"

exit 1

fi

 

 

 

if [ -f flac8.txt ]

then

echo "FLACs in `pwd` will NOT be reencoded"

exit 0

fi

 

if [ ! "$(ls -A *.flac 2>/dev/null)" ]

then

echo "No FLACs in `pwd`"

exit 1

fi

 

 

tempfile=`mktemp`

tempresult=`mktemp`

testedfile=`ls -A *flac 2>/dev/null | sort -R | head -n1`

cp ${testedfile} ${tempfile}

 

echo "Checking compression in directory `pwd`"

flac -8f ${tempfile} 2>${tempresult}

 

if [ ! $? = 0 ]

then

echo "There are some problem with testing file ${testedfile} in directory `pwd`"

touch ERROR

exit 1

fi

 

 

#wyluskuję z wyniku 1,000 1,001 i 0,999 to co przed przecinkiem

#będzie albo 0 albo 1

result=`cat ${tempresult} | tail -c 6 | head -c 1`

rm ${tempfile}

rm ${tempresult}

 

 

 

if [ ${result} = 1 ]

then

echo "FLACs in `pwd` will NOT be reencoded"

touch flac8.txt

exit 0

fi

 

echo "Reencoding of FLACs in `pwd`"

flac -8f *.flac

 

 

if [ ! $? = 0 ]

then

echo "There are some problem with FLACs in `pwd`"

touch ERROR

exit 1

else

touch flac8.txt

echo Done

fi

A mi kod nie wchodzi. WTF?

 

Co się dzieje? Jaki ci się pojawia błąd. Idzie tu jakoś załączyć plik?

W każdym razie skrypt uruchom najpierw w katalogu bez plików flac.

 

$ cd /tmp

$ flacreencode.sh

No FLACs in /tmp

Nieporozumienie.

Nie wchodzi mi "kod" w poście, kol. migrena miał na myśli że listing najlepiej wstawić na forum jako "kod".

Co mi się nie udało.

;)

"...Kto zagląda pod powierzchnię, czyni to na własną odpowiedzialność..."

Don Kichote to zły człowiek był...

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą )

O, wchodzi!

Chyba trza wyłączać Adblock'a... :D

"...Kto zagląda pod powierzchnię, czyni to na własną odpowiedzialność..."

Don Kichote to zły człowiek był...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.



  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
  • Biuletyn

    Chcesz być na bieżąco ze wszystkimi naszymi najnowszymi wiadomościami i informacjami?
    Zapisz się
  • KONTO PREMIUM


  • Ostatnio dodane opinie o sprzęcie

    Ostatnio dodane opinie o albumach

  • Najnowsze wpisy na blogu

×
×
  • Dodaj nową pozycję...

                  wykrzyknik.png

Wykryto oprogramowanie blokujące typu AdBlock!
 

Nasza strona utrzymuje się dzięki wyświetlanym reklamom.
Reklamy są związane tematycznie ze stroną i nie są uciążliwe. 

 

Nie przeszkadzają podczas czytania oraz nie wymagają dodatkowych akcji aby je zamykać.

 

Prosimy wyłącz rozszerzenie AdBlock lub oprogramowanie blokujące, podczas przeglądania strony.

Zarejestrowani użytkownicy + mogą wyłączyć ten komunikat oraz na ukrycie połowy reklam wyświetlanych na forum.