【问题标题】:.NET FFmpeg wrapper for video playback [closed]用于视频播放的 .NET FFmpeg 包装器 [关闭]
【发布时间】:2011-10-06 17:27:26
【问题描述】:

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

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

http://code.google.com/p/ffmpeg-sharp/

http://sourceforge.net/projects/sharpffmpeg/

http://sourceforge.net/projects/ffqlay/

http://www.ffmpeg-csharp.com/

http://www.intuitive.sk/fflib/post/fflib-net-released.aspx

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

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

【问题讨论】:

标签: c# .net video ffmpeg video-player


【解决方案1】:

将 FFmpeg 绑定到 C# 中有一个很好的解决方案。使用 FFmpeg.Autogen 来自: https://github.com/Ruslan-B/FFmpeg.AutoGen。 它还提供了下载源代码时的一个很好的例子(它带有预编译的 32 位和 64 位 ffmpeg)!

【讨论】:

  • 我自己使用过 Ruslan 的 FFmpeg 包装器,它是迄今为止我发现的最好的。如果您需要音频和视频播放,请尝试我的 MediaElement 实现(使用 AutoGen)。源代码在这里:github.com/unosquare/ffmediaelement
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    你看过VLC Media Player了吗?它是一个功能齐全的媒体播放器,使用来自 FFmpeg 项目的编解码器。你可以利用它的核心功能,如果你想创建自己的,SourceForgeThe Code Project 上有一个最近更新的包装器项目。我个人没有使用过这两种方法,但它们看起来相当容易使用。

    【讨论】:

    • 1. VLC 包太大了。 2. 需要安装才能正常工作(和安装编解码器一样)。
    【解决方案4】:

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

    IMO 从 C# 处理 ffmpeg 的最佳方法是用 C 编写交互逻辑并公开更高级别的 API,您可以从 C# 调用/调用该 API。如果有适当的低级包装器可用,情况仍然如此。

    【讨论】:

      【解决方案5】:

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

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

      【讨论】:

        【解决方案6】:

        目前,对此没有稳定的解决方案,因此最好的办法可能是等到有人完成它。

        【讨论】:

        • 您不应该使用“等到有人完成”。你应该说“我没有知识,所以试着挖掘更多”
        猜你喜欢
        • 1970-01-01
        • 2015-05-20
        • 1970-01-01
        • 1970-01-01
        • 2019-12-05
        • 1970-01-01
        • 2011-03-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多