将mp4转换为mp3

时间:2012-04-07 22:26:31

标签: c# vb.net ffmpeg

我正在寻找一些允许我将mp4视频转换为mp3的库或代码。 我希望它是免费的,并与最新的.NET框架兼容(4)。

另外,如果可能的话,我正在寻找一个免费的ffmpeg包装器,而不是我的vb.net应用程序,没有试用或消息盒。

如果没有免费的ffmpeg包装器,有人可以告诉我如何使用命令行和ffmpeg执行从mp4到mp3的转换吗?

2 个答案:

答案 0 :(得分:7)

您可以启动进程(System.Diagnostics.Process)并在需要时隐藏ffmpeg窗口。控制台输出可以重定向到StringBuilder或类似的。

对于转换,您可以使用类似

的内容
ffmpeg.exe -i input.mp4 -vn -f mp3 -ab 192k output.mp3
如果您的mp4文件没有视频,则不需要

-vn。

答案 1 :(得分:2)

您可以使用以下代码在vb.net中处理/执行ffmpeg命令。

 Dim _out As String = ""
 Dim _process As New Process()
 _process.StartInfo.UseShellExecute = False
 _process.StartInfo.RedirectStandardInput = True
 _process.StartInfo.RedirectStandardOutput = True
 _process.StartInfo.RedirectStandardError = True
 _process.StartInfo.CreateNoWindow = True
 _process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
 _process.StartInfo.FileName = "ffmpeg";
 _process.StartInfo.Arguments = " -i input.mp4 -vn -f mp3 -ab 192k output.mp3";
 _process.Start()
 _process.StandardOutput.ReadToEnd()
 _out = _process.StandardError.ReadToEnd()
 _process.WaitForExit()
 If Not _process.HasExited Then
    _process.Kill()
 End If
 Return _out

结果你会收到ffmpeg输出和mp3音频文件。为了获得更好的编码性能并解析ffmpeg输出,我建议使用ffmpeg wrapper http://www.mediasoftpro.com/media-handler-pro.html