【C#】Youtubeから音源だけダウンロードする
自分で実装しようか迷ったけど既存サービスを使うことにした。
使おうと思っていたアルゴリズムは下に纏めておく。
ファイル名に動画名を使いたい場合は、以下の記事を参照して欲しい。
また、音声のみ分離してダウンロードすることはYoutubeの規約違反である。使用する場合は自己責任で。
ソースコード
//動画のURLにくっついている11桁のID string youtubeID = "jNQXAC9IVRw"; string savePath = @"D:\hoge.mp3"; string url = $"http://www.youtubeinmp3.com/fetch/?video=https://www.youtube.com/watch?v={youtubeID}"; wc.DownloadFile(url,savePath);
たまにyoutubeinmp3の直リンクアドレスがMP3を返さないことがある。まだ変換されたことが無いものはそうなるようだ。MP3データでない場合はMP4等から抽出すると良いだろう。
http://www.youtubeinmp3.comというサービスを使用した。ソースにもある通り、このサービスはhttp://www.youtubeinmp3.com/fetch/?video={youtubeID}というURLにアクセスすることでMP3を取得できる。
そのままWAVデータに変換する場合は、以下の記事が役に立つと思う。