C# 如何以编程方式从youtube视频中提取音频mp3?

C# 如何以编程方式从youtube视频中提取音频mp3?,c#,asp.net,audio,mp3,youtube,C#,Asp.net,Audio,Mp3,Youtube,有没有人有任何asp.net C#代码示例,可以从youtube视频链接中提取音频并将其保存为mp3文件。有人建议使用我安装的wget和ffmpeg,我正在尝试shell命令,但下面出现了一个异常。下面列出了示例代码 System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.EnableRaisingEvents = false; proc.StartInfo.FileName = "C:\\Program

有没有人有任何asp.net C#代码示例,可以从youtube视频链接中提取音频并将其保存为mp3文件。有人建议使用我安装的wget和ffmpeg,我正在尝试shell命令,但下面出现了一个异常。下面列出了示例代码

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents = false;
proc.StartInfo.FileName = "C:\\Program Files\\GnuWin32\\bin\\wget.exe http://www.youtube.com/get_video?video_id=... | ffmpeg -i - audio.mp3";
proc.Start();
您应该使用下载文件,并使用对其进行转码。

您会看到“未找到文件”,因为您没有指定有效的文件名,即:

"C:\\Program Files\\GnuWin32\\bin\\wget.exe http://www.youtube.com/get_video?video_id=... | ffmpeg -i - audio.mp3"
上面的不是文件名,而是一个文件名加上一些参数,然后通过管道传输到另一个可执行文件


当您试图在此处运行两个可执行文件(wget和ffmpeg)时,这里的方法是编写一个脚本(例如批处理文件),将这两个可执行调用打包,然后执行脚本并将url参数传递给它。

Process.Start(string)方法用于启动一个没有参数的进程。因此,正如chibacity所说,您会得到一个异常,因为整个字符串“C:\Program Files\GnuWin32\bin\wget.exe…| ffmpeg-i-audio.mp3”被视为要执行的文件名。要使用参数启动进程,请使用process.start(string,string)方法:。

请指定异常。{“系统找不到指定的文件”}我仍然无法使批处理文件正常运行。有人能帮忙排除故障吗?我调出cmd.exe并转到ffmpeg所在的目录,然后尝试运行以下命令:“C:\Program Files\GnuWin32\\bin\wget.exe | ffmpeg.exe-I-C:/temp/mp3/audio.mp3”我发现系统找不到指定的文件错误。我最近读到从youtube下载视频不再可能。有人能确认吗?您正在下载的是Youtube HTML页面,而不是视频文件!!我仍然无法使批处理文件正常运行。有人能帮忙排除故障吗?我调出cmd.exe并转到ffmpeg所在的目录,然后尝试运行以下命令:“C:\Program Files\GnuWin32\\bin\wget.exe youtube.com/get_video?video_id=2ookuoiam2a | ffmpeg.exe-I-C:/temp/mp3/audio.mp3”我发现系统找不到指定的文件错误我最近读取的视频无法从youtube下载。有人能证实吗?我最近读到从youtube下载视频已经不可能了。有人能证实吗?