Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13
  1. #1
    stiller Leser
    Registriert seit
    31.10.2008
    Beiträge
    75

    Standard [Delphi] Youtube Downloader coden?

    Hi,
    ich habe wieder eine Frage an euch^^

    und zwar will ich mir ein Programm in Delphi schreiben, dass mir Videos von youtube downloadet.
    Hab schon paar Sachen versucht, hat aber nicht geklappt.
    wollte zuerst mit diesem Code hier arbeiten

    hat aber nicht ganz so geklappt, wie ich es mir vorgestellt habe

    hoffe ihr könnt mir helfen.

    PS: ich weiß, dass es bereits eine Menge solcher Programme gibt.

    //SuFu + google benutzt, aber nichts gefunden.

  2. #2
    Sobig Wurm Avatar von BlackHook
    Registriert seit
    13.03.2009
    Beiträge
    219

    Standard

    Ich mache ein bisschen was in Delphi. Kanst du mir sagen was dein Code mit Delphi zu tun hat ?
    Ansonsten bin ich auf Alles offen.

  3. #3
    Eigener Benutzertitel Avatar von inmate
    Registriert seit
    23.12.2008
    Beiträge
    1.767

    Standard

    Kann er überhaupt Delphi ? das ist Javascript was er da gepostet hat ^^


    mfG


    iPott <3

  4. #4
    Anfänger Avatar von err#rhuman
    Registriert seit
    23.04.2009
    Beiträge
    13

    Standard

    Jo will warscheins mit Delphi die Ein und Ausgabe machen und dann über Delphi den Javascript Code aufrufen der dann das Video runterläd. Poste doch mal dein komletten Quelltext dann kann ich dir sagen obs an dem Delphi Source liegt weil Javascript kenn ich mich nicht besonderst aus
    #Wenn Recht zu Unrecht wird,
    wird Wiederstand zur Pflicht!#



    ICQ: 599907863

  5. #5
    stiller Leser
    Registriert seit
    31.10.2008
    Beiträge
    75

    Standard

    gut erkannt... lol
    is mir schon klar, dass das javaskript ist.
    wie err#rhuman bereits gesagt hat, hatte ich vor den Code z.B. in ein memo-feld einzugeben um ihn später im Quelltext laden zu können.
    Und ja, ich kann Delphi.

    Ich werd jetzt schnell was coden und gleich hier posten.

    Ist aber eigentlich eine ziemlich unschöne Lösung, wenn es funktionieren sollte.
    Vllt. habt ihr ne bessere Idee.

    Edit:
    Code scheint bisschen unvollständig, funktioniert auch nicht , aber so war eben meine Idee, wie es funktionieren könnte.

    http://img3.imagebanana.com/view/gr41h7ey/lol.bmp.png
    Nachdem man einen Youtube-Link eingegeben hat und auf Downloaden klickt, bekommt man eine Fehlermeldung angezeigt, dass der Inhalt nicht heruntergeladen werde konnte.
    Geändert von oxmox (25.06.2009 um 20:16 Uhr) Grund: Automerged Doublepost

  6. #6

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Wieso setzt du den Javascript-Code nicht einfach direkt in Delphi um?

    1. Quelltext holen
    2. Video-ID und t-Argument extrahieren
    3. Download-URL zusammenbauen
    4. Datei runterladen

  7. #7
    stiller Leser
    Registriert seit
    31.10.2008
    Beiträge
    75

    Standard

    Zitat Zitat von inout Beitrag anzeigen
    Wieso setzt du den Javascript-Code nicht einfach direkt in Delphi um?

    1. Quelltext holen
    2. Video-ID und t-Argument extrahieren
    3. Download-URL zusammenbauen
    4. Datei runterladen
    Weil Delphi z.B. die Schleifenklammern{} im Quelltext ignoriert und deshalb der meiste Code vom Compiler weggelassen wird.
    Könntest du mal bitte den Code hinschreiben?
    Weiß nicht genau, wie ich das so umsetzen sollte.
    Geändert von oxmox (25.06.2009 um 21:41 Uhr) Grund: Rechtschreibung

  8. #8
    W32.SwineFlu Avatar von Sirect
    Registriert seit
    24.07.2008
    Beiträge
    1.916

    Standard

    Er meint du sollst den Javascript-Code übersetzen und die Funktionen die er ausführt in Delphi coden oO

  9. #9
    stiller Leser
    Registriert seit
    31.10.2008
    Beiträge
    75

    Standard

    Ich weiß was er gemeint hat.
    Nur da ich mich mit Java nicht auskenne, weiß ich auch nicht wie genau der code funktioniert.
    Kann ihn daher auch nicht umschreiben oder die Befehle dafür in Delphi schreiben (wie ich es im 1. Post bereits gesagt hatte).

    Btw. thx für die Antworten. (nicht ironisch gemeint )
    Geändert von oxmox (25.06.2009 um 22:08 Uhr)

  10. #10

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    so, hab dir mal ein kleines Beispiel gemacht.
    Den Code habe ich nur kurz in 2min runtergetippert, aber er scheint zu funktionieren.
    Benötigt die Indy Komponenten (IdHTTP).

    Code:
    uses idhttp,strutils;
    
    function youtube_dl(const url,_file:string; var err: string):boolean;
    
      function gettostr(const yurl:string; var src,err:string):boolean;
      begin
        result:=true;
        with tidhttp.Create do
          try
            try
              src:=get(yurl);
            except
              on e:exception do
              begin
                err:=e.Message;
                result:=false;
              end;
            end;
          finally
            free;
          end;
      end;
    
      function gettofile(const yurl,_file:string; var err:string):boolean;
      var fs:tfilestream;
      begin
        result:=true;
        try
          fs:=tfilestream.Create(_file,fmcreate or fmsharedenynone);
          try
            with tidhttp.Create do
              try
                handleredirects:=true;
                try
                  get(yurl,fs);
                except
                  on e:exception do
                  begin
                    err:=e.Message;
                    result:=false;
                  end;
                end;
              finally
                free;
              end;
          finally
            fs.Free;
          end;
        except
          on e:exception do
          begin
            err:=e.Message;
            result:=false;
          end;
        end;
      end;
    
      function getvidid(const url:string; var id:string):boolean;
      var p:integer;
      begin
        p:=pos('watch?v=',url);
        result:=p>0;
        if result then id:=copy(url,p+8,length(url));
      end;
    
      function getstrb(const s,left,right:string; var str:string):boolean;
      var p,q:integer;
      begin
        result:=false;
        p:=pos(left,s);
        if p>0 then
        begin
          q:=p+length(left);
          p:=posex(right,s,q);
          if p>0 then
          begin
            str:=copy(s,q,p-q);
            result:=true;
          end;
        end;
      end;
    
    var s,id,t:string;
    begin
      result:=false;
      if getvidid(url,id) then
      begin
        if gettostr(url,s,err) then
        begin
          if getstrb(s,'"t": "','"',t) then
            result:=gettofile(format('http://www.youtube.com/get_video?video_id=' +
              '%s&t=%s&el=detailpage&ps=&fmt=34', [id,t]),_file,err)
          else err:='t arg not found';
        end;
      end else err:='vid id not found';
    end;
    Möglicher Aufruf:
    Code:
    var err:string;
    begin
      //Video-URL anpassen.
      if youtube_dl('http://www.youtube.com/watch?v=...','c:\vid.flv',err) then
        showmessage('ok')
      else showmessage('error: '+err);
    end;

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •