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

时间:2015-10-16 08:48:31

标签: c# .net asp.net-web-api h.264

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

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

问题: 我如何在.NET中创建一个程序,可以执行类似于我分享的主页上的内容?任何帮助或输入都非常感谢,谢谢!

修改 我想这样做的原因是因为看起来像iOS和Android设备上的视频一样,完成后,还有另外一种方法可以确保视频可以在iOS和Android中播放吗?

再次编辑: 让我说我在Android / iOS手机上拍摄视频,现在我使用ASP.NET web api,我希望在存储到Azure之前将这些电影转换为H.264,这可能吗?如果是这样,任何指针如何?

4 个答案:

答案 0 :(得分:0)

唯一可行的方法是呼叫ffmpeg等编码应用程序。

答案 1 :(得分:0)

有一个包装器http://www.ffmpeg-csharp.com/

重点是没有人会因为.NET的速度慢而编写编码器

答案 2 :(得分:0)

编码/解码由操作系统,Direct Show(过去)或Microsoft Media Foundation提供。例如,Microsoft Media Foundation已包含[H.264视频编码器](H.264视频编码器)。

SDK适用于C ++,Microsoft尚未发布包装器。例如,有可用的包装项目。 MF.NetDirectShow.NETWindowsMedia.NET虽然自2012年以来没有任何活动。

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

答案 3 :(得分:0)

我不确定您需要的是什么,但是您可以下载一个名为的nuget

NR.VideoConverter:>然后,您可以编写此代码来转换视频类型 例如从mp4到mvo或其他任何格式,我都不确定h264是什么,但是当我想更改视频时确实找到了它,以便对您有帮助

_handleSendButtonPress = () => {
  const textArray = this.state.dataSource._dataBlob.s1;
  !textArray.includes(this.state.inputValue) && (
    textArray.push(this.state.inputValue);
    this.setState(() => ({
    dataSource: this.state.dataSource.cloneWithRows(textArray),
    inputValue: '',     
  }));
  )
};