C# 用于视频播放的.NET FFmpeg包装器

C# 用于视频播放的.NET FFmpeg包装器,c#,.net,video,ffmpeg,video-player,C#,.net,Video,Ffmpeg,Video Player,正在寻找可在.NET中使用的FFmpeg包装。包装器必须支持带音频的视频播放 以下项目是不完整的FFmpeg包装: ffmpeg sharp是我发现的最接近的东西,但它也不完整(视频播放中没有音频) 我非常确定稳定的专有包装确实存在,因此我将奖励任何愿意共享代码或能够找到完整的第三方版本的人 你看过了吗?它是一款功能齐全的媒体播放器,使用FFmpeg项目中的编解码器。您可以利用它的核心功能,如果您想创建自己的包装器,上有一个最近更新的包装器项目和一个教程。我没有亲自使用过这两种方法,但

正在寻找可在.NET中使用的FFmpeg包装。包装器必须支持带音频的视频播放

以下项目是不完整的FFmpeg包装:

ffmpeg sharp是我发现的最接近的东西,但它也不完整(视频播放中没有音频)


我非常确定稳定的专有包装确实存在,因此我将奖励任何愿意共享代码或能够找到完整的第三方版本的人

你看过了吗?它是一款功能齐全的媒体播放器,使用FFmpeg项目中的编解码器。您可以利用它的核心功能,如果您想创建自己的包装器,上有一个最近更新的包装器项目和一个教程。我没有亲自使用过这两种方法,但它们看起来很容易使用。

据我所知,没有干净的方法通过p/Invoke从C#使用ffmpeg,因此所有这些包装器都是不完整的项目。您可以做的是创建一个进程(在共享构建下下载)并将命令行参数传递给它。否则,我建议根据您的需要使用WPF或Silverlight MediaElement;它对大多数基本任务(如视频和音频播放)都有相当不错的支持

我很肯定,稳定的专有包装确实存在


去年年底,我花了很多时间自己寻找一个,但没有成功。

目前,没有稳定的解决方案,所以最好的办法可能是等到有人完成

将FFmpeg绑定到C#有一个很好的解决方案。从以下位置使用FFmpeg.Autogen: .
在下载源代码时,它也提供了一个很好的示例(它附带了32位和64位的预编译ffmpeg)

我不认为存在这种情况,坦率地说,ffmpeg API仍然有点不稳定,因此,即使今天有一些东西可以满足您的需求,但2年后它仍有可能无法继续工作/保持最新。此外,在托管代码和本机代码之间封送数据的成本相对较高。99%的情况下,这并不重要,但在处理媒体(尤其是未压缩的视频帧)时,它会对性能产生显著影响


在我看来,从C#处理ffmpeg的最佳方法是用C编写交互逻辑,并公开一个更高级别的API,您可以从C#对其进行p/调用。如果有合适的低级包装器可用,情况仍然如此。

1。VLC包太大了。2.它需要安装才能正常工作(与安装编解码器相同)。检查。可能的重复事实上,这一个更旧:我自己使用了Ruslan的FFmpeg包装器,这是迄今为止我发现的最好的。如果需要音频和视频播放,请尝试我的MediaElement实现(使用AutoGen)。这里提供了源代码:您不应该使用“等待某人完成”。你应该说“我没有知识,所以试着挖掘更多”。