.mkv Files taggen

Status
Für weitere Antworten geschlossen.

unr0ckbar

Benutzer
Mitglied seit
06. Aug 2014
Beiträge
33
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe das Problem, dass einige meiner Videofiles einfach falsch getagged wurden/sind und daher auch in der VideoStation nicht richtig erkannt werden können.

Da die Videostation wohl auch nach einem Neustart die selbst-getaggten Infos verliert

> http://www.synology-forum.de/showth...-Film-Informationen-trotz-manueller-Zuweisung <

wäre es sinnvoll die Datei direkt im File zu taggen...

Allerdings habe ich durchs googlen auch keine sinnvolle Variante gefunden, das datenbankgestützt zu tun...

Hat jemand von euch eine Idee/Möglichkeit v.a. mkv Files zu taggen?

Würde mich freuen :)
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.242
Punkte für Reaktionen
586
Punkte
174
Hi,

um *.mkv Files zu editieren ist folgendes Tool zu empfehlen.
MKVToolNix: Link

Gruß
luddi
 

unr0ckbar

Benutzer
Mitglied seit
06. Aug 2014
Beiträge
33
Punkte für Reaktionen
0
Punkte
0
servus Luddi,

danke für den Hinweis.
Allerdings kann das Tool doch "nur" die Dateien selbst bearbeiten, aber nicht irgendwelche META-Daten (taggen) wie Serienname, Staffel, Episode etc.
Die werden höchstens in dem .xml anbei gespeichert, aber die sind weder von der VideoStation auslesbar noch kann ich mir die Daten (cover, Episodenname) direkt aus dem Inet ziehen.

Ich habe nun aber eine andere Möglichkeit gefunden:

Ich habe die Antwort gestern zufällig selbst herausgefunden. Die Videostation sucht sich alle Daten und Cover selbstständig aus dem Netz. Dazu müssen die Ordner wie folgt benannt sein.

Ordner Serien –> Ordner Breaking Bad –> Ordner Staffel 1 –> Datei Breaking Bad S01E01, Breaking Bad S01E02 usw. Man kann die Dateien auch “Breaking Bad S01E01 – Die Katze ist im Sack” nennen.

Wichtig ist der Name und die S01E01 im Dateinamen.

Ein Skript drüber laufen lassen, et voila.
Da nur die Dateinamen stimmen müssen, sollte das recht simple machbar sein :D
 

unr0ckbar

Benutzer
Mitglied seit
06. Aug 2014
Beiträge
33
Punkte für Reaktionen
0
Punkte
0
Ist zwar kein Taggen in dem Sinne, hilft aber, dass die Videostation alle nötigen Informationen lädt.

Das Konsolentool benennt die Dateien in dem Ordner einfach um. Wenn die Dateien so wild wiebei mir heißen

> tvs-2bg-dd51-ded-dl-18p-ithd-avc-218.mkv <

verstehe ich die VideoStation, dass man hier keine Infos draus ziehen kann.

Die Videostation hätte dafür gerne eine folgende hierarchie:

Indizierter Ordner -> Serienname -> Staffel X -> Serienname - SXXEXX.mkv

Das kleine Tool anbei "kann" folgendes:


der Pfad der bearbeitet werden soll wird abgefragt:
Ob W:/Serien ... oder W:\ Serien ist egal

Unterstützt werden derzeit alle Formate, da nur die Endung des files (.xxx) ausgelesen wird und wieder angehängt wird. Auf 4-5-6 "stellige" Endungen habe ich derzeit keine Rücksicht genommen

Der Prüfstring ist wichtig...
Am Beispiel der oberen Datei wäre das wohl avc-218, an der man die Folge erkennt. Nur 18 wäre zu wenig, da sich das von File zu File ändert, ausserdem haben wir 2x die 18 im Filenamen.
Das ganze ist wie eine Maske zu behandeln. Das bedeutet wenn ich diese Folgen 1-20 richtig umbennen will, ändert sich die Zahl der Folge. Die Maske wäre dann hier avc-2?? wobei die Fragezeichen wildcards darstellen.

Der Teil der S02 Bezeichnung zieht sich das Skript NICHT aus dem Dateinamen, sondern aus dem Ordner in dem die Datei abgelegt ist. Wenn das File im Ordner Staffel 2 liegt, wird auch im Filenamen S02 auftauchen

Desweiteren muss natürlich noch die Länge angegeben werden, in denen sich die relevanten Daten im String befinden. Hier war der String "avc-218" 7 Zeichen lang und nach dem 5. soll die Folge ausgelesenwerden ;)

Mehr muss nicht gemacht werden. Den Rest macht das Skript. Keine große Kunst, aber dennoch eine große Arbeitserparnis! :)

sollte tatsächlich jemand eine GUI für das Tool haben wollen, der kann mir gerne Bescheid sagen, dann bastel ich bei Gelegenheit noch eine drüber

BITTE BEACHTEN

Ich habe das Skript nur an meinen Files getestet und dementsprechend auch nur an sehr begrenzten Voraussetzung. Macht euch kopien oder testet es an einem File aus, bevor ihr das über eure Serien rennen lasst ;)!

Hab jetzt nur den sourcecode angehängt, nicht dass irgendjemand meint ich vertreibe hier malware :p

