[Gelöst] Titelliste von Videodateien erstellen.

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

[Gelöst] Titelliste von Videodateien erstellen.

Beitrag von ottonormal » 30.06.2022 08:55:37

Hallo,

auf einer ext. Festplatte habe ich etliche hundert Videos in verschiedenen Ordnern und Unterordnern. Nun möchte ich von allen Videos (mkv, mp4, avi, divx, mpg, mpeg und andere[?]) zum einfacheren Auffinden eine alphabetische Liste erstellen. Das kann eine einfache Textdatei sein mit nur den Titeln in alphabetischer Reihenfolge.

Wie kann ich das am einfachsten und schnellsten bewerkstelligen?
Zuletzt geändert von ottonormal am 30.06.2022 12:40:00, insgesamt 1-mal geändert.

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: Titelliste von Videodateien erstellen.

Beitrag von MSfree » 30.06.2022 09:27:44

So in etwa?

Code: Alles auswählen

find /mount/der/ext/platte -type f -exec file {} \; |\
grep video |\
awk '{
  n=split($1,a,"/");
  print a[n]"   "$1
}' |\
sort

Benutzeravatar
TRex
Moderator
Beiträge: 8077
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Titelliste von Videodateien erstellen.

Beitrag von TRex » 30.06.2022 09:33:59

nochn Tip dazu: -size +100M (oder wo auch immer deine Videos so anfangen), um irgendwelche thumbs oder so Metadaten rauszufiltern.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: Titelliste von Videodateien erstellen.

Beitrag von MaGe » 30.06.2022 10:08:53

@ ottonormal

Keine ahnung wie deine liste aussehen soll
vielleicht reicht schon das.

Code: Alles auswählen

 ls "/Video/WESTERN-TV/" | sort > test.txt 


gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: Titelliste von Videodateien erstellen.

Beitrag von ottonormal » 30.06.2022 11:09:51

MSfree hat geschrieben: ↑ zum Beitrag ↑
30.06.2022 09:27:44
So in etwa?

Code: Alles auswählen

find /mount/der/ext/platte -type f -exec file {} \; |\
grep video |\
awk '{
  n=split($1,a,"/");
  print a[n]"   "$1
}' |\
sort
Das funktioniert bei mir leider nicht. Es sieht so aus, als wenn von Titeln mit Leerzeichen nur der die ersten Buchstaben angezeigt werden. Dann auch nur AVIs? Unterordner werden auch nicht berücksichtigt.

Hierbei:

Code: Alles auswählen

ls "/media/NAME/2TB-USB-HDD-EXT4/" | sort > test.txt
Werden die Titel zwar richtig angezeigt, der Inhalt von Unterordnern aber auch nicht.

Benutzeravatar
hikaru
Moderator
Beiträge: 13593
Registriert: 09.04.2008 12:48:59

Re: Titelliste von Videodateien erstellen.

Beitrag von hikaru » 30.06.2022 11:45:55

Ich stehe auf Kriegsfuß mit awk, deshalb weiß ich nicht genau, was in MSfrees Vorschlag passiert, aber ich vermute, dass ein Problem ist, dass file nicht alle Videotypen als solche erkennt, sondern sie als "data" identifiziert. Die fliegen dann in grep raus.
Das "andere" in deinem ersten Beitrag ist eine echt schwer zu knackende Nuss, denn dazu bräuchte man ein Tool, das alle möglichen Videotypen sauber identifizieren kann. Eigentlich soll file das leisten, aber es hinkt der Videobranche hier wohl um ein paar Jahr(zehnt)e hinterher, bzw. kann das prinzipiell nicht leisten.
TRex möchte das über das Hilfskonstrukt Dateigröße lösen, denn Videos sind tendenziell groß. Aber das ist natürlich Fuzzy-Logic, welche fehleranfällig ist, sowohl für false-positives als auch false-negatives.

Wenn du die Dateiendungen exakt eingrenzen könntest würde ich diesen Vorschlag präsentieren:

Code: Alles auswählen

find /mount/der/ext/platte -iname '*mkv' -iname '*mp4' -iname '*usw' -exec basename {} \; sort

Huo
Beiträge: 614
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Titelliste von Videodateien erstellen.

Beitrag von Huo » 30.06.2022 11:56:52

ottonormal hat geschrieben: ↑ zum Beitrag ↑
30.06.2022 11:09:51
Hierbei:

Code: Alles auswählen

ls "/media/NAME/2TB-USB-HDD-EXT4/" | sort > test.txt
Werden die Titel zwar richtig angezeigt, der Inhalt von Unterordnern aber auch nicht.
Mit Option -R zeigt ls rekursiv auch den Inhalt der Unterverzeichnisse an. Wenn Du die Verzeichnispfade selbst nicht anzeigen willst, ginge das so:

Code: Alles auswählen

ls -R /media/NAME/2TB-USB-HDD-EXT4/" | grep -v / | sort
EDIT: Oder, um auch störende Leerzeilen in der Ausgabe zu tilgen:

