C# 使用C将MP4转换为Ogg

C# 使用C将MP4转换为Ogg,c#,ogg,C#,Ogg,有人知道将mp4文件转换为ogg文件的简单方法吗 我不得不这么做,但我对它知之甚少,我能找到的只是程序,而不是示例或库 提前感谢我建议将其发送到FFMPEG——使用和命令行参数。如果需要重定向I/O,例如日志记录。在你开始之后做一些类似的事情。您可以在后台线程上执行此操作,等等。。。如果您不需要阻止UI。我建议使用和命令行参数将其发送到FFMPEG。如果需要重定向I/O,例如日志记录。在你开始之后做一些类似的事情。您可以在后台线程上执行此操作,等等。。。如果您不需要阻止UI static voi

有人知道将mp4文件转换为ogg文件的简单方法吗

我不得不这么做,但我对它知之甚少,我能找到的只是程序,而不是示例或库


提前感谢

我建议将其发送到FFMPEG——使用和命令行参数。如果需要重定向I/O,例如日志记录。在你开始之后做一些类似的事情。您可以在后台线程上执行此操作,等等。。。如果您不需要阻止UI。

我建议使用和命令行参数将其发送到FFMPEG。如果需要重定向I/O,例如日志记录。在你开始之后做一些类似的事情。您可以在后台线程上执行此操作,等等。。。如果您不需要阻止UI

static void Mp4ToOgg(string fileName)
{
    DsReader dr = new DsReader(fileName);
    if (dr.HasAudio)
    {
        string waveFile = fileName + ".wav";
        WaveWriter ww = new WaveWriter(File.Create(waveFile),
            AudioCompressionManager.FormatBytes(dr.ReadFormat()));
        ww.WriteData(dr.ReadData());
        ww.Close();
        dr.Close();
        try
        {
            Sox.Convert(@"sox.exe", waveFile, waveFile + ".ogg", SoxAudioFileType.Ogg);
        }
        catch (SoxException ex)
        {
            throw;
        }

    }
}


扩展Chad的答案,我使用了。我将MP4转换为OGG的代码如下

1.将文件保存到本地存储中的临时文件

var path = Path.GetTempPath() + name;
using (var file = File.Create(path))
{
 stream.Seek(0, SeekOrigin.Begin);
 await stream.CopyToAsync(file);
 file.Close();
 return path;
}
2.现在使用视频转换器转换文件,简单

var output = new MemoryStream();
var ffMpeg = new FFMpegConverter();
ffMpeg.ConvertMedia(filePath, output, Format.ogg);
output.Seek(0, SeekOrigin.Begin);
return output;

扩展Chad的答案,我使用了。我将MP4转换为OGG的代码如下

1.将文件保存到本地存储中的临时文件

var path = Path.GetTempPath() + name;
using (var file = File.Create(path))
{
 stream.Seek(0, SeekOrigin.Begin);
 await stream.CopyToAsync(file);
 file.Close();
 return path;
}
2.现在使用视频转换器转换文件,简单

var output = new MemoryStream();
var ffMpeg = new FFMpegConverter();
ffMpeg.ConvertMedia(filePath, output, Format.ogg);
output.Seek(0, SeekOrigin.Begin);
return output;