TyrrzのパッケージYoutubeExplodeを使用して.NETでYouTube動画を抽出しようとしています。私のプログラムは昨日正常に実行されていたので、フラッシュとhtml5ビデオの両方のオーディオとビデオストリームをダウンロードすることができました。しかし、今日、私はパッケージを使用してHTML5のビデオを抽出しようとすると、それは誤りResponse status code does not indicate success: 403 (Forbidden).
で終了し、私はビデオストリームを取得するために使用しているコードは次のとおりです。C#パッケージTyrrrz/YoutubeExplodeがYouTube html5ビデオではエラー403を返しますが、フラッシュビデオでは表示されません
var youtube = new YoutubeClient();
var video = await youtube.GetVideoInfoAsync("GemKqzILV4w"); //YouTube ID for random video
var stream = video.MixedStreams.OrderBy(s => s.VideoQuality).Last();
await youtube.DownloadMediaStreamAsync(stream, "C:\\Videos\\vid.mp4");
私の理論は、YouTubeが私の要求をブロックしていることですどういうわけかhtml動画のために私はこの問題をどのように修正できるかわかりません。パッケージにYoutubeClient()を含むヘッダーを送信する方法はありますか?他の誰かがこのパッケージを使っている経験はありますか?私はYoutubeExtractorとlibvideoを試してきましたが、このタイプのC#パッケージは他のすべてのC#パッケージを使っていましたが、これまでのところ、YoutubeExplodeはhtml5ビデオで動作する唯一のものです。この問題に対する助けや実現可能な解決策は非常に感謝しています。
YoutubeExplodeはどのウェブサイトからもビデオをキャプチャしますか? Youtubeのみの場合、FLVファイル(Flash)とWebM(Google)やMP4(MPEG)などの他の形式はどのように区別されますか?つまり、MP4ではなくFLVを与えるべきであるということです。また、YoutubeはほとんどがMP4、WebM、M4Aファイルを保持しているので、どのように/どこからこれらのFLVファイルを入手するのかわかりません。 **正しいことを尋ねていることを確認してください** –
'(s => s.VideoQuality).Last();'の値をチェックする方法はありますか?あなたのリンクの最大ビデオサイズは** 360p **です。高解像度が見つからない理由は?悪化すると悪化します...ビデオページのHTMLを読み込む( 'String'として)独自のコードを書いてそこから直接リンクを抽出してください。 '' adaptive_fmts ''を探して、そこからHTMLエンティティの解析とテキストのUTFエンコーディングの後に直接リンクを得ることができます(例えば'%26'は最後の直接リンクなどで '&'になります) –