2017-05-23 3 views
3

私はあなたにC#コードを使用してチューブビデオをダウンロードしようとしていますが、適切なコードが得られません。私は多くのリンクを検索しましたが、適切なリンクとコードを取得できませんでした。C#でチューブビデオをダウンロードしますか?

あなたのC#コードで私のローカルフォルダにあなたのチューブビデオをダウンロードしたいと思います。私は1つのリンクを試してきましたが、そのコードはローカルフォルダにヌルビデオを取得するだけです。

以下はこれまでに試したコードです。

var VedioUrl = "https://www.youtube.com/embed/" + objYouTube.VideoID + ".mp4"; 

WebRequest MyRequest = HttpWebRequest.Create(VedioUrl); 
WebResponse MyResponse = MyRequest.GetResponse(); 
string RealURL = MyResponse.ResponseUri.ToString(); 
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(RealURL); 
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse(); 
Stream receiveStream = myHttpWebResponse.GetResponseStream(); 
Encoding encode = System.Text.Encoding.GetEncoding("utf-8"); 
StreamReader readStream = new StreamReader(receiveStream, encode); 
StreamWriter writer = new StreamWriter(Server.MapPath("~/youtube/" + objYouTube.VideoID + ".mp4"), true); 
writer.Write(readStream.ReadToEnd()); 
writer.Close(); 

はので、ここで私はダウンロードしようとしています私の動画のURLです:「https://www.youtube.com/embed/UCsiNPbLbwZk43FOCRrdKBlA.mp4

+0

[youtube-dl](https://youtube-dl.org/)は素晴らしいオープンソースソリューションです。あなたはあなたのアプリでそれを追加することができます。 –

+0

@AchaBillしかし、どのようにそれを使用することができます私はいくつかのヒントをお願いします。 – coderwill

+0

[プロセスクラス](https://msdn.microsoft.com/en-us/library/system.diagnostics.process(v = vs.110).aspx)をご確認ください –

答えて

2

私はC#のコードを使用して、あなたのチューブの動画をダウンロードするための解決策を見つけることがあります。

まずVisual StudioでNuGetパッケージマネージャコンソールの "libvideo" をインストールする必要があります。ここで

パッケージマネージャコンソールで次のコマンドを火災:

Install-Package VideoLibrary 

まず、あなたのコントローラ内で一番上にこの名前空間を追加します。

using VideoLibrary; 

を今ここだけのただのコードを書き、URLリンクを渡します

より最新の解決のために
var VedioUrl = "https://www.youtube.com/embed/" + objYouTube.VideoID + ".mp4"; 
var youTube = YouTube.Default; 
var video = youTube.GetVideo(VedioUrl); 
System.IO.File.WriteAllBytes(Server.MapPath("~/youtube/" + video.FullName + ".mp4"), video.GetBytes()); 
0

アプリでyoutube-dlを埋め込むことができます。
Youtubeのダウンロードオプションが豊富に用意されています。

基本的には、このようなことをします。

using System; 
using System.Diagnostics; 
using System.ComponentModel; 

namespace MyProcessSample 
{ 
    class MyProcess 
    { 
     public static void Main() 
     { 
      Process myProcess = new Process(); 

      try 
      { 
       myProcess.StartInfo.UseShellExecute = false; 
       myProcess.StartInfo.FileName = @"yourpath\youtube-dl.exe"; 
       myProcess.StartInfo.CreateNoWindow = false; 
       myProcess.StartInfo.Arguments = "https://www.youtube.com/watch?v=KFqrp4KSxio"; 
       myProcess.Start(); 
      } 
      catch (Exception e) 
      { 
       Console.WriteLine(e.Message); 
      } 
     } 
    } 
} 

これはC# wapper for youtube-dlです。
ニーズに合わせて拡張することができます。

Process Class

+0

私はyoutube-dl refrenceに私たちの.net C#ソリューションを追加する必要がありますか? – coderwill

+0

バイナリが必要です。すなわち実行可能ファイルである。 この[C#ラッパー](https://github.com/detaybey/WrapYoutubeDl)を使用することができます。 –

+0

ok私はあなたの解決策を試してみるつもりで、問題があれば私はちょうどあなたに1つのpingを与えるのを助けることができますOK – coderwill

0

YoutubeExplodeをチェックしてください。それは、YouTubeのビデオをクエリしてダウンロードするための豊富なAPIを提供し、他のライブラリとは異なり、依然として積極的に維持されています。

関連する問題