web-dev-qa-db-ja.com

Youtube-DL:オーディオファイルをMP3に変換するときにビデオ情報/説明を取り除く方法は?

これは厄介かもしれませんが、Youtube-DLを使用してオーディオをビデオからMP3に変換するときは、タイトルにもタグを付けて、ビデオのサムネイルを埋め込みます。どういうわけかそれは私が望まないビデオの説明と他のいくつかのメタビデオ情報を追加します。これは私が使用するコマンドです:

youtube-dl -o "%(title)s.%(ext)s" -x --audio-format mp3 --audio-quality 320K --embed-thumbnail --add-metadata --metadata-from-title "%(artist)s - %(title)s" <youtube url>

ID3タグ情報を確認すると、期待通りに動画タイトルが追加されました。拡張機能の名前をAVIに変更し、オーディオファイルを再生してそのプロパティを開くと、ビデオの説明、バージョンエンコーダー、ブランドなどの不要な情報が表示されます。オプション --add-metadataメタデータをビデオファイルに書き込み、そこからビデオの説明を取得しますが、それを省略すると、ビデオはまったくタグ付けされません。

Youtube-DLとFFMPEGのドキュメントを読みましたが、動画の説明/情報を削除してMP3にタグを付けたままにする適切な方法が見つかりません。

誰かがこれを行う方法を知っていますか?

8
jaleco

現在、--add-metadataオプションを制御できるとは思いません。

ただし、--execオプションを使用して、出力ファイル{}への参照を使用してコマンドを後で実行し、ffmpegに次のように不要なメタデータを削除するように依頼できます。

--exec "ffmpeg -y -i {} -map 0 -c copy -metadata comment=\"\" -metadata description=\"\" -metadata purl=\"\" temp.mp3"

その場で「変換」プロセスを実行する(同じファイルを上書きする)と、出力ファイルのストリームデータが壊れますが、補助temp.mp3を追加してから上書きすると、魅力のように機能します。

次のコマンドの組み合わせをテストしました。

youtube-dl -o "%(title)s.%(ext)s" -x --audio-format mp3 --audio-quality 320K --embed-thumbnail --add-metadata --metadata-from-title "%(artist)s - %(title)s" <youtube url> --exec "ffmpeg -y -i {} -map 0 -c copy -metadata comment=\"\" -metadata description=\"\" -metadata purl=\"\" temp.mp3;cp -r temp.mp3 {};rm -rf temp.mp3"

これがお役に立てば幸いです。

PS:質問が少し古いことは知っていますが、実用的な解決策を投稿すると、あなたや他の人に役立つかもしれません。

4
matthewd