Sharemarks
Inhaltsverzeichnis |
Beschreibung
Die Idee dahinter ist so simpel wie genial!
Das Sharemarks-Projekt hat das Ziel, Schnittmarken für VDR-Aufnahmen in ein universelles Format zu konvertieren und zentral per Webserver zur Verfügung zu stellen. Oder anders ausgedrückt: Wenn ein VDRler die Werbung in einer Aufnahme markiert hat, dann können sich alle anderen die Arbeit sparen und die Schnittmarken des ersten VDRlers verwenden.
Wenn man Marken von dem Sharemarks-Server bekommt, dann sind diese von Anderen benutzt/kontrolliert worden und in der Regel von sehr guter Qualität. Die sind meistens so gut, daß man eigentlich nichts machen muß! Manchmal sind die Marken um einen Schnittpunkt daneben, das ist aber sehr akzeptabel.
Eine kurze Beschreibung:
- Das Programm marks2pts sucht zu jeder Schnittmarke den passenden PTS aus den Videodaten, der bei allen Nutzern identisch sein sollte,
- speichert diese "PTSmarks" auf einem zentralen Webserver,
- erlaubt das Herunterladen von gespeicherten "PTSmarks" und die Konvertierung zurück in eine marks.vdr im VDR-Format, und
- macht das Ganze so einfach wie möglich.
Der Upload wird automatisiert, so daß man möglichst viele Marken in der Datenbank bekommt.
Zum Thema "Automatischer Download" gibt es weiter unten mehr.
Wo wird das schon unterstützt/genutzt?
Distributionen:
- c't-VDR - package: vdr-addon-sharemarks (von TomG)
- Linvdr Sharemarks Install script von decembersoul
- es ist in Ronnys Installscript eingebaut und aktiv
- gentoo - siehe Links unten
- crux - siehe Links unten
- easyVDR - easyVDR Sharemarks Install script
Sonstiges
- Es wird von AutoCutter unterstützt - und zwar so, daß man keinen Aufwand hat, wenn man es nutzt! Einmal konfigurieren und "vergessen".
Hardwareanforderungen
Ein VDR mit Internetzugang.
Softwareanforderungen
- Perl mit dem LWP::Simple Modul (in libwww enthalten)
Download / Patches
Bitte benutzt eine Version >= 0.1.4pre5, da sich unter anderen die URL des Sharemarks-Servers geändert hat.
- vdr >= 1.3.23
Installation
Falls libwww nicht bereits installiert ist:
cd $SOURCEDIR tar xvzf libwww-perl-<VERSION>.tar.gz cd libwww-perl-<VERSION> perl Makefile.PL make make test make install
Dann Sharemarks
cd $SOURCEDIR tar xvjf sharemarks-<VERSION>.tar.bz2 cd sharemarks-<VERSION> cp pts2marks marks2pts /usr/local/bin
Man kann sich auch beim Sharemarks-Server als User einrichten, muß es aber nicht! Wenn man anonym Marken hoch/runterladen möchte, sollte man den Proxy, aber kein User einrichten ;).
User einrichten und Erstellen der Konfiguration /etc/marks2pts.conf in einem Rutsch geht wie folgt
marks2pts --server-settings
Wenn man keinen User einrichten möchte, erstellt man die Konfiguration so
marks2pts --configure
Zum Schluß ist die rwrapper.sh anzupassen.
SHAREMARKS="2" # (0=off,1=on,2=upload after cut)
Und dem VDR mit der entsprechenden Option übergeben:
-r $PATH/rwrapper.sh
Einträge für die reccmds.conf, zum manuellen Up-/Download von Schnittmarken über den vdr-Menüpunkt Befehle:
Download Schnittmarken : $PATH/pts2marks Upload Schnittmarken : $PATH/marks2pts -upload
Es ist eine kleine Dokumentation im Sharemarks-Archiv vorhanden.
c't-VDR
Bei c't-VDR sollte folgendes reichen :
- in der sources.list den Server von Tobi aufnehmen (siehe [URL]www.e-tobi.net[/URL])
- apt-get install vdr-addon-sharemarks
- danach das Script marks2pts vom Anhang an den korrekten Ort kopieren (das alte überschreiben).
Gentoo
Crux
Nutzung
Und wie benutze ich jetzt das Ganze ?
Basis infos
Sharemarks besteht aus zwei Scripten, eigentlich ist es nur ein Script (marks2pts) und pts2marks ist ein Link auf das erste Script. Das Script erkennt dann anhand des Namens was passieren soll.
marks2pts ist für den Upload gedacht.
pts2marks ist für den Download der Marken.
Online-Nutzung
Wenn man eine Flatrate oder Megabyte-rate hat kann man das ganze online nutzen, sprich es wird hoch/runtergeladen, wann auch immer es gerade erforderlich ist.
Im rwrapper.sh Script das wir oben einrichten wird nach dem schneiden automatisch die Marken auf dem Sharemarks-Server hochgeladen und zwar mit folgender Befehl :
marks2pts --upload /video/path-zu-eine-aufnahme/2006-01-18.00.00.19.99.rec
Wenn man also jetzt eine Aufnahme hat für denn man Marken runterladen möchte, dann muß man über reccmds.conf oder per Hand das Script pts2marks wie folgt aufrufen :
pts2marks /video/path-zu-eine-aufnahme/2006-01-18.00.00.19.99.rec
Die Beschreibung für die Einrichtung von reccmds.conf für sharemarks findet ihr oben.
Wenn man das erste mal für seine bestehenden Aufnahmen Marken laden möchte dann geht das mit einer Zeile :
find /video/ -name "*.rec" -type d -print | grep -v "%" | while read i; do echo $i; pts2marks "$i"; done 2>&1 | tee -a /tmp/sharemarks-download.log
Nachher dann in /tmp/sharemarks-download.log nach "^[0-9]+? Schnittmarken gefunden" suchen um die Aufnahmen zu finden wo Marken geladen wurden.
Offline-nutzung
Wenn man eine ISDN-Leitung hat dann ist es sicherlich interessant, die Marken in einen Rutsch hoch/runter zu laden. Hierfür sind ptsmarks-archive vorgesehen.
AutoCutter ist schon für offline-Betrieb ausgelegt, siehe Automatischer Download unten.
Dies ist nur eine kurze Anleitung, ich habe ihn noch nicht selber 100% testen können, also bitte selber korrigieren falls was falsch sein sollte.
Ganz wichtig ist das man nach der Aufnahme marks2pts aufruft, z.B. in dem man das rwrapper.sh Script im "after"-Teil erweitert um folgende Zeile :
marks2pts \"$2\"
Dann kann man später wie folgt die Marken hochladen :
marks2pts --create-local-archive last-month -o /tmp/ptsmarks.archive marks2pts --upload-archive /tmp/ptsmarks.archive
Download aller Schnittmarken vom letzten Monat in ein Archive
pts2marks --create-archive last-month -o /tmp/ptsmarks.lokalarchive
Tipp : man kann auch statt "last-moth" folgende benutzen : today|yesterday|last-week|last-month
Und dann dieses lokale Archiv nutzen
pts2marks --use-archive /tmp/ptsmarks.lokalarchive /video/path-zu-eine-aufnahme/2006-01-18.00.00.19.99.rec
Automatischer Download
Die schon fertige Lösung heißt AutoCutter
Es nutzt jetzt schon Archive und kann deshalb jetzt schon für On- oder Offline-Betrieb gleichermaßen genutzt werden. Es sorgt automatisch dafür, das Marken hoch und runtergeladen werden. Man kann sehr genau konfigurieren, bei welchen Aufnahmen er Marken hoch/runterladen soll. Z.B. pro Kanal, Aufnahme oder nach Inhalt von info.vdr
Es gibt aber jetzt auch eine zweite "simple" Lösung.
Siehe auch hier :
download-sharemarks.sh
Hintergrund-Infos
Siehe sharemarks homepage unten bei Links
FAQ / Hilfe
Ich habe DVB-C oder DVB-T
probiert einfach ob es geht, es sollte so lange der selbe Encoder benutzt wurde vom Sender und die einstellung fake_source=S19.2E.
Wenn nicht solltet ihr versuchen in den vorherigen Sharemarks thread bei vdr-portal (hier) zu suchen nach "fake_source" (/etc/marks2pts.conf) - das ist dafür gedacht das man obwohl man DVB-C/T hat dann sharemarks vorgaukelt das es DVB-S ist und dann die marken doch bekommt.
Der entwickler DOC hat selber DVB-C so das er sicherlich helfen kann falls noch fragen aufkommen :)
Was kann ich testen
Zum Testen kann man einfach selber Marken erstellen, hochladen und wieder runterladen. Sollte man aber mit einer ungeschnittenen Aufnahme machen !!
Marken hochladen geht so :
/usr/local/bin/marks2pts --upload /video/path-zu-eine-aufnahme/xxx.rec
Marken runterladen geht wie folgt :
/usr/local/bin/pts2marks /video/path-zur-aufnahme/xxx.rec
Dann kommt "READING INDEX FILE" und eine Meldung ob Schnittmarken gefunden wurden.
Im Zweilfel "Debugging" einschalten, siehe unten, um nachschauen was los ist.
Es könnte z.B. sein das der Proxy-Server nicht mehr geht.
Der Sharemarks-Server gibt immer <pre> zurück als Antwort, wenn das also nicht kommt dann stimmt was mit der Verbindung nicht ! Siehe auch weiter unten "Was steht im Debug-Log drin ?" für ein paar Beispiele für Antworten.
Debugging einschalten
Am besten debug im /etc/marks2pts.conf configfile auf Yes setzen und im logfile (auch im configfile anzugeben) nachschauen was los ist :
debug=Yes debug_log=/var/log/marks2pts.log
Geht der proxy server noch
Es könnte z.b. sein das der proxy server nicht mehr geht.
Das sieht man im debug-log sehr gut anhand ob der webserver
got #<pre>
zurückliefert. Siehe auch beispiele unten.
Was steht im debug log drin ?
Hier ein Beispiel von einem Marken-Download wo keine Marken vorhanden sind :
retrieving http://xpix.dieserver.de/pts/pts2.cgi?channel=S19.2E-12060-167-136&from=1170784320&to=1170788700&txt=1 got #<pre> Could not download ptsmarks.... Got Failure from download
Bei erfolgreichem Download
Invoked by pts2marks, /videodisks/video/M/Hart_am_Limit/2007-01-28.20.13.25.99.rec//ptsmarks.vdr not found, trying to download retrieving http://xpix.dieserver.de/pts/pts2.cgi?channel=S19.2E-898-255-256&from=1170011280&to=1170019020&txt=1 got #<pre>zeit 2007-01-28 20:15:46 userid VirtuaDZ pts 5758648320 noad 0 id 74494 channel S19.2E-898-255-256 changed_at 2007-01-28 23:59:36 ---- zeit 2007-01-28 20:43:10 userid VirtuaDZ pts 5907251200 noad 0 id 74495 ...
Ein erfolgreicher Upload :
upload: http://xpix.dieserver.de/pts/pts2.cgi?channel=S19.2E-28006-110-120&marks=1167720448_1166379301-1475313664_1166382719 received: #Danke, the PTS(1167720448) for Channel(S19.2E-28006-110-120) is saved! #Danke, the PTS(1475313664) for Channel(S19.2E-28006-110-120) is saved!
Links
- Homepage (Achtung !!! Download ist veraltet!!)
- Libwww-perl
- Sharemarks-Statistik
- Aktuelle Anonyme Version