Forum: PC-Programmierung Erfahrung mit juv-rtmp-downloader-1.5.8.jar ?


von Jürgen W. (lovos)


Lesenswert?

(Hinweis: Ich habe das Thema nicht in "PC Hard- & Software" rein, weil 
es sich bei juv-rtmp... nicht um ein eigenständiges Programm, sondern 
eine Bibliothek handelt, die man in eigenen java-Programmen nutzen 
kann.)

Ich habe obige Bibliothek ausprobiert, um Videos von BR-Alpha 
runterzuladen. Beim Vergleich mit linux-tool "rtmpdump", stellte ich 
fest, dass beide funktionieren, aber juv-rtmp...jar viel langsamer ist.
Die Sourcen sind nicht frei, die Klassen sind sehr unaussagekräftig:
1
com/smaxe/app/uv/downloader/support/q/b.class
2
com/smaxe/app/uv/downloader/support/q/a.class
3
com/smaxe/app/uv/downloader/support/q/f.class
4
com/smaxe/app/uv/downloader/support/q/e.class
5
com/smaxe/app/uv/downloader/support/q/d.class
6
com/smaxe/app/uv/downloader/support/q/j.class
7
com/smaxe/app/uv/downloader/support/q/c.class

Weiss jemand, warum juv-rtmp...jar die schnelle Internetverbindung so 
ausbremst?

von Mike J. (emjey)


Lesenswert?

Probiere es mal mit "flv movies downloader 1.43" als Firefox Plugin.

ansonsten:
Probiere es mal mit einem Java Decompiler.
http://code.google.com/p/innlab/downloads/detail?name=jd-gui-0.3.3.windows.zip

http://www.varaneckas.com/jad/

http://www.java-decompiler.com/

von Jürgen W. (lovos)


Lesenswert?

> Probiere es mal mit "flv movies downloader 1.43" als Firefox Plugin.

Bei BR-α (BR-Alpha) sind die Clips aber als MP4 abgespeichert.
Ausserdem brauche ich ein eigenständiges Programm.

> Probiere es mal mit einem Java Decompiler.
Wenn ich mir die Klassen-Namen anschaue, vermute ich stark, dass der 
Source auch stark "obfuscated" ist, d.h. unlesbar gemacht.
(Bei den anderen smaxe-Programmen muss sogar ein Lizenz-Key gekauft 
werden.)

Ich kenne leider das RTMP-Protokoll nicht und will aus Zeitgründen mich 
nicht einarbeiten (Beim RTSP genauso).
Aber ich frage mich schon, ob man zum Download so einen grossen Aufwand 
machen muss.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Jürgen G. schrieb:
> aber juv-rtmp...jar viel langsamer ist

Was bedeutet "viel"...?

Jürgen G. schrieb:
> Weiss jemand, warum juv-rtmp...jar die schnelle
> Internetverbindung so ausbremst?
Welche Lizenz hast du den? Evaluation? Dann schreib doch einfach mal an 
den Support...

Jürgen G. schrieb:
> ein eigenständiges Programm

Es gibt doch genügend Streamdownloader, welche BS überhaupt? Was soll 
die Quelle sein?

von Jürgen W. (lovos)


Lesenswert?

>> aber juv-rtmp...jar viel langsamer ist
>
>Was bedeutet "viel"...?

Bei einer langsamen (GPS) Verbindung sind beide ähnlich.
Bei schneller Verbindung lädt juv-rtmp...jar so lange, wie es dauern 
würde, den Film anzuschauen. rtmpdump nutzt bei schneller Verbindung die 
Bandbreite voll aus.

>> ein eigenständiges Programm
>
>Es gibt doch genügend Streamdownloader, welche BS überhaupt? Was soll
>die Quelle sein?

Es sollte innerhalb eines Servlet in Tomcat oder Jboss eingebunden 
werden können. Aber vielleicht ist das zu hoch gegriffen.


>Welche Lizenz hast du den? Evaluation? Dann schreib doch einfach mal an
>den Support...

juv-rtmp-downloader-1.5.8.jar benötigt keine Lizenz.
(juv-rtmp-client-1.5 allerdings schon, aber das habe ich noch nicht 
ausprobiert mangels Lizenz)

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Ah okay, ich hatte nur den Client gefunden (da gibt es eine EvalLizenz), 
zeig doch mal deinen Code (für die Freeware gibt es übrigens auch einen 
Supportkontakt).
Ansonsten könnte ich mir auch gut vorstellen, das in der Freeware ggf. 
der Speed gedrosselt wird.

