ClipGrab³ - Onlinevideos herunterladen + konvertieren

Hier können eigene Projekte, die mit Qt in Beziehung stehen vorgestellt werden.
Antworten
WishMaster
Beiträge: 14
Registriert: 6. April 2007 11:31

ClipGrab³ - Onlinevideos herunterladen + konvertieren

Beitrag von WishMaster »

Moin moin,

ich möchte euch hier mein Projekt ClipGrab vorstellen, um auch einmal direkt aus der Qt-Community Feedback dazu zu erhalten.

Was ist ClipGrab?
ClipGrab ist ein Programm, das Videos von diversen Online-Videoseiten herunterlädt und mithilfe von ffmpeg in benutzbare Formate umwandelt.
ClipGrab ist (natürlich) mit Qt4 (das Windows- und Mac-Release verwenden jeweils schon 4.6) geschrieben und ist GPLv3 lizensiert.
Bild

Viel Spaß und schonmal danke für euer Feedback.
Zuletzt geändert von WishMaster am 2. Januar 2010 22:49, insgesamt 1-mal geändert.
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Die Sourcen sind klein, es compiliert mit nur einem Warnung. Es startet schnell und verrichtet seinen Dienst. Die Homepage ist sauber, schlank und das Beispielvideo für den letzten Trottel verständlich. Es dealt mit ffmpeg was ich bewundernswert finde, da man ja sonst damit nur Probleme hat.

Wo ist der Hacken? ^^

Wer mir mal die Sourcen aufheben. Da sind ein paar Sachen drin die ich auch gern hätte. Z.b. das Symbol in der Taskleiste.


edit: Ok. Eins muss ich bemängeln. Ich finde das Video nicht im angegebenen Ordner :)
WishMaster
Beiträge: 14
Registriert: 6. April 2007 11:31

Beitrag von WishMaster »

Oh, das kann eigentlich nicht sein^^
Was hast du für ein Format ausgewählt? Welche Videoplattform?
Hat das Herunterladen funktioniert?
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Youtube. Das herunterladen funktioniert. Ogg MPEG4 nicht, nur das original Format. Ich ziehe mein Lob von gerade eben zurück.
Hast du nicht mal Debug Messages in dein Programm eingebaut? Oder Kommentare? Ich hasse Programme ohne Kommentare im Code ;)
WishMaster
Beiträge: 14
Registriert: 6. April 2007 11:31

Beitrag von WishMaster »

Welches Windows verwendest du denn? Wie siehts mit WMV und MP3 aus?
Ach ja, und du verwendest schon die Version, die per Setup installiert wird, oder?
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Nope Linux. Hab mir wie gesagt die Sourcen geladen.

Awww Fehler gefunden. ffmpeg war garnicht installiert. Bau doch bitte was ein, dass das erkennt :) Sry. für das Hin und Her gerade, bin nicht wirklich gesund atm.

Alle Codecs gehen jetzt bis auf Ogg Theora. Da erzähl er mir beim abspielen mit mplayer, dass er den Codec nicht öffnen kann und zeigt mir ein zerstückeltes Bild. Aber das wird wohl wieder mein Fehler sein.
WishMaster
Beiträge: 14
Registriert: 6. April 2007 11:31

Beitrag von WishMaster »

Nein, das ist ein Problem von ffmpeg^^
In manchen Versionen mag es Theora irgendwie nicht, ich weiß auch nicht, woran das liegt.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

Folgender Feedback:

Testsystem:
- Linux 2.6.31-16-generic x86_64
- Qt version 4.6.0
- FFmpeg version SVN-r19352-4:0.5+svn20090706-2ubuntu2

Konvertieren zu WMV funktioniert...

Punkt 1:
Konvertieren zu MPEG4 funktioniert nicht.. das liegt zwar offensichtlich an meiner ffmpeg-Version, aber das Programm sollte schon darauf reagieren..:
"ffmpeg -i - -y -qscale 0.1 -vcodec mpeg4 "/home/........../New Years Times Square Ball Drop 2010.mp4""
18183677
"" "FFmpeg version SVN-r19352-4:0.5+svn20090706-2ubuntu2

