使用 youtube-dl 和 ffmpeg 從 YouTube 下載音頻

使用 youtube-dl 和 ffmpeg 從 YouTube 下載音頻

我正在嘗試製作一個音訊下載器,youtube-dl它將ffmpeg

  1. 下載 YouTube 上可用的最佳音訊格式
  2. 在文件中嵌入縮圖。
  3. 將檔案轉換為 mp3。
  4. 刪除資料夾中除轉換後的 mp3 檔案之外的所有內容。

下面是我想出來的程式碼:

@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 {}"

我的程式碼遇到的問題:

  1. 轉換後的檔案未正確重命名。它被命名Filename.m4a.mp3在我想要命名的地方Filename.mp3
  2. 影片縮圖另存為,Filename.jpg並且 youtube-dl 創建一個名為cookies.txt.這些不會自動刪除。
  3. 最後,出現這個錯誤:https://i.stack.imgur.com/wHYyw.png

[swscaler @ 00000143e0a4ffc0] 已棄用的像素格式,請確保您正確設定了範圍 [mp3 @ 00000143e09f0340] 對於無法有效支援它的複用器來說,幀速率非常高。請考慮指定較低的幀速率、不同的複用器或 -vsync 2

如果您能幫助我解決這些問題,我將非常感激。謝謝!

答案1

這是當前正在執行我需要它執行的所有操作的程式碼:

@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"

相關內容