如何在 C# 中将视频文件转换为 H.264

How to convert video files to H.264 in C#

我搜索了如何在 C# 中完成此操作,但没有任何运气。我想要实现的是一个接受视频文件并将其转换为 H.264 的程序。这是一个页面示例,您可以在其中以交互方式执行此操作:

http://www.ofoct.com/video-converter/convert-to-h-264-video.html

问题: 我如何在 .NET 中创建一个程序来执行与我共享的主页上正在执行的操作类似的操作?非常感谢任何帮助或输入,谢谢!

编辑: 我想这样做的原因是因为完成后视频似乎可以在 iOS 和 Android 设备上播放,也许还有另一种方法可以确保视频可以在 iOS 上播放] 和 Android?

再次编辑: 假设我在 phone Android/iOS 上拍摄视频,现在我正在使用 ASP.NET 网络 api,我想先将这些电影转换为 H.264存储在 Azure 中,这可能吗?如果是这样,关于如何的任何指示?

唯一可行的方法是调出编码应用程序,例如 ffmpeg

有可用的包装器http://www.ffmpeg-csharp.com/

要点是没有人会编写编码器,因为它在 .NET 中会很慢

Encoding/decoding 由 OS 通过 Direct Show(过去)或 Microsoft Media Foundation 提供。例如,Microsoft Media Foundation 已经包含一个[H.264 Video Encoder](H.264 视频编码器)。

SDK 适用于 C++,Microsoft 尚未发布包装器。虽然有可用的包装器项目,例如。 MF.Net, DirectShow.NET, WindowsMedia.NET 尽管它自 2012 年以来就没有 activity。

Whosebug 中也有类似的问题,提出了其他选项,例如使用 Microsoft 的编码器,尽管 H.264 支持仅在 Pro 版本中可用

我不确定这是你需要的,但你可以下载一个名为

的 nuget

NR.VideoConverter :> 然后你可以写这段代码来转换视频的类型 比如从 mp4 到 mvo 或任何我不确定什么是 h264 但当我想更改我的视频时我确实找到了它所以它可以帮助 y

   var converter = new NReco.VideoConverter.FFMpegConverter();
            converter.ConvertMedia(FilePath, FilePath, NReco.VideoConverter.Format.h264);