3

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

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

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

4

2 回答 2

7

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

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

ffmpeg.exe -i input.mp4 -vn -f mp3 -ab 192k output.mp3

如果您的 mp4 文件没有视频,则不需要 -vn。

于 2012-04-07T22:37:01.343 回答
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 包装器http://www.mediasoftpro.com/media-handler-pro.html

于 2012-04-07T23:06:15.067 回答