【问题标题】:How to programmatically extract audio mp3 from a youtube video?如何以编程方式从 youtube 视频中提取音频 mp3?
【发布时间】:2011-03-03 05:53:01
【问题描述】:

有没有人有任何示例 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();

【问题讨论】:

  • 请注明例外情况。
  • {"系统找不到指定的文件"}
  • 我仍然无法让批处理文件正常运行。有人可以帮助解决问题吗?我打开 cmd.exe 并转到 ffmpeg 所在的目录并尝试运行以下命令:“C:\Program Files\GnuWin32\\bin\wget.exe youtube.com/get_video?video_id=2O0kuoiAm2A | ffmpeg.exe -i - c:/temp/ mp3/audio.mp3" 我得到一个系统找不到指定的文件错误。
  • 我最近读到无法再从 youtube 下载视频。谁能确认一下?
  • 您下载的是 Youtube HTML 页面而不是视频文件!!

标签: c# asp.net audio mp3 youtube


【解决方案1】:

您应该使用WebClient class 下载文件,并使用ffmpeg-sharp 进行转码。

【讨论】:

    【解决方案2】:

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

    "C:\\Program Files\\GnuWin32\\bin\\wget.exe http://www.youtube.com/get_video?video_id=... | ffmpeg -i - audio.mp3"
    

    上面不是文件名,它是一个文件名加上一些参数,然后通过管道传递给另一个可执行文件。

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

    【讨论】:

    • 我仍然无法让批处理文件正常运行。有人可以帮助解决问题吗?我打开 cmd.exe 并转到 ffmpeg 所在的目录并尝试运行以下命令:“C:\Program Files\GnuWin32\\bin\wget.exe youtube.com/get_video?video_id=2O0kuoiAm2A | ffmpeg.exe -i -c:/temp/mp3/audio.mp3" 我得到一个系统找不到指定文件的错误
    • 我最近读到无法再从 youtube 下载视频。谁能确认一下?
    【解决方案3】:

    Process.Start(string) 方法旨在启动一个不带参数的进程。因此,正如 chibacity 所说,您会得到一个异常,因为整个字符串 "C:\Program Files\GnuWin32\bin\wget.exe http://www.youtube.com/get_video?video_id=... | ffmpeg -i - audio.mp3" 被视为要执行的文件名.要使用参数启动进程,请使用 Process.Start(string,string) 方法:http://msdn.microsoft.com/en-us/library/aa326952%28v=VS.71%29.aspx

    【讨论】:

    • 我最近读到无法再从 youtube 下载视频。谁能确认一下?
    猜你喜欢
    • 2011-03-03
    • 2014-04-16
    • 2020-06-26
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多