Hallo,
gibt es für eine vernünftige Darstellung bzw. Bezeichnung der Aufnahmen in Plex ein Tool/Skript o.ä. ?
Hallo,
gibt es für eine vernünftige Darstellung bzw. Bezeichnung der Aufnahmen in Plex ein Tool/Skript o.ä. ?
ich versuchs nochmal
Ich nutze ein Digital Devices SAT-IP Octopus NET Pro (8 Tuner) in Verbindung mit VDR - das funktioniert hervorragend!
Leider unterstützt Apple TV aktuell nur "Plex" (kein Kodi mit vnsi) - die Unterstützung des Octopus Net in Plex funktioniert zwar, ist aber nicht 100% ausgereift weshalb ich gerne weiterhin beim VDR bleibe.
Das einzige Thema was nicht gut funktioniert, ist die VDR Aufnahmen in Plex vernünftig darzustellen ...
IMHO gibt es 2 Möglichkeiten - entweder mit den recording hook "after", Links für Plex erzeugen oder einen uralten VDR Plex Scraper aus dem Netz zu verwenden. Beides erzeugt nur rudimentäre Links für Plex.
EPG, Fanart, Serienfolgen etc. werden nicht bzw. nicht vernünftig übernommen/dargestellt
Geht das nicht besser?
Ich nutze zwar mittlerweile Plex nicht mehr, sondern jetzt Jellyfin, die Probleme sind da aber die gleichen.
IMHO gibt es 2 Möglichkeiten - entweder mit den recording hook "after", Links für Plex erzeugen oder einen uralten VDR Plex Scraper aus dem Netz zu verwenden. Beides erzeugt nur rudimentäre Links für Plex.
Eine andere Möglichkeit ist mir bisher auch nicht untergekommen. Der "VDR Plex Scraper" funktioniert bei mir auch nicht wirklich, so das ich das bei Filmen händisch mit einem Eintrag in der "reccmds.conf" und für mich passendem bash-script, das dann den entsprechenden Link anlegt, nach dem Schneiden mache. Für Serien habe ich ein extra Script, das dann über die gesamte Serie läuft.
EPG, Fanart, Serienfolgen etc. werden nicht bzw. nicht vernünftig übernommen/dargestellt
Das funktioniert bei mir eigentlich ganz gut, bei einzelnen Sachen muss ich aber auch händisch nacharbeiten.
Wichtig aus meiner Sicht ist, das man keine geteilten ts-Dateien hat, sonst klappt das nicht. Für Plex braucht man ja auch nur diese ts-Datei, alles Andere wird ignoriert. Außerdem muss man die Links entsprechend aussagekräftig benennen. Bei Serien muss unbedingt im Link Serie und Episode enthalten sein, z.B. "Stargate:_Atlantis_S01E01.ts" . Außerdem muss man im plexserver für Filme und Serien verschiedene Scraper auswählen.
Insgesamt bin ich aktuell mit meiner Lösung ganz zufrieden.
Grüße
kamel5
Hallo,
kannst Du Dein Skript zur Verfügung stellen? Mir ist insbesondere unklar wie Du die EPG Information ins Plex bekommst
Danke!
einfach vdr-transcode nutzen - kann man alles sauber automatisieren und in Verzeichnisse ablegen die der Plex-Server lesen soll/kann
Mir ist insbesondere unklar wie Du die EPG Information ins Plex bekommst
Gar nicht. Plex sucht sich selbstständig alle Informationen aus dem Netz, wenn man einen aussagekräftigen Dateinamen verwendet.
einfach vdr-transcode nutzen - kann man alles sauber automatisieren und in Verzeichnisse ablegen die der Plex-Server lesen soll/kann
Es gibt sicher mehrere Möglichkeiten... vdr-transcode habe ich mir diesbezüglich bisher nicht angesehen, weil ich keine Konvertierung brauche, sondern nur einen passenden Dateinamen für den Link.
kannst Du Dein Skript zur Verfügung stellen?
Meine Scripte sind absolut auf meine Verzeichnisstruktur und meine Bedürfnisse angepasst. Da gibt es auch keine Fehlerbehandlung. Bei dem Script für Staffeln wird z.B. vorausgesetzt, das in der Aufnahmen info Datei die Zeile mit dem "D" z.B. so beginnt: "D 4. Staffel, Folge 14:". Ich weis nicht, ob Dir das hilft.
Grüße
kamel5
doch das hilft
Vielen Dank Euch!
doch das hilft
Na dann:
vdr-link-serien.sh rufe ich händisch auf
vdr-link-filme.sh über die reccmds.conf
Wie oben schon geschrieben, alles ohne Gewähr.
Grüße
kamel5
ich hab das jetzt mal in Perl umgesetzt (das Erzeugen der Links ist noch auskommentiert):
#!/usr/bin/perl
use File::Basename;
$FILE=@ARGV[0];
$PLEXDIR="/srv/media";
if (($FILE eq "") || (! -r $FILE)) {
print "\nAufruf: $0 <Aufnahmeverzeichnis/info> \n\n";
exit;
}
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
$TIMESTAMP = sprintf ( "%02d-%02d-%02d",$year+1900,$mon+1,$mday);
$DIRNAME = dirname($FILE);
open(INFO, "<$DIRNAME/info") || die "Datei nicht gefunden\n";
while(<INFO>){
next if (/^[XFPLOCE] /);
chomp();
$GENRE = "$_" if (/^G /);
$GENRE =~ s/^G //g;
$TITEL = "$_" if (/^T /);
$TITEL =~ s/^T //g;
$SUB = "$_" if (/^S /);
$SUB =~ s/^S //g;
if (/^D /) {
s/^D //g;
$DESCRIPTION = "$_";
$EPISODE = "$_";
$STAFFEL = "$_";
$COUNTRY = "$_";
$COUNTRY =~ s/\|.*//g;
if (/^\D+ \d\d\d\d\|/) {
$YEAR = $COUNTRY;
$YEAR =~ s/^.* //g;
$COUNTRY =~ s/ .*//g;
$DESCRIPTION =~ s/^\D+ \d\d\d\d\|//g;
} else {
$YEAR = "";
$COUNTRY = "";
}
if (/Nummer der Staffel/) {
$STAFFEL =~ s/^.*Nummer der Staffel: ([0-9]+).*$/$1/g;
$STAFFEL = "0" . $STAFFEL if ($STAFFEL < 10);
$EPISODE =~ s/^.*Nummer der Episode: ([0-9]+).*$/$1/g;
$EPISODE = "0" . $EPISODE if ($EPISODE < 10);
} else {
$STAFFEL = "";
$EPISODE = "";
}
$DESCRIPTION =~ s/\|(Nummer der Staffel|Name der Episode|Name in externer Datenbank|HD-Produktion).*$//g;
}
}
close INFO;
if ($EPISODE eq "") {
$EPISODE = $TITEL;
$EPISODE =~ s/^.*([1-9]+.[1-9]+).*$/$1/g ;
}
if ($YEAR eq "") {
if ($SUB =~ m/.*([0-9]{4}).*$/) {
$YEAR = $SUB;
$YEAR =~ s/.*([0-9]{4}).*/$1/g ;
}
}
if (($COUNTRY eq "") && ($SUB ne "") && ($YEAR ne "")) {
if ($SUB =~ m/^.*(USA|Deutschland|Großbritannien|Frankreich) [0-9]{4}.*$/) {
$COUNTRY = $SUB;
$COUNTRY =~ s/^.*(USA|Deutschland|Großbritannien|Frankreich) [0-9]{4}.*$/$1/g ;
}
}
if ($SUB =~ m/^Spielfilm /) {
$TYP = "Spielfilm";
$PLEXDIR .= "/Filme";
} elsif ($SUB =~ m/Doku-Reihe,|Dokutainment,/) {
$TYP = "Dokumentation";
$PLEXDIR .= "/Doku";
} elsif ($GENRE =~ m/70|80|82/) {
$TYP = "Dokumentation";
$PLEXDIR .= "/Doku";
}
else {
$TYP = "Serie";
$PLEXDIR .= "/Serien";
}
print "--------\n";
print "Dir: $DIRNAME \n";
print "Typ: $TYP \n";
print "Genre: $GENRE \n";
print "Land: $COUNTRY \n";
print "Jahr: $YEAR \n";
print "Titel: $TITEL \n";
print "Subtitel: $SUB \n";
print "Staffel: $STAFFEL \n" if ("$STAFFEL" != "");
print "Episode: $EPISODE \n" if ("$EPISODE" != "");
print "Beschreibung: $DESCRIPTION \n\n";
$SUB = "- $SUB" if ($SUB ne "");
if ($STAFFEL eq "") {
$NEWNAME="$TITEL $SUB" if ($YEAR eq "");
$NEWNAME="$TITEL ($YEAR) $SUB" if ($YEAR ne "");
} else {
$NEWNAME="$TITEL -$SUB - S${STAFFEL}E${EPISODE}" if ($YEAR eq "");
$NEWNAME="$TITEL ($YEAR) $SUB - S${STAFFEL}E${EPISODE}" if ($YEAR ne "");
}
# https://support.plex.tv/articles/naming-and-organizing-your-tv-show-files/
print "Kommando: ln -snf '$DIRNAME/00001.ts' '$PLEXDIR/$NEWNAME.ts' \n\n";
#qx(ln -snf '$DIRNAME/00001.ts' '$PLEXDIR/$NEWNAME.ts');
#print "find $PLEXDIR -type l -follow -exec rm {} \; \n";
Display More
das könnte man in die Recording-hooks einbauen:
case $1 in
before)
# do here whatever you would like to do right BEFORE
# the recording $2 STARTS
;;
started)
# do here whatever you would like to do right AFTER
# the recording $2 STARTED
;;
after)
# do here whatever you would like to do right AFTER
# the recording $2 ENDED
/etc/vdr/vdr2plex.pl $2/info
;;
editing)
# do here whatever you would like to do right AFTER
# the editing of recording $2 has been started,
# $3 is the original recording
;;
edited)
# do here whatever you would like to do right AFTER
# the recording $2 has been EDITED
# $3 is the original recording
;;
deleted)
# do here whatever you would like to do right AFTER
# the recording $2 has been DELETED
;;
esac
Display More
Wenn Ihr einen find auf das "info" File im VDR Aufnahmeverzeichnis macht
Bekommt Ihr z.B. folgenden Output:
--------
Dir: /srv/media/TV/Traumziele_Südostasiens/2025-02-17.16.30.15-0.rec
Typ: Dokumentation
Genre: 80
Land: Australien
Jahr: 2023
Titel: Traumziele Südostasiens
Subtitel: Indonesische Inselwelten
Staffel: 01
Episode: 01
Beschreibung: Die Inselwelt Indonesiens ist reich an Traumzielen - vom Taucherparadies Raja Ampat über die von Tempeln geprägte Insel Bali und Java mit seinen gewaltigen Vulkanen bis in Borneos Urwälder.|Mit Indonesiens Hauptstadt Jakarta und anderen Millionenstädten zählt die Insel Java zu den am dichtesten besiedelten Regionen der Erde. Doch finden sich dort auch eine Reihe aktiver Vulkane, von denen einige von den Einheimischen als Sitz von Gottheiten verehrt werden.
Kommando: ln -snf '/srv/media/TV/Traumziele_Südostasiens/2025-02-17.16.30.15-0.rec/00001.ts' '/srv/media/Doku/2025-02-17-Traumziele Südostasiens-Indonesische Inselwelten-S01-E01.ts'
--------
Dir: /srv/media/TV/Fremdenlegion/2025-02-03.20.15.15-0.rec
Typ: Dokumentation
Genre: 80
Land: Deutschland
Jahr: 2023
Titel: Fremdenlegion
Subtitel: Rekruten im Härtetest
Beschreibung: Die Fremdenlegion: 9000 Elitesoldaten aus aller Welt, ausgebildet mit Drill und Gehorsam, einsatzbereit für den Kampf. Der Weg in die Legion ist hart, bleiben dürfen nur die Besten.|Täglich kommen Männer aus der ganzen Welt zur Legionskaserne im französischen Aubagne. Sie suchen eine zweite Chance im Leben. Doch was sie erwartet, ahnen sie nicht: scharfer Befehlston, harte Tests, wenig Schlaf, wenig zu essen, eine extreme Zeit.
Kommando: ln -snf '/srv/media/TV/Fremdenlegion/2025-02-03.20.15.15-0.rec/00001.ts' '/srv/media/Doku/2025-02-17-Fremdenlegion-Rekruten im Härtetest.ts'
--------
Dir: /srv/media/TV/Fremdenlegion/2025-02-03.21.00.15-0.rec
Typ: Dokumentation
Genre: 80
Land: Deutschland
Jahr: 2024
Titel: Fremdenlegion
Subtitel: Trainingshölle Regenwald
Beschreibung: Elitekämpfer im Dschungel: Im 3. Regiment der Fremdenlegion werden Legionäre und Spezialeinheiten befreundeter Armeen unter besonders harten Bedingungen geschult.|Die Dschungelkampfschule gehört zu den härtesten militärischen Trainingsprogrammen. Die Soldaten campieren im Regenwald, Essen ist rationiert, es gibt keine Sanitäranlagen. Bedingungsloser Gehorsam ist Pflicht, und selbst kleinste Fehler werden hart bestraft.
Kommando: ln -snf '/srv/media/TV/Fremdenlegion/2025-02-03.21.00.15-0.rec/00001.ts' '/srv/media/Doku/2025-02-17-Fremdenlegion-Trainingshölle Regenwald.ts'
Display More
Über Anregungen/Verbesserungen würde ich mich freuen - insbesondere interessiert mich wo ich das Mapping für den Genre Code finden kann ...
Irgendwie erinnert mich das an das gute alte vdrnfofs.
Im vdr-wiki noch vorhanden, doch der im Wiki angeg. Link ist tot:
http://vdr-wiki.de/wiki/index.php/Vdrnfofs
Auf meinem VDR läuft es sogar noch, zwar produziert der Mount eine Fehlermeldung, aber die mpg und nfo -Dateien sind noch da.
Mit en Grund, warum ich das alte Focal noch nicht updaten möchte.
vdrnfos gibt es bei vdr4arch im GIT
Leider ist das Ergebnis innerhalb Plex sehr enttäuschend, obwohl die Aufbereitung (nach Plex Anleitung) d.h. die Link Erzeugung IMHO ok ist.
Plex zeigt aktuell noch nicht mal die rudimentären Inhalte zu den Serien/Dokus/Spielfilmen an - sehr schade ...
Plex zeigt aktuell noch nicht mal die rudimentären Inhalte
Hast Du denn Plex auch richtig konfiguriert?
Ich habe z. B. für Serien und Filme jeweils einen eigenen Ordner angelegt. Dann musst Du auch noch die richtigen Agents und Scanner einstellen.
Für Serien: Snanner: Plex Series Scanner - Agent: TheTVDB
Für Filme: Scanner:Plex Movie Scanner - Agent: The Movie Database
Damit bekomme ich 95% meiner Medien richtig und mit allen Informationen angezeigt.
Grüße
kamel5
Also bei mir läuft das auch mit der aktuellen Version vom plexmediaserver (eben gerade noch mal aktualisiert).
Wenn Du das Upgrade gemacht hast, dann würde ich einfach mal eine Weile warten, ob sich dann die Dinge normalisieren...
Wenn nicht, hilft dann vielleicht nur eine komplette Neuinstallation vom plexmediaserver.
Grüße
kamel5
Don’t have an account yet? Register yourself now and be a part of our community!