Youtube Uploader

  • VB.NET

    Youtube Uploader

    Hallo Forengemeinde,

    ich versuche aktuell einen YouTube-Uploader zu programmieren, da ich meine Youtube-Videos zu einer bestimmten Zeit hochladen möchte und den Upload nicht jedes mal manuell starten möchte. Das habe ich mit der Youtube-API auch so weit geschafft:

    VB.NET-Quellcode

    1. Dim setting As New YouTubeRequestSettings("App-Name", "Developer-Code", "Youtube-Benutzernáme", "Youtube-Passwort")
    2. Dim request As New YouTubeRequest(setting)
    3. Dim v As New Video()
    4. v.Title = "Test"
    5. v.Tags.Add(New MediaCategory("Games", YouTubeNameTable.CategorySchema))
    6. v.Keywords = "Test, mein, hallo, keyword 4"
    7. v.Description = "Das ist ein test"
    8. v.YouTubeEntry.Private = True
    9. v.YouTubeEntry.MediaSource = New MediaFileSource("Pfad", "video/mpeg")
    10. Dim createdVideo As Video = request.Upload(v)


    Allerdings möchte ich auch eine Fortschrittsanzeige in mein Programm einbauen, da ich bei einem 2-Stunden Upload gerne wissen würde, wie weit das Video schon hochgeladen ist. Deswegen müsste man das Video asynchron hochladen. Dazu gibt es auch folgendes Beispiel:

    code.google.com/p/google-gdata…eUploader/YouTubeUploader

    Allerdings verstehe ich nicht, wie dort der asynchrone Upload abläuft... Außerdem würde ich gerne auch Videos hochladen, die nicht im *.csv-Format gespeichert sind :wacko:

    Danke im voraus ;)



    EDIT: Ich habe meinen Code heute ein weiteres mal getestet und bekomme jetzt folgende Fehlermeldung:

    Quellcode

    1. System.Net.WebException: Die Anfrage wurde abgebrochen: Die Anfrage wurde abgebrochen.. ---> System.IO.IOException: Stream kann nicht geschlossen werden, bevor alle Bytes geschrieben wurden.
    2. bei System.Net.ConnectStream.CloseInternal(Boolean internalCall, Boolean aborting)
    3. --- Ende der internen Ausnahmestapelüberwachung ---
    4. bei System.Net.ConnectStream.CloseInternal(Boolean internalCall, Boolean aborting)
    5. bei System.Net.ConnectStream.System.Net.ICloseEx.CloseEx(CloseExState closeState)
    6. bei System.Net.ConnectStream.Dispose(Boolean disposing)
    7. bei System.IO.Stream.Close()
    8. bei Google.GData.Client.GDataGAuthRequest.CopyRequestData()
    9. bei Google.GData.Client.GDataGAuthRequest.Execute(Int32 retryCounter)
    10. bei Google.GData.Client.GDataGAuthRequest.Execute()
    11. bei Google.GData.Client.MediaService.EntrySend(Uri feedUri, AtomBase baseEntry, GDataRequestType type, AsyncSendData data)
    12. bei Google.GData.Client.Service.Insert(Uri feedUri, AtomEntry newEntry, AsyncSendData data)
    13. bei Google.GData.Client.Service.Insert[TEntry](Uri feedUri, TEntry entry)
    14. bei Google.GData.YouTube.YouTubeService.Upload(String userName, YouTubeEntry entry)
    15. bei Google.YouTube.YouTubeRequest.Upload(String userName, Video v)
    16. bei test.Form1.Button1_Click(Object sender, EventArgs e)
    17. bei System.Windows.Forms.Control.OnClick(EventArgs e)
    18. bei System.Windows.Forms.Button.OnClick(EventArgs e)
    19. bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    20. bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    21. bei System.Windows.Forms.Control.WndProc(Message& m)
    22. bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
    23. bei System.Windows.Forms.Button.WndProc(Message& m)
    24. bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    25. bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    26. bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    Auch nach einigem googlen bin ich auf keine Lösung gestoßen, außer dass ich mein .NET-Framework updaten solle, woran es aber nicht liegen kann, da es gestern ja noch funktioniert hat... Hat vielleicht jemand anderes eine Idee? Schonmal danke ;)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „sycyrius“ ()