VideoStream von Webseite lesen/speichern

Jedit

Aktives Mitglied
Hi!

Ich hab vor kurzem wieder mit Java begonnen. Bisher hab ich noch keine Erfahrung mit Netzwerkprogrammierung (bisher nur Clientanwendungen für Datenbanken gemacht).

Folgendes möchte ich machen:
Dem Programm eine URL übergeben, wenn auf der Website ein Video gestreamt wird, möchte ich den Stream erkennen um das Video zu speichern oder es eventuell im Programm ausgeben zu können.

Bisher kann ich lediglich den Quelltext einer Webseite auslesen und speichern. Das mach ich mit Xuggler über eine URLConnection. Ich hab mir auch den Source Code von JDownloader runtergeladen, aber das ist mir zu umfangreich, so versteh ich das nur extrem bedingt.

Suchen würde ich nun ein kompaktes Einstiegstutorial in dem Bereich in dem erklährt wird, wie ich den Videostream anspreche. Auf Grund meiner fehlenden Erfahrung in der Netzwerkprogrammierung, weiß ich leider auch nicht wonach ich suchen soll.

Wär nice wenn mir jemand weiterhelfen könnte.

lg
 

Kr0e

Gesperrter Benutzer
Hmm, du willst ne Website nach einem Videostream durchsuchen ? klingt nicht trivial... Ich bezweifele auch dass es eine standard-Lösung gibt. Ist bestimmt abhängig von der Website selbst.

Genaugenommen hat das aber nix mit Netzwerkprorgammierung zu tun...

Achja noch was: Um ein Objekt, dass über eine URL angesprochen werden kann, herunterzuladen, reicht die Klasse URL von Java direkt vollkommen aus. Dafür brauchst du kein Xuggler. Xuggler wäre interessant, wenn du diesen Stream (wenn du ihn dann doch iwie findest auf der Website) auch direkt mit deinem Programm wiedergeben willst. Soweit ich weiß, ist es bei Youtube z.B. total schwer an die URL heranzukommen, wohinter sich dann die FLV Videos verbergen.

Gruß,
Chris
 

Jedit

Aktives Mitglied
Danke für deine schnelle Antwort. Bin da heute am Schluss schon etwas durcheinander gekommen mit den Klassen und dann auch mit dem Forum, hätte wohl besser in den Multimediabereich(?) gepasst. Xuggler hab ich was gefunden zur Videowiedergabe und da dacht ich mir, ja klar warum ned, und habs gleich mitgenommen^^.

Als erstes Ziel hab ich mir jetzt wirklich vorgenommen ein Video von YouTube über ein Java Programm runterzuladen. Ist denk ich eine passende Ausgangslage, da es dort ja genügend Videos zum Testen gibt.

Mein Ziel zu erreichen wird mir hald nur möglich sein, wenn ich irgendwo Informationen finde wie ich überhaupt mal damit anfangen kann. Ich weiß ja nichtmal wonach ich wirklich suchen soll. Die paar Ideen die ich hatte, hab ich ausgeschöpft und bei den anderen Einfällen bekomm ich nur Suchergebnisse für andere Bereiche die ich nicht finden will.

Edit1: Wenn das derzeit wirklich noch etwas zu schwer für mich sein sollte, würde ich mich alternativ zuvor noch mit jMonkeyEngine beschäftigen oder nen kleinen primitiven chat versuchen ... ich bin derzeit nur ganz gribbelig :D Hab länger nichts mit Java gemacht (so 2-3 Monate), jetzt wieder Blut geleckt und voller Tatendrang, will nur unbedingt einen neuen Bereich ausprobieren.
 
Zuletzt bearbeitet:

Jedit

Aktives Mitglied
Danke, das sieht schonmal sehr interessant aus. Mit C# hab ich zwar noch nie was gemacht, aber ist Java ja zum Glück sehr ähnlich.

Den Part mit Links rauslesen und decodieren versteh ich zumindest mal. Werd mir das zu Hause noch genauer ansehen. Danke

lg
 

Jedit

Aktives Mitglied
Ok ich konnt nicht warten bis ich zu Hause bin :D Danke sehr nochmal für eure Hilfe. :applaus:

Mittlerweile funktioniert es bei mir. Also ich kann die Links rauslesen, trennen und die Dateien herunterladen, anschließend natürlich auch mit einem passenden Player wiedergeben. (Hab hir nur die .flv dateien mit dem FLV Player getestet, die mp4 müssen aber auch funktionieren).

Jetzt kann ich mich beruhigt auf das Ganze rund herum konzentrieren :D (Die Threads dazu programmieren, die GUI, etc)

lg
 

Kr0e

Gesperrter Benutzer
Hi, ja habs auch hingebekommen. War recht eifnach, dachte immer das wäre sehr viel schwerer!

Hier der Code für alle, die es interessiert:

Java:
    public static void main(String[] args) throws Throwable {
        if(args.length < 1) {
            System.out.println("Youtube Link aneben!");
            System.out.println("Bsp.: java -jar YoutubeURLExtractor -link.to.youtube.video");
            System.exit(0);
        }

        URL url = new URL(args[0]);

        InputStream stream = url.openStream();

        ByteArrayOutputStream output = new ByteArrayOutputStream(32 * 1024);

        int read;

        while ((read = stream.read()) != -1) {
            output.write(read);
        }

        stream.close();

        //To byte array
        String code = new String(output.toByteArray());

        String search = "\"fmt_url_map\": ";

        int index = code.indexOf(search) + search.length();

        int nextSignIndex = code.indexOf("\"", index);
        int lastSignIndex = code.indexOf("\"", nextSignIndex + 1);

        String codedURL = code.substring(nextSignIndex + 1, lastSignIndex);
        codedURL = codedURL.replace("\\", "");
        String[] splitted = codedURL.split(",");

        URL[] urls = new URL[splitted.length];
        int i = 0;
        for (String s : splitted) {
            String[] tmp = s.split("\\|");

            System.out.println(tmp[1]);

            urls[i++] = new URL(tmp[1]);
        }
}

Gruß,

Chris

