youtube-dl
私は、次のような機能を備えたオーディオ ダウンローダーを作成しようとffmpeg
しています。
- YouTubeで利用可能な最高のオーディオ形式をダウンロードする
- ファイルにサムネイルを埋め込みます。
- ファイルをmp3に変換します。
- 変換された 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 {}"
私のコードで直面している問題:
- 変換されたファイルの名前が正しく変更されていません。名前は
Filename.m4a.mp3
私が望む名前になっていますFilename.mp3
- ビデオのサムネイルは として保存され
Filename.jpg
、youtube-dl は という名前のファイルを作成しますcookies.txt
。これらは自動的に削除されません。 - 最後に、次のエラーが表示されます。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"