Estoy intentando crear un descargador de audio youtube-dl
que ffmpeg
:
- Descarga el mejor formato de audio disponible en YouTube
- Insertar miniatura en el archivo.
- Convierte el archivo a mp3.
- Elimine todo de la carpeta excepto el archivo mp3 convertido.
A continuación se muestra el código que se me ocurrió:
@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 {}"
Los problemas que he estado enfrentando con mi código:
- El nombre del archivo convertido no se cambia correctamente. Se llama
Filename.m4a.mp3
donde quiero que se nombre.Filename.mp3
- La miniatura del vídeo se guarda como
Filename.jpg
y youtube-dl crea un archivo llamadocookies.txt
. Estos no se eliminan automáticamente. - Por último, aparece este error:https://i.stack.imgur.com/wHYyw.png
[swscaler @ 00000143e0a4ffc0] formato de píxel obsoleto utilizado, asegúrese de haber configurado el rango correctamente [mp3 @ 00000143e09f0340] Velocidad de cuadros muy alta para un muxer que no lo admite de manera eficiente. Considere especificar una velocidad de cuadros más baja, un muxer diferente o -vsync 2
Realmente agradecería que me ayudaran a solucionar esos problemas. ¡Gracias!
Respuesta1
Aquí está el código que actualmente hace todo lo que necesito:
@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"