我正在寻找一些允许我将 mp4 视频转换为 mp3 的库或代码。我希望它是免费的并且与最新的 .NET 框架 (4) 兼容。
此外,如果可能的话,我正在寻找一个免费的 ffmpeg 包装器,而不是在我的 vb.net 应用程序中没有试用或消息框。
如果没有免费的 ffmpeg 包装器,有人可以告诉我如何使用命令行和 ffmpeg 执行从 mp4 到 mp3 的转换吗?
如果需要,您可以只启动一个进程 (System.Diagnostics.Process) 并隐藏 ffmpeg 窗口。控制台输出可以重定向到 StringBuilder 或类似的。
对于转换,您可以使用类似
ffmpeg.exe -i input.mp4 -vn -f mp3 -ab 192k output.mp3
如果您的 mp4 文件没有视频,则不需要 -vn。
您可以使用以下代码在 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