chartdl

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

https://github.com/Dav1dde/chartdl

Basierend auf mtvgt.

Lädt Musik-Videos von YouTube (mit youtube-dl) zu allen Liedern in den Charts runter und konvertiert sie ggf. zu mp3 (benötigt mplayer und lame).

Zzt. ist nur die Kategorie `hitlist` unterstützt, habe noch keine Datenbank-Models für die anderen implementiert.

Code: Alles auswählen

usage: chartdl.py [-h] [-c {album,dance,video,hitlist,black}]
                  [--database DATABASE] [--music-dir MUSIC_DIR] [-a] [-n] [-q]
                  [--username USERNAME] [--password PASSWORD]
                  [--youtube-dl YOUTUBE_DL] [--mplayer MPLAYER] [--lame LAME]

Retrieves the german charts from mtv downloads the corresponding videos from
youtube and if wanted, extracts the audio with mplayer and lame (flv to mp3).

optional arguments:
  -h, --help            show this help message and exit
  -c {album,dance,video,hitlist,black}, --category {album,dance,video,hitlist,black}
                        chart category
  --database DATABASE   path to music database, must be a valid sqlalchemy
                        database uri
  --music-dir MUSIC_DIR
                        path to save the downloaded videos/music
  -a, --audio-only      extracts the audio from the downloaded video and
                        encodes it with lame
  -n, --notify          enable the libnotify integration (requires pynotify)
  -q, --quiet           disable status information
  --username USERNAME   youtube username
  --password PASSWORD   youtube password
  --youtube-dl YOUTUBE_DL
                        path to youtube-dl executable
  --mplayer MPLAYER     path to mplayer executable
  --lame LAME           path to lame executable
EDIT: ^ veraltet – Siehe README.md
Zuletzt geändert von Dav1d am Sonntag 22. Juli 2012, 17:38, insgesamt 1-mal geändert.
the more they change the more they stay the same
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Warum nicht gstreamer? Ist auf End-User-Systemen sicherlich deutlich häufiger anzutreffen als mplayer oder gar lame.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Ich kenne gstreamer nicht. Aber gute Idee, ein zweites "backend".

Anfangs nutzte ich `ffmpeg` welches allerdings viel zu langsam war um die Audiospur zu extrahieren und anschließend in eine MP3 zu konvertieren. Ich schaue mir mal gstreamer an!

PS: mplayer und lame sind doch so gut wie auf jedem Linux installiert, oder?

Edit:// So wie ich das sehe, brauche ich für gstreamer auch jede Menge Plugins damit ich nach .mp3 konvertieren kann (gstreamer-ffmpeg, gstreamer-lame, gstreamer-plugins-ugly, gstreamer-plugins-bad-multiverse)
the more they change the more they stay the same
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dav1d hat geschrieben:PS: mplayer und lame sind doch so gut wie auf jedem Linux installiert, oder?
Wirklich? Denn ich denke dass so ein Standard-Ubuntu üblicherweise kein MP3 kodieren kann, da man dafür eine Lizent braucht, also landet lame in multiverse. Und wenn man Musik abspielt, dann braucht man kein lame dafür, weil das ja ein Encoder ist, zum Abspielen reicht auch libavcodec. Und mplayer wirkt mir auch auf Standard-Ubuntus abstrus, weil die GNOME-Mediaplayer Totem verwenden, welches gstreamer nutzt. Qt-Apps nutzen eventuell Phonon und das hat ein stabiles GStreamer-(again!)-Backend und ein VLC-Backend. Daneben existiert auch ein Xine-Backend aber da es in Arch AUR ist, wirkt es nicht sonderlich relevant. Das Phonon-MPlayer Backend ist eher bäh, also lohnt es sich auch auf KDE-Desktops nicht wirklich MPlayer zu installieren. Eher noch VLC.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
lunar

@Dav1d: Kaum, denn Distributoren müssten Lizenzgebühren zahlen, um MPlayer und lame vorinstallieren zu dürfen, da der MP3-Codec und diverse in MPlayer implementierte Audio- und VIdeo-Codecs patentrechtlich geschützt sind. Deswegen musst Du die gstreamer-Plugins zur MP3-Kodierung ebenfalls manuell nachinstallieren. Die gesamte Plugin-Architektur von gstreamer hat ihren Hauptgrund in der Lizenzproblematik diverser Codecs :)

@Leonidas: Das xine-Backend für Phonon wird gar nicht mehr entwickelt, von seiner Verwendung wird offiziell abgeraten.
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Mh, ich habe den MPlayer immer als Standard angesehen (bei mir geht zumindest nichts ohne MPlayer).

Um mit `gstreamer` eine `mp3` zu kodieren, muss ich doch auch `lame` installiert sein (wenn ich das Ubuntuusers wiki richtig verstehe)? D.h. `gstreamer` würde nur den `mplayer` Aufruf ersetzen, allerdings scheint es, dass `gstreamer` die Videos dekodieren würde und nicht nur die Audiospur extrahieren (`mplayer -ac pcm:fast:file=…`), was wiederum verdammt langsam ist und auch der Grund ist warum ich von `ffmpeg` weg bin.
Also kann `gstreamer` den `mplayer`-Aufruf garnicht ersetzen, oder verstehe ich da etwas falsch?
the more they change the more they stay the same
Antworten