简体   繁体   English

H264 ffmpeg x264以外的编码器

[英]H264 Encoders other than ffmpeg x264

The iPhone app I am working on captures images in series within certain user-defined time interval, I am looking for a way to combine these images into H264 encoded videos. 我正在处理的iPhone应用程序在特定的用户定义的时间间隔内捕获图像,我正在寻找一种方法将这些图像组合成H264编码的视频。 I have done some research on Google, it looks like I will have to use something like ffmpeg/mencoder on iPhone? 我已经对谷歌进行了一些研究,看起来我将不得不在iPhone上使用像ffmpeg / mencoder这样的东西? (Also found someone ported ffmpeg to iPhone, ffmpeg4iPhone) (还发现有人将ffmpeg移植到iPhone,ffmpeg4iPhone)

However, I found that x264 is under GPL license, and requires me to open source my project if I use ffmpeg. 但是,我发现x264是GPL许可证,如果我使用ffmpeg,则需要我开源我的项目。 Also found some people suggested to use Ogg Theora, but I will need to port it to iPhone if I use it. 还发现有人建议使用Ogg Theora,但如果我使用它,我需要将它移植到iPhone。 (Which I am not sure how to do it now). (我不知道现在该怎么做)。

Is there any workaround for this? 这有什么解决方法吗? Any ideas? 有任何想法吗? Thanks. 谢谢。

I think you are in a GPL-bind there and have two suggestions: 我认为你在GPL绑定并有两个建议:

  1. Just go ahead and GPL your project . 继续吧,GPL你的项目 There is no reason you cannot sell open source software, and the app store's delay/penalty period will give you a nice lead time over any potential completing project with the GPL'd code. 没有理由你不能销售开源软件,而应用程序商店的延迟/惩罚期将比任何使用GPL代码的潜在完成项目给你一个很好的准备时间。 Your place on iTunes store, your motivation and any branding is probably more valuable than the source code. 您在iTunes商店中的位置,您的动机和任何品牌可能比源代码更有价值。 Plus, you can get other people to fix bugs for you. 另外,您可以让其他人为您修复错误。 Update: As of January 2011, GPL and App Store do not mix . 更新:截至2011年1月, GPL和App Store不混合

  2. Have the iPhone app upload the raw images to a server and do the processing there . 让iPhone应用程序将原始图像上传到服务器并在那里进行处理 That way you are not releasing and distributing the FFmpeg and x264 code, and are hence not required to distribute it. 这样您就不会发布和分发FFmpeg和x264代码,因此不需要分发它。

Good luck and let us know here if you get it published! 祝你好运,如果你发布它,请告诉我们!

Appears ffmpeg now has support for cisco's "openh264" (BSD FWIW) encoding codec: 出现ffmpeg现在支持cisco的“openh264”(BSD FWIW)编码编解码器:

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

FWIW here is what I get from my LGPL build: 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 )

which mentions a few other encoders FWIW, and FFmpeg might support even others. 其中提到了一些其他编码器FWIW,而FFmpeg甚至可能支持其他编码器。

I believe you'll only be able to find commercial versions of x264 implementations if you don't intend to use ffmpeg (there might exist a few other opensource versions but with very low quality). 我相信如果您不打算使用ffmpeg(可能存在一些其他开源版本但质量非常低),您将只能找到商业版本的x264实现。 Also, you need to bear in mind that if you make use of those codecs and you decide not to use the platform/iPhone ones you will have to pay royalties because of the patents (I think it's roughly 1 dollar per download). 此外,您需要记住,如果您使用这些编解码器,并且您决定不使用平台/ iPhone,那么您将不得不支付版税,因为专利(我认为每次下载大约1美元)。

If this is still affordable to you, then I believe you might be able to find an older version of ffmpeg that was LGPL'ed. 如果您仍然可以负担得起,那么我相信您可以找到一个旧版本的ffmpeg,这是LGPL的。 You can use this in your code without having to open source the whole project. 您可以在代码中使用它,而无需打开整个项目的源代码。 You only need to opensource changes that you might make to ffmpeg. 您只需要对ffmpeg进行开源更改。

Hope this helps! 希望这可以帮助!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM