You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.NET 8 C#项目中使用FFMpegCore将MP4转为MP3?

在.NET 8的C#项目中使用FFMpegCore将MP4转换为MP3

要实现MP4转MP3,核心是只保留音频流并指定MP3编码,你的原始代码包含了很多不必要的视频相关配置(比如视频滤镜、CRF参数),这些都需要移除,同时明确编码参数:

第一步:安装FFMpegCore NuGet包

确保项目已安装FFMpegCore包,可通过NuGet包管理器或命令行安装:

Install-Package FFMpegCore

或使用.NET CLI:

dotnet add package FFMpegCore

第二步:修正转换代码

因为MP3是纯音频格式,我们需要禁用视频流输出,并指定正确的音频编码:

using FFMpegCore;
using FFMpegCore.Enums;

public void ConvertMp4ToMp3(string sourcePath, string targetPath)
{
    FFMpegArguments
        .FromFileInput(sourcePath)
        .OutputToFile(targetPath, false, options => options
            // 禁用视频流,MP3不需要视频轨道
            .WithVideoCodec(VideoCodec.None)
            // 指定音频编码为MP3
            .WithAudioCodec(AudioCodec.Mp3)
            // 设置音频可变比特率,4对应约192kbps,平衡音质与体积
            .WithVariableBitrate(4))
        .ProcessSynchronously();
}

关键参数说明

  • VideoCodec.None:告诉FFmpeg不输出任何视频流,避免生成包含无效空视频轨道的MP3文件。
  • AudioCodec.Mp3:明确指定音频编码为MP3,确保输出文件是标准MP3格式。
  • WithVariableBitrate(4):可变比特率范围1-9,数值越高音质越好、文件体积越大,4是日常使用的均衡值。

额外注意事项

  • 系统需安装FFmpeg可执行文件,FFMpegCore依赖它运行,可通过以下代码指定FFmpeg路径:
    FFMpegOptions.SetExecutablesPath(@"C:\your\ffmpeg\bin\folder");
    
  • 若需要更精细的音频控制,可添加WithAudioBitrate指定固定比特率,或调整其他音频参数。

内容的提问来源于stack exchange,提问作者Simon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 02:33:13