Seite 1 von 1

chartdl

Verfasst: Samstag 21. Juli 2012, 16:21
von Dav1d
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

Re: chartdl

Verfasst: Sonntag 22. Juli 2012, 17:35
von Leonidas
Warum nicht gstreamer? Ist auf End-User-Systemen sicherlich deutlich häufiger anzutreffen als mplayer oder gar lame.

Re: chartdl

Verfasst: Sonntag 22. Juli 2012, 17:41
von Dav1d
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)

Re: chartdl

Verfasst: Sonntag 22. Juli 2012, 19:23
von Leonidas
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.

Re: chartdl

Verfasst: Sonntag 22. Juli 2012, 19:25
von 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.

Re: chartdl

Verfasst: Sonntag 22. Juli 2012, 21:39
von Dav1d
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?