Ich versuche, einen Audio-Downloader zu erstellen youtube-dl
, ffmpeg
der Folgendes kann:
- Laden Sie das beste auf YouTube verfügbare Audioformat herunter
- Miniaturbild in die Datei einbetten.
- Konvertieren Sie die Datei in MP3.
- Löschen Sie alles aus dem Ordner außer der konvertierten MP3-Datei.
Unten ist der Code, den ich erstellt habe:
@echo off
cls
set /p playlist="Enter YouTube Link: "
youtube-dl -f bestaudio[ext=m4a] -i --write-thumbnail --embed-thumbnail -o "%%(title)s.%%(ext)s" %playlist% --exec "ffmpeg -i {} -codec:a libmp3lame -qscale:a 0 {}.mp3 && del {}"
Die Probleme, die ich mit meinem Code hatte:
- Die konvertierte Datei wird nicht richtig umbenannt. Sie hat
Filename.m4a.mp3
den gewünschten NamenFilename.mp3
- Das Video-Thumbnail wird gespeichert unter
Filename.jpg
und youtube-dl erstellt eine Datei mit dem Namencookies.txt
. Diese werden nicht automatisch gelöscht. - Zuletzt wird dieser Fehler angezeigt:https://i.stack.imgur.com/wHYyw.png
[swscaler @ 00000143e0a4ffc0] veraltetes Pixelformat verwendet, stellen Sie sicher, dass Sie den Bereich richtig eingestellt haben [mp3 @ 00000143e09f0340] Bildrate sehr hoch für einen Muxer, der sie nicht effizient unterstützt. Bitte überlegen Sie, eine niedrigere Bildrate, einen anderen Muxer oder -vsync 2 anzugeben
Ich wäre Ihnen sehr dankbar, wenn Sie mir bei der Behebung dieser Probleme helfen würden. Danke!
Antwort1
Hier ist der Code, der derzeit alles macht, was ich brauche:
@echo off
cls
set /p playlist="Enter YouTube Link: "
youtube-dl -f bestaudio[ext=m4a] --extract-audio --write-thumbnail --embed-thumbnail -o "%%(title)s.%%(ext)s" %playlist% --exec "ffmpeg -i {} -codec:a libmp3lame -qscale:a 0 {}.mp3 && del {}"
@For /R %%f in (*) Do (if not "%%~xf"==".mp3" Del "%%~f")
@For %%G In (*.m4a.mp3) Do @For %%H In ("%%~nG") Do @Ren "%%G" "%%~nH%%~xG"