Jürgen G. schrieb:
> Es sollte innerhalb eines Servlet in Tomcat oder Jboss eingebunden
> werden können. Aber vielleicht ist das zu hoch gegriffen.

Also von der Funktionsweise her sollte das schon klappen, wenn du mit 
rtmpdump zufrieden bist könntest du aber auch einfach das aufrufen, viel 
mehr Funtion bietet die Lib ja auch nicht.

Eventuell kannst du aber auch über die Buffersize noch was rausholen.

von Robert L. (lrlr)


Lesenswert?

>lädt juv-rtmp...jar so lange, wie es dauern
>würde, den Film anzuschauen.

klingt aber, als wäre das absicht..

vielleicht eine Art "Gentlemen’s Agreement", "fair use" usw.

ist ja auch nicht  sinn der sache, sich die Streams herunterzuladen, 
sonst wären es ja keine Streams

von Robert L. (lrlr)


Lesenswert?

Nachtrag:
source kann man sich ja anschauen:

http://www.smaxe.com/source.jsf?id=com/smaxe/app/uv/downloader/RtmpDownloader.java

nur basiert das ja auf eine library die NICHT frei ist ???
und auf eher auf abspielen von streams ausgelegt (der downloader ist 
wohl nur ein Abfallprodukt für Werbezwecke?!)

von Jürgen W. (lovos)


Lesenswert?

>nur basiert das ja auf eine library die NICHT frei ist ???
>und auf eher auf abspielen von streams ausgelegt (der downloader ist
>wohl nur ein Abfallprodukt für Werbezwecke?!)

Genau.

>wenn du mit
>rtmpdump zufrieden bist könntest du aber auch einfach das aufrufen, viel
>mehr Funtion bietet die Lib ja auch nicht.

Allerdings sollte das auf einen gemieteten Server (mivitec) laufen.
(Third-party jar's in eigene war's einzubinden geht an sich schon)

> zeig doch mal deinen Code
nichts besonderes, einfach den sample-code reingeguttenbergt.
1
RtmpDownloader downloader = new RtmpDownloader();
2
3
downloader.setDebugMode(doDbg);
4
final Future<Boolean> future = downloader.download(
5
sServ,
6
null, //connection arguments
7
null, //connection configuration
8
sPath,
9
fnOut
10
);
11
while (!future.isDone()) {
12
  try {Thread.sleep(1000);}
13
  catch (InterruptedException exc) {}
14
}

von Robert L. (lrlr)


Lesenswert?

>Allerdings sollte das auf einen gemieteten Server (mivitec) laufen.

dass das (und ja, ich will da was unterstellen) vermutlich schwer 
illegal wird, was du vor hast, ist dir klar ?

OT:http://www.mywot.com/en/scorecard/mivitec.de

von Jürgen W. (lovos)


Lesenswert?

> ist ja auch nicht  sinn der sache, sich die Streams herunterzuladen,
> sonst wären es ja keine Streams

Doppelt gemoppelt. Normaler Download ist auch schon ein Stream, da er 
auf TCP aufbaut, und TCP ist ein Stream-Protokoll (anstatt UDP).
Leider kenne ich mich mit RTMP oder RTSP gar nicht aus, sonst würde ich 
den Sinn dieser Protokolle kennen.
Einen Downloader nachzuprogrammieren erscheint mir nicht so schwierig, 
dass das TAR-file aber 220kB groß erschreckt mich schon.
(Das rtmpdump...deb Installations-File ist etwas kleiner.)

von Jürgen W. (lovos)


Lesenswert?

> dass das (und ja, ich will da was unterstellen) vermutlich schwer
> illegal wird, was du vor hast, ist dir klar ?

Nee, was ist daran illegal? Freie Software, wie z.B. die apache-libs in 
eigene Apps einzubinden, war bisher noch nicht verboten, solange man 
diese wieder unter die entsprechende Lizenz (z.B. GPL) stellt.
In meinem Fall will ich nur die Machbarkeit überprüfen und im positiven 
Falle den Code selbst schreiben.

