H264 ffmpeg x264以外的编码器

时间:2009-12-28 10:11:21

标签: iphone encoding ffmpeg h.264 x264

我正在处理的iPhone应用程序在特定的用户定义的时间间隔内捕获图像,我正在寻找一种方法将这些图像组合成H264编码的视频。我已经对谷歌进行了一些研究,看起来我将不得不在iPhone上使用像ffmpeg / mencoder这样的东西? (还发现有人将ffmpeg移植到iPhone,ffmpeg4iPhone)

但是,我发现x264是GPL许可证,如果我使用ffmpeg,则需要我开源我的项目。还发现有人建议使用Ogg Theora,但如果我使用它,我需要将它移植到iPhone。 (我不知道现在该怎么做)。

这有什么解决方法吗?有任何想法吗?感谢。

3 个答案:

答案 0 :(得分:8)

我认为你在GPL绑定并有两个建议:

  1. 继续前进并GPL您的项目。没有理由你不能销售开源软件,而应用程序商店的延迟/惩罚期将比任何使用GPL代码的潜在完成项目给你一个很好的准备时间。您在iTunes商店中的位置,您的动机和任何品牌可能比源代码更有价值。另外,您可以让其他人为您修复错误。 更新:截至2011年1月,GPL and App Store do not mix

  2. 让iPhone应用将原始图像上传到服务器并在那里进行处理。这样您就不会发布和分发FFmpeg和x264代码,因此不需要分发它。

  3. 祝你好运,如果你发布它,请告诉我们!

答案 1 :(得分:2)

出现ffmpeg现在支持cisco的“openh264”(BSD FWIW)编码编解码器:

https://www.ffmpeg.org/ffmpeg-codecs.html#libopenh264

FWIW是我从LGPL构建中得到的:

ffmpeg.exe -codecs | grep h264
...
ffmpeg version n3.1.2 Copyright (c) 2000-2016 the FFmpeg developers
 DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_qsv ) (encoders: libopenh264 h264_nvenc h264_qsv nvenc nvenc_h264 )

提及其他一些编码器FWIW,而FFmpeg甚至可能支持其他编码器。

答案 2 :(得分:1)

我相信如果您不打算使用ffmpeg(可能存在一些其他开源版本但质量非常低),您将只能找到商业版本的x264实现。此外,您需要记住,如果您使用这些编解码器并且您决定不使用平台/ iPhone,那么由于专利(我认为每次下载大约1美元),您将不得不支付版税。

如果您仍然可以负担得起,那么我相信您可以找到一个旧版本的ffmpeg,这是LGPL的。您可以在代码中使用它,而无需打开整个项目的源代码。您只需要对ffmpeg进行开源更改。

希望这有帮助!