http://codeviewer.org/view/code:42bf

Nicht an den Kommentaren stören, das war noch vom rumprobieren ;P

PS: Bitte weder an Rechtschreibfehlern, Grammatikfehlern oder dreckigem Code stören... es ist dafür doch etwas früh ;3
 
Zuletzt bearbeitet:

cp389

Benutzer
Mitglied seit
07. Jan 2014
Beiträge
532
Punkte für Reaktionen
5
Punkte
44
Hallo unr0ckbar,

Was meinst Du eigentlich mit "Prüfstring"? Ist das der Teil, aus dem sich Serien-Name, Staffel und Episode ableiten lassen?

Falls ja, wäre doch vielleicht RegEx eine nützliche Methode, um die relevanten Informationen aus dem String zu holen.
Ein kleines und einfaches Beispiel:

Um aus dem String tvs-2bg-dd51-ded-dl-18p-ithd-avc-218.mkv Staffel und Episode herauszuholen, würde Dir ^.*?avc-(\d)(\d{2}).*$ als Ergebnis 2 und 18 liefern, die Du einfach weiter nutzen könntest.
 

unr0ckbar

Benutzer
Mitglied seit
06. Aug 2014
Beiträge
33
Punkte für Reaktionen
0
Punkte
0
zugegeben, ist etwas unglücklich formuliert.

Danke erstmal für dem Hinweis =)
mit den "wildcards" S\d{2}E\d{2} hatte ich zuerst auch gearbeitet. Hatte nur leider ausschließlich mit der .matches Methode funktioniert, ausserdem müsste man das Skript dann hardgecoded lassen. Diese "wildcards" über die Konsole einzulesen geht wohl nicht, oder ich war zu dämlich ;P

Fast ;) Der Prüfstring liefert im Endeffekt nur die Folge. Staffel und Seriennamen liefern die jeweiligen übergeordneten Folder
Du wählst einfach einen String aus, der Signifikant für die Stelle des Dateinamens ist, hier avc-218, oder auch c-218... vermutlich würde auch -218 reichen. Für die Variablen (Folge) gibst du einfach ?? an.. Also avc-2??..

Dass es nicht schön gecoded ist, glaube ich gerne ;P
Bei meinem Problem hats mir geholfen, und das wollte ich einfach teilen, da es deutlich schneller geht als die Dinger manuell zu renamen

Da ich "oben" nicht mehr editieren kann:

http://codeviewer.org/view/code:42c0
 
Zuletzt bearbeitet:

cp389

Benutzer
Mitglied seit
07. Jan 2014
Beiträge
532
Punkte für Reaktionen
5
Punkte
44
Falls Du wirklich eine GUI dazu baust, solltest Du das mit dem Prüfstring da auch nochmal genauer erläutern :D

Man könnte die RegEx auch nochmal auf andere gängige Formate anpassen/erweitern. Zum Beispiel würde ^.*?(?|avc-(\d)(\d{2})|s(\d{2})e(\d{2})).*$, angewendet auf die Files
tvs-2bg-dd51-ded-dl-18p-ithd-avc-218.mkv
himym.s07e16.avi
jeweils eine Liste mit zwei Werten zurückgeben.

Wert 1 entspricht der Staffel, Wert 2 der Episode. Wobei bei dem ersten File die Staffelnummer einstellig wäre, bei dem zweiten dann zweistellig. Das könnte man vielleicht im Script behandeln oder die RegEx nochmal entsprechend erweitern.

Bildschirmfoto 2014-08-15 um 12.04.24.png
 

unr0ckbar

Benutzer
Mitglied seit
06. Aug 2014
Beiträge
33
Punkte für Reaktionen
0
Punkte
0
durchaus richtig, aber ich muss ehrlich sagen dass an der Stelle der Mehrwert für mich bereits endet ;P

Das Coden macht zwar spaß, kein Thema. Aber ob ich mir die S02 aus dem Titel oder aus dem Parent-Folder... mhm :D sauberer, und leichter adaptierbar ist es sicherlich auf der Variante dass man beides aus dem Dateinamen nimmt, das ist schon richtig.

Allerdings wird das bei nicht manueller Eingabe echt schwierig..

Aufgrund eines Algorythmuses z.b. Folgende Serie einzuordnen

SerieHugo.2003.1080.0104 jeder weiß dass 1080 nichts mit Staffel/Episode zu tun hat, dem Skript fällt das recht schwer, und wenn man das nicht bedenkt hat man recht fix eine Staffel 10 Folge 80 ;D deswegen war es für mich hier am einfachsten, eine eigene maske drüberzulegen, hier z.b. in Form von 80.01?? und die Staffel zieht er sich eben aus dem Parent Folder

scöner wäre es sicherlich auf deine weise
 

cp389

Benutzer
Mitglied seit
07. Jan 2014
Beiträge
532
Punkte für Reaktionen
5
Punkte
44
^.*?(?|avc-(\d)(\d{2})|s(\d{2})e(\d{2})|1080\.(\d{2})(\d{2})).*$
Hab heute frei und somit viel Zeit für Spielereien. :D

aber ich muss ehrlich sagen dass an der Stelle der Mehrwert für mich bereits endet ;P

Aber wenn das so ist ... ;)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat