pepre
Supporter
Anmeldungsdatum: 31. Oktober 2005
Beiträge: 6474
Wohnort: Erlangen
|
Hallo! ☺ Weil ich eh dran saß habe ich Baustelle/flac2mp3 erstellt. Könnte unter Skripte/Multimedia verlinkt werden. Ok, ist jetzt nichts besonderes, aber vllt mag es zur Inspiration dienen, wenn jemand ebenfalls parallele Hintergrundjobs starten will. Das Script funktioniert (zumindest bei mir), könnte also die Baustelle verlassen. Edit: Oops! Neuer Artikel im Titel hinzugefügt. Moderiert von BillMaier: Diskussion mit Artikel verlinkt
|
BillMaier
Supporter
Anmeldungsdatum: 4. Dezember 2008
Beiträge: 6492
|
Hallo, danke für das Skript. Ich habe den Satz mit dem "ich" mal entfernt, das wollen wir hier im Wiki nicht ☺ Zwei Anmerkungen: Die getestet-Box sollte auf die wirklich-getestete Version spezifiziert werden. Die Voraussetzungen sollten noch beschrieben sein, bspw. wird ja LAME benötigt, was laut Artikel nicht vorinstalliert ist.
Viele Grüße BillMaier
|
pepre
Supporter
(Themenstarter)
Anmeldungsdatum: 31. Oktober 2005
Beiträge: 6474
Wohnort: Erlangen
|
BillMaier schrieb:
Das muss jemand tun, der Ubuntu hat. 😀
Deshalb habe ich ja LAME und FLAC verlinkt. Falls es eine "requires"-Vorlage gibt, so finde ich sie nicht.
|
noisefloor
Anmeldungsdatum: 6. Juni 2006
Beiträge: 29567
|
Hallo, ich finde den Text noch ein bisschen dünn... Was fehlt, ist die Beschreibung zu Nutzung. Gibt es z.B. Parameter? Außerdem wäre IMHO zumindest noch erwähnenswert, wie man die VBR-Rate für LAME ändert, wenn man deinen Default nicht möchte. Abgesehen davon: IMHO funktioniert das Skript unter Ubuntu nicht, jedenfalls nicht so ohne weiteres. Grund: das Verzeichnis /archiv/media/mp3 gibt's nicht und auch das Anlegen funktioniert nicht - wenn das Skript nicht mit Root-Rechten aufgerufen wird. Und warum soll man überhaupt einen neuen Orderner unterhalb von Root anlegen? Warum läuft das nicht z.B. im Homeverzeichnis? Gibt's dafür Gründe? Gruß, noisefloor
|
BillMaier
Supporter
Anmeldungsdatum: 4. Dezember 2008
Beiträge: 6492
|
pepre schrieb: Deshalb habe ich ja LAME und FLAC verlinkt. Falls es eine "requires"-Vorlage gibt, so finde ich sie nicht.
Gibt es nicht. Ich habe mir mal erlaubt, die beiden in den Wissensblock zu packen. Dass sie installiert sein müssen, könnte als Prosa noch in die Einleitung. @noisefloor: Gute Punkte +1 Gruß BillMaier
|
pepre
Supporter
(Themenstarter)
Anmeldungsdatum: 31. Oktober 2005
Beiträge: 6474
Wohnort: Erlangen
|
noisefloor schrieb:
Grund: das Verzeichnis /archiv/media/mp3 gibt's nicht und auch das Anlegen funktioniert nicht
🙄 Ähm, - ok - ich dachte jetzt nicht, dass das Script eine eierlegende Wollmilchsau werden soll. Die Absicht war eher zu zeigen, wie man LAME einfach parallelisiert, wenn man sowieso rekursiv durch ein Verzeichnis huscht. Und dass man die Pfade ändert war für mich völlig selbstverständlich. Ich werde das jetzt nicht anpassen, damit es DAU-freundlich wird, - die Zeit habe ich gar nicht. Dann löscht das Ganze lieber wieder. ☺
|
pepre
Supporter
(Themenstarter)
Anmeldungsdatum: 31. Oktober 2005
Beiträge: 6474
Wohnort: Erlangen
|
Ich kann mich des Eindrucks nicht erwehren, dass ich hier in eine wikipedianische Stub-Mine getreten bin... 😀
|
noisefloor
Anmeldungsdatum: 6. Juni 2006
Beiträge: 29567
|
Hallo,
Ich kann mich des Eindrucks nicht erwehren, dass ich hier in eine wikipedianische Stub-Mine getreten bin...
Nein. Aber es gibt nun mal ein paar Regeln hier im Wiki. Und dazu gehört, dass der Artikel a) unter *buntu funktioniert. Tut er aber nicht, wegen der Pfade. b) ein Wikiartikel besteht minimal aus Einleitung, Installations-Abschnitt und Nutzungsabschnitt. Die Installation fehlt(e). c) das ein bisschen Erklärung dabei ist - fehlt aber komplett. Sprich: das ist alles zu wenig. Bitte auch mal Wiki/Referenz lesen. Da steht alles drin, was wichtig / relevant ist.
Die Absicht war eher zu zeigen, wie man LAME einfach parallelisiert, wenn man sowieso rekursiv durch ein Verzeichnis huscht.
Prinzipiell ein ehrbares Anliegen. ABER: wie soll man denn irgendwie irgendwas lernen, wenn keine Erklärung dabei ist und das Skript an sich auch komplett unkommentiert ist? Sprich: wenn man nicht weiß, wie man mehrere Jobs parallel startet, weiß man es nach dem Lesen des Artikels auch nicht wirklich. Wenn du eine Absicht hast, müsstest du hier noch mehr tun, damit es nicht bei der guten Absicht bleibt.
Ich werde das jetzt nicht anpassen, damit es DAU-freundlich wird, - die Zeit habe ich gar nicht.
Brauchst du auch nicht. Was fehlt: siehe oben.
Dann löscht das Ganze lieber wieder.
Also verwirfst du deine Absicht wieder, zu zeigen, wie man in der Bash einfach parallelisiert? Gruß, noisefloor
|
pepre
Supporter
(Themenstarter)
Anmeldungsdatum: 31. Oktober 2005
Beiträge: 6474
Wohnort: Erlangen
|
noisefloor schrieb:
... Stub-Mine...
Nein.
Doch 😀 Es ist das Wesen eines Stubs, dass er nicht ausformuliert ist, sondern mit der Zeit wächst.
... dass der Artikel a) unter *buntu funktioniert. Tut er aber nicht, wegen der Pfade.
Die Pfade sind bei jedem anders. Das kann nicht ootb funktionieren.
Installations-Abschnitt
Eines Bashscripts?!
Dann löscht das Ganze lieber wieder.
Also verwirfst du deine Absicht wieder, zu zeigen, wie man in der Bash einfach parallelisiert?
Ja. Vllt habe ich irgendwann mal Zeit dafür das nach den Vorschriften zu machen, aber nicht jetzt.
|
noisefloor
Anmeldungsdatum: 6. Juni 2006
Beiträge: 29567
|
Hallo, habe die letzte brauchbare (=die, die man Wiki-tauglich machen könnte) Version wieder hergestellt und, da pepre den Artikel nicht fertig machen möchte, auf "Verlassen" gesetzt. Wenn jemand den Wikiartikel fertig und Wiki-konform machen möchte → nur zu. Viel fehlt ja nicht mehr. Gruß, noisefloor
|
pepre
Supporter
(Themenstarter)
Anmeldungsdatum: 31. Oktober 2005
Beiträge: 6474
Wohnort: Erlangen
|
noisefloor schrieb:
habe die letzte brauchbare (=die, die man Wiki-tauglich machen könnte) Version wieder hergestellt
What?! Erst erklärt man mir sinngemäß: "so völlig unbrauchbar, weil alle Formalien fehlen, und das Script läuft sowieso nicht". Gut, akzeptiert, und bevor bei den Usern Unheil geschieht, lösche ich das. Dann wird die Löschung der PM gerügt mit dem Verweis auf "Vandalismus", - und plötzlich existiert doch eine "brauchbare" Version und der Status wechselt von "Kompletter Mist" zu "Viel fehlt ja nicht mehr"?! Leute, Leute, das war mal viel entspannter hier... 🙄
|
BillMaier
Supporter
Anmeldungsdatum: 4. Dezember 2008
Beiträge: 6492
|
Hallo prepre, ich akzeptiere, dass du gefrustet bist. Einiges an Interpretation gehört da aber doch dazu. Ich frage mich zum Beispiel, woher du pepre schrieb:
"Kompletter Mist" hast. Wir haben konkret ein paar Dinge hinterfragt und andere Dinge konkret angemerkt. Von "kompletter Mist" war nicht die Rede. Dass du die Anmerkungen/Rückfragen nicht beantworten oder etwas ändern willst, ist ok. Aber löschen geht echt gar nicht. Viele Grüße BillMaier
|
pepre
Supporter
(Themenstarter)
Anmeldungsdatum: 31. Oktober 2005
Beiträge: 6474
Wohnort: Erlangen
|
"Kompletter Mist"
Wortklauberei. Aber löschen geht echt gar nicht.
Prinzipienreiterei. Aber es gibt nun mal ein paar Regeln hier im Wiki.
Wenn der höchst unfertige Artikel und das nicht lauffähige Script User - wie befürchtet - verwirrt, dann doch besser weg damit, oder nicht? Aber offenbar schlägt die Regel "nicht löschen" die Regel "Stubs sind nicht erwünscht". Woher sollen Autoren das wissen?
|
tomtomtom
Supporter
Anmeldungsdatum: 22. August 2008
Beiträge: 55061
Wohnort: Berlin
|
noisefloor schrieb: Und warum soll man überhaupt einen neuen Orderner unterhalb von Root anlegen? Warum läuft das nicht z.B. im Homeverzeichnis?
Und jetzt schauen wir alle mal, wo das Homeverzeichnis liegt. Oh, unterhalb von "Root" (also / , nicht /root/ ). Immer diese Ungenauigkeiten in der Formulierung!!1!! 😈
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 13091
|
Ich hätte da noch ein alternatives Skript, das ohne bash und Job Control auskommt, aber ebenfalls parallel konvertiert. Poste ich das jetzt als zweites Skript auf der Seite? Wer es vorher mal anschauen möchte: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 | #!/bin/sh
# Convert a folder of .flac files to another folder
# with .mp3 files.
test -z "$DEBUG" || set -x
flac_dir=/archive/media/flac
mp3_dir=/archive/media/mp3
# number of cores i.e. parallel jobs
cores=4
# ---- main ---------------
limit=$cores
( cd "$flac_dir" && find -type f -name '*.flac' ) | {
trap 'cores=$((cores + 1))' CHLD
while IFS= read -r flac; do
mp3="$mp3_dir/${flac%.*}.mp3"
flac="$flac_dir/$flac"
if ! [ "$mp3" -nt "$flac" ]; then
test $cores -eq 0 && wait
echo "from $flac to $mp3"
cores=$((cores - 1))
{
trap '' CHLD
mkdir -p "${mp3%/*}"
#nice -n 15 flac -s -c -d "$flac" | nice -n 15 lame -S --vbr-new -V0 - "$mp3" 2>/dev/null
nice -n 15 lame -S --vbr-new -V0 "$flac" "$mp3" 2>/dev/null
} &
fi
done
while [ $cores -lt $limit ]; do
wait
done
}
|
Unterschiede:
kürzer keine bash und Job Control benötigt lame kann selber FLAC lesen
klein geschriebene Namen für Variablen, die lokal im Skript sind benötigt keine temporären Dateien (und wenn, sollte man mktemp für das Anlegen nutzen) Konvertieren und Verzeichnis anlegen in einem Durchgang mit find . bessere Behandlung von Dateinamen mit Sonderzeichen
|