You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Friday, February 5th 2010, 2:20pm

recman-web - Streaming von VDR Aufnahmen / Web-Oberfläche / REST Schnittstelle

Hallo,

habe das Recman Projekt weiterentwickelt --> Thread

Was ist recman-web ?

Es ist ein in Java entwickelter Webdienst, der das Streamen von VDR Aufnahmen ermöglicht. Desweiteren kann man sich Details zu allen vorhandenen Aufnahmen in einer Web Oberfläche anschauen. Zusätzlich ist eine REST Schnittstelle eingebaut, die es ermöglicht Informationen im XML Format mit externen Apps/Tools abzurufen.

Momentane Features:

Basis:
- Spulbare HTTP Streams von VDR Aufnahmen
- Parsen der Aufnahmen/Timer wird selbst übernommen, _keine_ Abhängigkeit zu SVDRP
- Generierung von Vorschaubildern einer Aufnahme mit VLC Player >= 1.0. Anbindung per JNA realisiert (über jvlc), also Nutzung der nativen Bibliothek
- Web Oberfläche
- REST Schnittstelle (momentan Rückgabe von XML-Format)
- Suche von Aufnahmen
- Timer Anzeige

Web-Oberfläche (realisiert mit Apache Wicket):
- Meine Interpretation einer Tuben-ähnlichen Gallery der vorhandenen Aufnahmen mit grundlegendenen Informationen über die Aufnahme
- Integration des VLC Player Plugins mit Hilfe von Javascript
- Anzeige der Vorschaubilder als Slideshow bei Coursor
- Suche mit Begriffsvorschlägen
- Anzeige aktueller Timer

REST:
- Format XML
- alle möglichen Arten von Abrufen von Informationen über die Aufnahmen

Datenhaltung:
- XQuery Backend als "Datenbank", Datenhaltung in XML

TODOs:
- Web Oberfläche braucht noch ein wenig Arbeit (vielleicht finden sich ja hier begeisterte Designer für ein schöneres Layout ;-) )
- Ausgabe von Streams in verschiedenen Formaten (Encoding)
- ....

Ist natürlich ne Entwicklerversion und daher fehlersüchtig ...
Das Projekt ist für mich ein Spielkasten zum ausprobieren aller möglichen
Dinge.

Voluntäre/Entwickler können gerne mithelfen und sind willkommen, falls Interesse besteht.

Hier ein akuteller Snapshot mit integriertem Webserver:
Download zip

Entpacken und ins entpackte Verzeichnis wechseln:

Source code

1
cp webapps/root/WEB-INF/classes/conf/default-recman-config.xml ~/recman/recman-config.xml


Gegebenfalls noch den Ordner "recman" im Home Verzeichnis erstellen.

Diese Konfigurationsdatei anpassen:

Source code

1
vi ~/recman/recman-config.xml


Ich denke die Konfiguration sollte relativ selbsterklärend sein.

Starten des Dienstes aus dem Projektverzeichnis mit:

Source code

1
./recman.sh


Stoppen mit Strg-C

Aufruf im Browser der normalen Oberfläche mit:

Source code

1
http://localhost:8080/


Alternativ mit einer simplen Oberfläche (generiert über XQuery):

Source code

1
http://localhost:8080/html/simple


Alternativ kann man auch direkt das War Archiv nutzen, falls man einen
Servlet Container wie Tomcat oder sonstiges betreibt.
Download war

Beispiele der REST Schnittstelle:
Die letzten 20 Aufnahmen absteigend nach Datum.

Source code

1
http://localhost:8080/recman/1.0/xml/recordings/all?first=0&count=20&order=desc

Eine spezielle Aufnahme mit der ID: RECORDING_ID

Source code

1
http://localhost:8080/recman/1.0/xml/recordings/RECORDING_ID

Anzahl aller Aufnahmen

Source code

1
http://localhost:8080/recman/1.0/recordings/count

Suche nach Aufnahmen mit "doku"

Source code

1
http://localhost:8080/recman/1.0/xml/recordings/find?first=0&count=20&like=doku

Bekomme Aufnahmen Vorschläge für gegebenen Begriff

Source code

1
http://localhost:8080/recman/1.0/xml/suggestions/?like=doku

Bekomme Anzahl der Vorschläge

Source code

1
http://localhost:8080/recman/1.0/xml/suggestions/count?like=doku


Projekt SVN:

Source code

1
https://recman.svn.sourceforge.net/svnroot/recman/


Screenshots:





Ciao,
Marcus

This post has been edited 5 times, last edit by "mackus" (Feb 19th 2010, 9:37pm)


2

Friday, February 19th 2010, 9:34pm

Hey,

update des Topics / Beitrags.

Ciao,
Marcus

3

Thursday, August 5th 2010, 9:28am

Blöde Frage: wo ist denn Dein Projekt zu Hause?

Bei sf oder www.vdreceiver.de? Sind die Sourcen gleich aktuell?
Arbeitest Du noch an dem Projekt?

Ich würde Dein Projetk evtl. als Grundlage für ein Portal für die Motorola VIP 1710 nehmen.
SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.0.69 Beta) mit MaxS8
Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Jessie 64Bit | Linux Kernel 4.4 | VDR 2.2.0 mit SAT>IP, epgsearch, streamdev, epg2vdr, vdr-epg-daemon
Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 2.1+git | Linux Kernel 4.4+git | VDR 2.2.0 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Graphlcd-ax206dpf, RemoteTimer, Extrecmenu, NeutrinoEPG, Femon, Mlist