Code: Alles auswählen

ls -R /media/NAME/2TB-USB-HDD-EXT4/" | egrep -v '(/|^$)' | sort

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: Titelliste von Videodateien erstellen.

Beitrag von MSfree » 30.06.2022 12:20:00

hikaru hat geschrieben: ↑ zum Beitrag ↑
30.06.2022 11:45:55
Ich stehe auf Kriegsfuß mit awk, deshalb weiß ich nicht genau, was in MSfrees Vorschlag passiert,
Das soll Den Dateinamen vom Pfad trennen. Weiter unten wird dazu auch basename verwendet. Als Ausgabe produziert awk dann eine Liste mit Dateinamen und dahinter dem vollen Dateipfad. Sortiert werden soltle ja nach dem Dateinamen, also muß der voran gestellt werden.

Ob file alle Videotypen erkennt, weiß ich nicht. Das Problem mit Leerzeichen im Dateinamen läßt sich folgendermassen lösen:

Code: Alles auswählen

find /mount/der/ext/platte -type f -exec file {} \; |\
grep video |\
awk -F : '{
  n=split($1,a,"/");
  print a[n]"   "$1
}' |\
sort -f
sort -f sortiert ohne Berücksichtigung von Groß- und Kleinschreibung.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: Titelliste von Videodateien erstellen.

Beitrag von ottonormal » 30.06.2022 12:26:52

Vielen Dank!
Das haute jetzt fast so hin wie ich es wollte:

Code: Alles auswählen

ls -R /media/NAME/2TB-USB-HDD-EXT4 | grep -v / | sort
Es sind nur noch viele andere Dateien, die eigentlich nicht angezeigt werden sollten. Z,B. .txt und auch Musikdateien. Wenn ich die noch herausfiltern könnte, wär's perfekt.

Notfalls könnte es aber auch so bleiben.

Eigentlich hätte ich gedacht, hier ausgelacht zu werden für so eine simple Sache. Das scheint aber wohl doch erheblich komplizierter als gedacht.

tobo
Beiträge: 1993
Registriert: 10.12.2008 10:51:41

Re: Titelliste von Videodateien erstellen.

Beitrag von tobo » 30.06.2022 12:32:44

Was ist denn mit der korrigierten Version von hikaru:

Code: Alles auswählen

find /media/NAME/2TB-USB-HDD-EXT4 \( -iname '*mkv' -o -iname '*mp4' -o -iname '*usw' \) -exec basename {} \; | sort
Für jedes iname-Muster muss man ein Oder (-o) setzen, weil ansonsten implizit mit Und verknüpft wird.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: Titelliste von Videodateien erstellen.

Beitrag von ottonormal » 30.06.2022 12:34:08

Code: Alles auswählen

find /mount/der/ext/platte -type f -exec file {} \; |\
grep video |\
awk -F : '{
  n=split($1,a,"/");
  print a[n]"   "$1
}' |\
sort -f
Damit werden nur AVIs angezeigt, sonst nichts. Dafür die kompletten Pfade, damit wird mir das zu unübersichtlich.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: Titelliste von Videodateien erstellen.

Beitrag von ottonormal » 30.06.2022 12:39:17

tobo hat geschrieben: ↑ zum Beitrag ↑
30.06.2022 12:32:44
Was ist denn mit der korrigierten Version von hikaru:

Code: Alles auswählen

find /media/NAME/2TB-USB-HDD-EXT4 \( -iname '*mkv' -o -iname '*mp4' -o -iname '*usw' \) -exec basename {} \; | sort
Für jedes iname-Muster muss man ein Oder (-o) setzen, weil ansonsten implizit mit Und verknüpft wird.
Ja, DAS isses jetzt. Das ist perfekt.
Vielen Dank dafür! :THX:
Zuletzt geändert von ottonormal am 30.06.2022 12:41:51, insgesamt 1-mal geändert.

tobo
Beiträge: 1993
Registriert: 10.12.2008 10:51:41

Re: [Gelöst] Titelliste von Videodateien erstellen.

Beitrag von tobo » 30.06.2022 12:41:09

Dann ersetze mal das "grep video" durch "grep "video\|Media""
PS:
Bezieht sich auf die Antwort zum Beitrag von MSfree.

Benutzeravatar
hikaru
Moderator
Beiträge: 13593
Registriert: 09.04.2008 12:48:59

Re: Titelliste von Videodateien erstellen.

Beitrag von hikaru » 30.06.2022 13:02:56

tobo hat geschrieben: ↑ zum Beitrag ↑
30.06.2022 12:32:44
Für jedes iname-Muster muss man ein Oder (-o) setzen, weil ansonsten implizit mit Und verknüpft wird.
Danke für die Korrektur!
Den Teil hatte ich dann nicht mehr getestet, weil Filterketten sind ja "trivial". ;)

Antworten