........

Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Unsupported codec for output stream #0.1
Obwohl die Konvertierung fehlschlägt, behauptet das Programm frech, dass alles geklappt hat.

Punkt 2:
Beim Programmstart:
Object::connect: No such slot QTabWidget::setCurrentPage(int)
Object::connect: (receiver name: 'mainTab')
Object::connect: No such slot QTabWidget::setCurrentPage(int)
Object::connect: (receiver name: 'mainTab')

Punkt 3:
Warnings sollte man beachten... folgende Zeilen sind kritisch:

Code: Alles auswählen

void ClipGrab::obey(QNetworkReply* reply)
{
   ...
    if (reply->errorString().isEmpty()); // schlecht
    {
      .....
    }
}

...
void converter_ffmpeg::startConversion(QByteArray* data, QString target, QString originalExtension, int mode)
{
    ...
    case 2:
           ...
            if (ffmpegTest->readAll().count("libvorbis") == 0); // schlecht
            {
                ...
            }
.. und noch einige weitere solche (siehe Warnings)

hth....
WishMaster
Beiträge: 14
Registriert: 6. April 2007 11:31

Beitrag von WishMaster »

Hallo solarix,

du hast recht, auf ffmpeg-Fehler einzugehen ist vielleicht keine schlechte Idee, ich habe das mal auf meine To-Do-Liste gesetzt.
Aber das erste von dir angesprochene problematische Beispiel ist m. M. n. nicht wirklich schlimm, eigentlich sogar beabsichtigt, da es für die Funktionalität des Programms nicht von übermäßig großer Bedeutung ist, ob das Programm herausfinden kann, ob es ein Update gibt.
Die andere Abfrage mit libvorbis zielt darauf ab, herauszufinden, ob ffmpeg mit Unterstützung für libvorbis kompiliert wurde. Ist das nicht der Fall, kann mit Sicherheit davon ausgegangen werden, dass der ffmpeg-eigene Vorbis-Decoder vorhanden ist.

Die zwei Warnings sind mittlerweile beseitigt und waren alte Code-Überbleibsel ohne Funktion :D
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Nochwas. Beim runterladen ohne convertieren bin ich schon bei 100% CPU Last. Mir scheint, du aktualisierst irgendein Widget bei jedem heruntergeladenen Byte. Vllt. den Ladebalken?
Werd demnächst mal in den Code schaun.
koppi
Beiträge: 29
Registriert: 21. Dezember 2010 14:30
Wohnort: Augsburg
Kontaktdaten:

Beitrag von koppi »

Habe den Code mal kurz überflogen. Sieht professionell gemacht aus. Von der Usability her bin ich auch begeisterter (Clipboard-Inhalt).

Das Programm bleibt erstmal auf dem Rechner. Wobei ich sagen muß, mir wäre eine Firefox oder Google Chrome-Integration lieber (-- aber was nicht ist, kann ja noch werden ;-) ).

Folgende Sachen könnte man noch machen:

1. Fenster-Position merken. 2. Splash-Screen deaktivieren (ist eh viel zu kurz sichtbar -- oder einen künstlichen Delay einbauen als "loading video site plugins...") 3. Beim Klick mit der rechten Maustaste auf das Tray-Icon irgendein vernünftiges Popup-Menu anzeigen (unter Gnome, KDE & Windows Standard).
bbt
Beiträge: 29
Registriert: 2. Februar 2010 19:21

Beitrag von bbt »

Hey,

mich interessiert es schon seit Längerem, wie man von Youtube & Co runterlädt. Das Problem ist nur, dass ich bei jedem Programm bei dem ich in den Source schaue, einfach nichts verstehe >.<
Und so eben auch bei deinem, könntest du vll. ein paar Worte dazu sagen wie das genau geht ?

Wäre echt nett

PS: Frohe Weihnachten!
Antworten