R.I.P: Gigaset M740 mit VDR von open7x0.org

NemoN

Professional

Posts: 662

Location: Hamburg (Neu Wulmstorf)

Occupation: QA Engineer

  • Send private message

4

Thursday, August 5th 2010, 10:50am

cooles projekt :-) gerade erst gefunden....

gibt es bzgl encoding/streaming der aufnahmen schon etwas?

Posts: 2,959

Location: Isen

Occupation: System Manager

  • Send private message

5

Thursday, August 5th 2010, 12:43pm

Quoted

Original von glotzipapa
Blöde Frage: wo ist denn Dein Projekt zu Hause?

Bei sf oder www.vdreceiver.de? Sind die Sourcen gleich aktuell?
Arbeitest Du noch an dem Projekt?

Also auf vdreceiver.de sind die Sourcen schon etwas älter, das war noch aus der Anfangszeit und seitdem habe ich da keine aktuellen Sachen bereitgestellt.
Also besser von sf.net nehmen ;)

cu
Markus
:mahlzeit

Klick hier für "Aktuelle Verkaufsthreads"

Klick hier für "Meine Systeme"


  • yaVDR 0.5 headless Server in ProxMox VM, Digital Devices Cine S2 6.5 mit DuoFlex Erweiterung (Quad Tuner) per vt-d durchgereicht.
  • RPi2 mit Mini DVB Linux am 42" LG


6

Thursday, August 12th 2010, 9:43am

Kann es sein dass sich der akutuelle Sanpshot von oben nicht bauen lässt?

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.

GroupId: net.sourceforge.recman
ArtifactId: recman-project
Version: 1.0-SNAPSHOT

Reason: Unable to download the artifact from any repository

  net.sourceforge.recman:recman-project:pom:1.0-SNAPSHOT

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)



[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Cannot find parent: net.sourceforge.recman:recman-project for project: net.sourceforge.recman:recman-web:war:1.0-SNAPSHOT for project net.sourceforge.recman:recman-web:war:1.0-SNAPSHOT
        at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:404)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:272)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
        at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find parent: net.sourceforge.recman:recman-project for project: net.sourceforge.recman:recman-web:war:1.0-SNAPSHOT for project net.sourceforge.recman:recman-web:war:1.0-SNAPSHOT
        at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1396)
        at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:823)
        at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:508)
        at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
        at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:604)
        at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:487)
        at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:391)
        ... 12 more
Caused by: org.apache.maven.project.ProjectBuildingException: POM 'net.sourceforge.recman:recman-project' not found in repository: Unable to download the artifact from any repository

  net.sourceforge.recman:recman-project:pom:1.0-SNAPSHOT

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)

 for project net.sourceforge.recman:recman-project
        at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:605)
        at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1392)
        ... 18 more
Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: Unable to download the artifact from any repository

  net.sourceforge.recman:recman-project:pom:1.0-SNAPSHOT

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)


        at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:228)
        at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:90)
        at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:558)
        ... 19 more
Caused by: org.apache.maven.wagon.ResourceDoesNotExistException: Unable to download the artifact from any repository
        at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifact(DefaultWagonManager.java:404)
        at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:216)
        ... 21 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Thu Aug 12 09:42:03 CEST 2010
[INFO] Final Memory: 1M/2M
[INFO] ------------------------------------------------------------------------
SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.0.69 Beta) mit MaxS8
Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Jessie 64Bit | Linux Kernel 4.4 | VDR 2.2.0 mit SAT>IP, epgsearch, streamdev, epg2vdr, vdr-epg-daemon
Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 2.1+git | Linux Kernel 4.4+git | VDR 2.2.0 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Graphlcd-ax206dpf, RemoteTimer, Extrecmenu, NeutrinoEPG, Femon, Mlist

R.I.P: Gigaset M740 mit VDR von open7x0.org

7

Monday, August 16th 2010, 6:19pm

Hi,

ist schon ein wenig länger her, dass ich daran entwickelt habe.

Aber was du zuerst machen musst, um das Projekt zu bauen, ist die Parent pom des Projektes ins lokale Maven Repo zu legen:

Source code

1
2
3
svn co [URL]https://recman.svn.sourceforge.net/svnroot/recman/[/URL]
cd recman-pom/
mvn install


Dann müssten eigentlich die Hauptprojekte bauen.

Ciao

This post has been edited 1 times, last edit by "mackus" (Aug 16th 2010, 6:19pm)


8

Tuesday, May 3rd 2011, 11:37pm

ist schon ein wenig länger her, dass ich daran entwickelt habe.


ich bin durch Zufall auf das Projekt gestossen. Gibt es so etwas noch "in aktueller"?
offenbar wird da kaum noch was dran gemacht.
Das Projekt ist etwas, was ich gut auf meinem kleinen NAS-Server benutzen könnte..
Dann wüßte ich endlich mal, wo welche Aufnahmen sind ;)

Wenn jemand etwas zu diesem Projekt oder etwas ähnlichem weiß, was relativ aktuell
würde mich das interessieren.

Gruß, jo01
Wofür war die Signatur nochmal gedacht? *kopfkratz* :idee

Immortal Romance Spielautomat