使用c#下载管视频?

时间:2017-05-23 05:41:27

标签: c# youtube

我正在尝试使用c#代码下载管视频,但我没有得到正确的代码。我搜索了许多链接,但没有得到任何正确的链接和代码。

我想用c#代码在我的本地文件夹中下载你的视频管。我尝试了一个链接,但该代码只是在我的本地文件夹中获取空视频所以任何人都知道如何做到这一点。

以下是我到目前为止尝试的代码。

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();

所以这是我想要下载的视频网址:“https://www.youtube.com/embed/UCsiNPbLbwZk43FOCRrdKBlA.mp4

3 个答案:

答案 0 :(得分:4)

我找到了使用c#代码管视频的下载解决方案。

首先需要安装" libvideo "在visual studio中的 NuGet 包管理器控制台上。

此处在包管理器控制台上触发此命令:

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());

答案 1 :(得分:1)

您可以在应用中嵌入youtube-dl 它提供了广泛的Youtube下载选项。

基本上,你做这样的事情。

Exception:
Traceback (most recent call last):
   File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main
status = self.run(options, args)
   File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
   File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 784, in install
**kwargs
   File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
   File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
   File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
   File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
   File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/psycopg2'

您可以使用此C# wapper for youtube-dl 您可以扩展它以满足您的需求。

Process Class

答案 2 :(得分:1)

要获得更新的解决方案,请查看YoutubeExplode。它提供了丰富的API来查询和下载Youtube视频,与其他库不同,它仍然是主动维护的。