Ich halte es für möglich, dass das RTMP die Daten nicht schneller 
hergibt trotz schneller Verbindung. (Warum rtmpdump das kann, ???)
In diesem Fall hätte sich das ganze Thema schon erledigt.

von Robert L. (lrlr)


Lesenswert?

>Nee, was ist daran illegal

ein Küchenmesser ist auch nicht illegal, .. jemanden damit umbringen 
schon..

das was du mit den heruntergeladenen Streams vor hast, wird mit 
Sicherheit nicht legal sein...

wo wir also beim wort "stream" sind, ich glaube du weißt schon wie ich 
das meine..

"landläufig" spricht man bei video eben von "download" oder "stream" 
(auch wenn beides über tcp läuft)

von Jürgen W. (lovos)


Lesenswert?

> wo wir also beim wort "stream" sind, ich glaube du weißt schon wie ich
> das meine..

Nicht wirklich. Also bei Youtube gehen die videos über normales HTTP, 
zumindestens gabs mal im Netz ein perl-Skript, das sich aus einer 
youtube-html-Seite den flv-Url rausgefischt hat und das video per wget 
lokal abgespeichert hat.
Von der Anwendungsseite sehe ich keinen Unterschied zwischen Youtube 
(http-Download) und TV-Sites (rtmp-"stream").
Ich denke, dass rtmp bei Live-Sendungen sinnvoll wäre, wo zwischen 
Kamera-Aufnahme und Browser-Abspielen nur ein paar Sekunden 
Zeitdifferenz ist. (Niemand würde eine Fussballspiel komplett aufnehmen 
und dann erst ins Netz stellen, wenn das Ergebniss schon bekannt ist).

Wobei man mit http auch den Content "on the fly" übertragen kann. D.h. 
die Übertragung beginnt schon, wenn noch nicht alle Daten generiert 
wurden.
Dann steht im Header nicht "content-size", sondern die Daten kommen in 
kleinen Abschnitten (Chunks)

von Robert L. (lrlr)


Lesenswert?

was auch immer du damit meinst..

egal..

zum thema: warum ist Geschwindigkeit überhaupt wichtig?
mach doch einfach 200 downloads parallel..

von Jürgen W. (lovos)


Lesenswert?

Ok, die ganze Wahrheit:  :-)

> das was du mit den heruntergeladenen Streams vor hast, wird mit
> Sicherheit nicht legal sein...

Ich hatte vor, die Möglichkeit zu schaffen, wenn ich mit Smartphone/GPS 
unterwegs bin, bestimmte Online-Videos zu mp3 umzuwandeln mit geringer 
Datengröße.
Auf die Bildinformation kann ich oft verzichten (Nachrichtensprecher).

D.h. ich gehe auf die Site des tomcat-Servers, das Servlet scannt eine 
bestimmte Nachrichten-Seite und zeigt mir alle verfügbaren Videos an.
Klicke ich eines an, holt sich das servlet dieses Video vom 
Ursprungsserver, wandelt es in ein mp3 um, und liefert das mp3 zu meinen 
Smartphone-Browser (1/10 der Ursprungsgröße).
Weder mp4/flv, noch mp3 werden permanent abgespeichert/archiviert.
Auch soll die tomcat-servlet-Seite nicht-öffentlich sein.

Ich müsste noch was finden wie 'ffmpeg', was mir (legal) die 
Konvertierung vornimmt, was sehr viel komplizierter ist als 
rtmp-Download.

Dadurch dass einige Videos auf anderen Servern gespiegelt sind, hätte 
ich nicht an Rechtsverletzungen gedacht.

von Robert L. (lrlr)


Lesenswert?

ja, bei  50 bit/s wird es mit mp3 aber auch eng ;-)


es heißt gpRs oder GSM

von Jürgen W. (lovos)


Lesenswert?

> ja, bei  50 bit/s wird es mit mp3 aber auch eng ;-)

Ja, es geht aber auch um die Datenmenge. Ich mache manchmal im Ausland 
Urlaub, wo ich nicht sofort eine "einheimische" SIM-karte kaufen 
will/kann.
EU-Auslands-Tarife sind seit Juli recht günstig geworden, aber 
Volumen-begrenzt.

> es heißt gpRs oder GSM

GPS hat das smartphone natürlich auch, aber das meinte ich nicht in 
obigen Kontext :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.