我正在寻找一些允许我将mp4视频转换为mp3的库或代码。 我希望它是免费的,并与最新的.NET框架兼容(4)。
另外,如果可能的话,我正在寻找一个免费的ffmpeg包装器,而不是我的vb.net应用程序,没有试用或消息盒。
如果没有免费的ffmpeg包装器,有人可以告诉我如何使用命令行和ffmpeg执行从mp4到mp3的转换吗?
答案 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