PS: Wäre meiner Meinung nach, was für die FAQ...
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Videostream[Webshow] Netzwerkprogrammierung 2
J Webseite mit Kundenportal Netzwerkprogrammierung 5
C Quelltext Webseite schlägt noch immer fehl Netzwerkprogrammierung 30
H Daten auf einer Webseite eintragen Netzwerkprogrammierung 11
K Mit Java ASPX Webseite fern steuern Netzwerkprogrammierung 2
D Webseite(mit JavaScript-Element) mit Java auslesen Netzwerkprogrammierung 0
B HTTP Webseite unter IP-Addresse nicht aufrufbar - unter Domain schon Netzwerkprogrammierung 9
O HTTP Zugriff und Aktionen auf einer Webseite ausführen Netzwerkprogrammierung 9
S Automatischer Login auf einer Webseite Netzwerkprogrammierung 12
H Daten an Textfeld einer Webseite schicken Netzwerkprogrammierung 2
E Webseite mit Login laden Netzwerkprogrammierung 5
M Download von Webseite Netzwerkprogrammierung 4
T Actions WebSeite Netzwerkprogrammierung 3
M Per eigenem Java SE Prog einloggen auf Webseite Netzwerkprogrammierung 19
aze Applet von Webseite aufrufen und mit diesem kommunizieren Netzwerkprogrammierung 8
N Webseite holen, Knöpfe drücken, Textfelder holen, etc. Netzwerkprogrammierung 7
hdi Webseite auf Download-Links prüfen und Download starten? Netzwerkprogrammierung 7
S Zugriff auf Webseite Netzwerkprogrammierung 3
J programm zum autom. ausdruck einer webseite Netzwerkprogrammierung 2
P Webseite ausfüllen und abschicken Netzwerkprogrammierung 6
G Webseite <=> Java Netzwerkprogrammierung 4
S webseite mit cookie besuchen Netzwerkprogrammierung 5
M webseite automatisch ausfüllen und abschicken Netzwerkprogrammierung 2
M webseite holen Netzwerkprogrammierung 7
E In Webseite einloggen/ GET, POST an PHP-Script übergeben Netzwerkprogrammierung 2
W Socket Server -> lesen von / schreiben zu php-script Netzwerkprogrammierung 6
B Versuch mit Socket etwas zu lesen und zu schreiben Netzwerkprogrammierung 15
Z Kann nicht Daten vom Server lesen Socket Netzwerkprogrammierung 10
OnDemand Json Objekt leeres Array beim lesen Netzwerkprogrammierung 9
I Offene Verbindungen lesen(Ressourcenmonitor lesen) Netzwerkprogrammierung 2
A FTP wie kann ich von java auf datei in fpt://192.168.178.1 lesen/schreiben? Netzwerkprogrammierung 3
C Gerenderte Website nach der ausführung von JavaScript als HTML Code aus lesen Netzwerkprogrammierung 4
B Java+Grbl: G-Code Befehle mit Java an Arduino senden und lesen Netzwerkprogrammierung 1
M TCP Verbindung Byte-weise lesen? Netzwerkprogrammierung 5
D GZIP InputStream lesen ohne zu encoden Netzwerkprogrammierung 1
L FTP Lesen einer Datei vom Server - Aufgehangen Netzwerkprogrammierung 0
C Datei über Socket schreiben und Ereignis lesen Netzwerkprogrammierung 9
B Socket Aufhängen beim Lesen Netzwerkprogrammierung 4
C Socket Probleme beim Lesen und Schreiben aus/in einen Socket Netzwerkprogrammierung 2
D Aus einer URL die Dateien lesen Netzwerkprogrammierung 5
P FTP Nochmal wachsende Datei per FTP lesen Netzwerkprogrammierung 9
P Wachsende Datei per FTP lesen Netzwerkprogrammierung 2
K Byte für Byte aus InputStream lesen Netzwerkprogrammierung 5
J UDP port packete lesen,wenn dieser besetzt ist Netzwerkprogrammierung 3
S Thread, Daten vom Socket lesen Netzwerkprogrammierung 2
Z File über Socket lesen Netzwerkprogrammierung 3
W aktuelle Datum vom Server lesen! Netzwerkprogrammierung 5
T Inputstream -> verschiedene Objekte lesen Netzwerkprogrammierung 3
K Socket Daten lesen ohne Längenangabe Netzwerkprogrammierung 19
T Socket Nullterminierten String lesen Netzwerkprogrammierung 4
L Java über php datei lesen? Netzwerkprogrammierung 18
Y Problem mit ObjectInputStream beim lesen vom Socket Netzwerkprogrammierung 10
T ServerSocket bleibt beim lesen von Input hängen Netzwerkprogrammierung 2
K Vom Socket lesen wenn das Gegenüber schon disconnected ist? Netzwerkprogrammierung 12
M lesen vom Client geht nicht Netzwerkprogrammierung 10
M Bytes aus Stream lesen Netzwerkprogrammierung 3
G unbekannte Zeichen beim senden und lesen Netzwerkprogrammierung 2
J Mit der File Api Dateien von anderen Rechnern lesen ? Netzwerkprogrammierung 3
F Netzwerktraffic lesen Netzwerkprogrammierung 16
E RTP Packet lesen - Byte Problem 0xFFFFFF80 statt 0x80 Netzwerkprogrammierung 7
S mit HttpClient Seiteninhalt lesen Netzwerkprogrammierung 8
R Mittels BufferedReader Objekte lesen? Netzwerkprogrammierung 5
G ProxySettings aus Internet Explorer lesen Netzwerkprogrammierung 8
T Sockets Verständnisfrage: abwechelnd lesen-schreiben Netzwerkprogrammierung 4
N Von nem Server per getInputStream in meheren Varianten lesen Netzwerkprogrammierung 13
thE_29 Vor dem ersten Posten bitte lesen! Netzwerkprogrammierung 0
S socket aus hashmap lesen -> geschlossen Netzwerkprogrammierung 2
J Vom BufferedReader lesen -> hängt ohne Fehler,ohne Except Netzwerkprogrammierung 2
N Username aus Java lesen Netzwerkprogrammierung 2
A Exception bei Cookie lesen Netzwerkprogrammierung 2
C POST-Parameter aus HTML-Script lesen Netzwerkprogrammierung 1

Ähnliche Java Themen


Oben