所以我知道这是一个相当大的挑战,但是我想使用 FFmpeg 库在 c # 中编写一个基本的电影播放器/转换器。然而,我需要克服的第一个障碍是在 c # 中包装 FFmpeg 库。我下载了 ffmpeg,但无法在 Windows 上编译,所以我为自己下载了一个预编译版本。好的,太棒了。然后我开始寻找 C # 包装器。
我四处看了看,发现了一些包装器,比如 SharpFFmpeg (http://sourceforge.net/projects/sharpffmpeg/)和 ffmpeg-Sharp (http://code.google.com/p/ffmpeg-sharp/)。首先,我想使用 ffmpeg-Sharp,因为它的 LGPL 和 SharpFFmpeg 是 GPL。然而,它有相当多的编译错误。原来它是为 mono 编译器编写的,我试着用 mono 编译它,但不知道怎么编译。然后我开始自己手动修复编译器错误,但是遇到了一些可怕的错误,我想我最好不要去管它们。所以我放弃了 fmpeg-Sharp。
然后我查看 SharpFFmpeg,它看起来像我想要的,所有的函数 P/为我调用。然而它的 GPL?这两个 AVCodec.cs 和 AVFormat.cs 文件看起来都像 avcodec.c 和 avform.c 的端口,我认为我可以自己移植?那就不用担心执照的问题了。
但是在我开始编程之前,我想先搞清楚这一点。我应该:
或者
首先,考虑到我不擅长 C + + ,因为我很少用它,但我知道的足够多了。我之所以认为 # 1可能是更好的选择,是因为大多数 FFmpeg 教程都使用 C + + ,而且与使用 c # 相比,我对内存管理有更多的控制权。
你觉得怎么样? 您是否碰巧有使用 FFmpeg 的有用链接(也许是一个教程) ?