C# FFmpeg autogen与openh264的结合
我正在使用FFmpeg autogen将从PC捕获的图像实时(每秒60或30帧)传输到Android应用程序。当我使用FFmpeg autogen提供的h.264编码示例时,一切都非常正常 据我所知,FFmpeg autogen在LGPL许可证下,如果您使用的是在LGPL许可证下编译的自定义FFmpeg LIB,例如,如果您的项目是封闭源代码,您可以动态链接到FFmpeg autogen库,而不违反LGPL许可证 所以我认为一切都会好起来,但后来我发现h.264编码在美国拥有专利,MPEG LA代表着AVC/h.264技术的专利持有者。如果您将其用于免费视频,则可以使用h.264编解码器,而无需支付版税。尽管如此,我使用编码器的Windows程序是免费的,但我的Android应用程序不是免费的,所以我想我必须支付版税 关于这个问题,我有几个问题:C# FFmpeg autogen与openh264的结合,c#,ffmpeg,h.264,openh264,mpeg-la,C#,Ffmpeg,H.264,Openh264,Mpeg La,我正在使用FFmpeg autogen将从PC捕获的图像实时(每秒60或30帧)传输到Android应用程序。当我使用FFmpeg autogen提供的h.264编码示例时,一切都非常正常 据我所知,FFmpeg autogen在LGPL许可证下,如果您使用的是在LGPL许可证下编译的自定义FFmpeg LIB,例如,如果您的项目是封闭源代码,您可以动态链接到FFmpeg autogen库,而不违反LGPL许可证 所以我认为一切都会好起来,但后来我发现h.264编码在美国拥有专利,MPEG LA
我知道这不是一个律师论坛,但也许有人已经处理了所有这些问题,或者至少可以回答有关FFmpeg autogen的问题。我已经在互联网上搜索了一段时间,但不幸的是,h.264的许可机制似乎不那么容易理解。我几乎忘记了这个问题,但我想我现在已经了解了一切,所以我将自己回答它。也许这对某人有帮助。如果有不正确的地方,请随时纠正我 据我所知,FFmpeg autogen是在LGPL许可下的 如果您使用的是根据LGPL许可证编译的自定义FFmpeg LIB 例如ffmpeg-win32,您可以动态链接到ffmpeg 如果您的项目是 例如,封闭源代码 这的确是正确的。FFmpeg autogen是在LGPL许可下进行的,但是如果您只是使用提供的FFmpeg库,那么您的运气就不好了,因为所有这些构建都是在GPL许可下进行的。这意味着即使FFmpeg autogen在LGPL下,您的项目也必须在GPL下发布,因为FFmpeg GPL库 幸运的是,您可以在LGPL下编译自己的自定义版本的FFmpeg,但您将错过一些功能,如x264(基本上所有不适合LGPL的功能)。编译自定义版本的FFmpeg可能相当复杂,但是我在github上发现了一个很好的项目,名为。这些脚本基本上为您编译FFmpeg,并为各种FFmpeg功能(如openh264等)提供许多定制功能。我发布了更多的细节 所以我以为一切都会好起来,但后来我发现 h、 264编码在美国获得专利,MPEG LA代表该专利 AVC/H.264技术的持有者。如果你用它来制作免费视频 您可以使用h.264编解码器而无需支付版税。然而,我的 使用编码器的Windows程序是免费的,但我的Android 申请不是免费的,所以我想我必须支付版税 我联系了MPEG LA,你的节目是否免费并不重要,如果你想获得许可证,你必须联系MPEG LA并为你的产品申请许可证。只要你的程序每年下载次数不超过10万次,你就不必支付任何费用。您必须每年向MPEG LA提供一次报告,其中应包含有关下载的所有信息。如果你有什么问题,直接联系他们,他们通常反应很快
ffmpeg.avcodec_find_encoder_by_name("libopenh264");