wav形式のYouTubeビデオを検索してダウンロードするためのCLIユーティリティ

wav形式のYouTubeビデオを検索してダウンロードするためのCLIユーティリティ

約50の曲のタイトルを含むテキストファイルがあります。

テキストファイルから各タイトルを取得し、YouTubeで検索して最初の4つのビデオリンクをインポートし、そのリンクのオーディオをダウンロードできるCLIユーティリティを探しています。

これまで試してみた結果、youtube-dl検索機能がありますが、メタデータのみを返し、そこに動画リンクが見つからないようです。

答え1

  • WAVは最新のオーディオコンテナ形式ではありません。一定の速度とブロックサイズのオーディオコーデックのみをサポートするコンテナフォーマットを望む理由は不明です。ただし、これはストリーミングサービスでは非常に不便な作業であるため、オーディオをダウンロードしてコーデックにトランスコードし、WAVコンテナに入れる必要があります。幸いにもyt-dlp -x --audio-format wavそれはあなたのためにそれをします。 (yt-dlpはい、ポイントですyoutube-dl。まだ確認していません。)再び、WAVが必要な場合は、WAVフレンドリーなコーデックにトランスコードするのではなく、オーディオに対して行ったすべての操作を修正してください。これは通常ギガバイトの非圧縮オーディオを意味します。
  • yt-dlp ytsearchN:Search string「検索文字列」の上位N個の結果を取得します(youtube-dl現在はそのような機能がないため必要ですyt-dlp)。
  • これらすべてをまとめると、ytdlp -x --audio-format wav ytsearch:YOURTERMSHEREYOURTERMSHEREクエリごとに必要な操作を実行できます。
  • ファイル全体を1行ずつ読みたい場合は、stdinにパイプして次のようにyt-dlpします--batch-file -

sound.shを取得します。

#!/usr/bin/env zsh
sed 's/^/ytsearch4:/' < $1 | yt-dlp --batch-file - -x --audio-format wav

(テストされていません)

chmod 755 grabsound.shプログラムを直接実行してから実行できます/path/to/grabsound.sh yourtextfile.txt

もう一度強くお勧めしますいいえWAVを使用してください。後で別の形式にトランスコードする予定であっても、wav(主に圧縮されていないPCM)でトランスコードするよりも、元のオーディオをすぐにデコードする方が良いので、ここで行うことは不要です。

関連情報