Sharemarks

Aus VDR Wiki
Version vom 5. August 2013, 21:06 Uhr von Hulk (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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:

  1. c't-VDR - package: vdr-addon-sharemarks (von TomG)
  2. Linvdr Sharemarks Install script von decembersoul
  3. es ist in Ronnys Installscript eingebaut und aktiv
  4. easyVDR - easyVDR Sharemarks Install script

Sonstiges

  1. 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.

Neueste Sharemarks

  • vdr >= 1.3.23

Sharemarks-0.1.4pre5

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

oder per CPAN

perl -MCPAN -e 'install Event'

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 :

  1. in der sources.list den Server von Tobi aufnehmen (siehe [URL]www.e-tobi.net[/URL])
  2. apt-get install vdr-addon-sharemarks
  3. danach das Script marks2pts vom Anhang an den korrekten Ort kopieren (das alte überschreiben).

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-month" 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 jetzt auch eine zweite "simple" Lösung. Siehe hier : download-sharemarks.sh

Achtung das vorgestellte Script im ersten Thread enthält einen kleinen Fehler. Dieser wurde weiter unten im Thread behoben.

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

  1. Homepage (Achtung !!! Download ist veraltet!!)
  2. Libwww-perl
  3. Aktuelle Anonyme Version
In anderen Sprachen