加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在商业C/C++应用程序中使用ffmpeg共享库

发布时间:2020-12-16 10:06:25 所属栏目:百科 来源:网络整理
导读:我们有一个基于C的应用程序,可在 Windows,Mac和 Linux上运行.我现在需要在此应用程序中添加h.264和h.265解码.似乎ffmpeg会做到这一点. 由于我们是商业应用程序,我们无法向公众披露源代码.但是,据我所知,FFMpeg基于LGPL许可要求.通过关于LGPL要求的各种文章,
我们有一个基于C的应用程序,可在 Windows,Mac和 Linux上运行.我现在需要在此应用程序中添加h.264和h.265解码.似乎ffmpeg会做到这一点.

由于我们是商业应用程序,我们无法向公众披露源代码.但是,据我所知,FFMpeg基于LGPL许可要求.通过关于LGPL要求的各种文章,似乎我可以使用ffmpeg而不透露我们的源代码,只要:

>我将ffmpeg构建为共享库,并确保在配置期间不使用“–enable-gpl”标志.
>我在“关于”对话框中确认我们正在使用ffmpeg共享库.

有人可以验证这或多或少符合要求吗?问候.

请注意,我只需要ffmpeg进行解码而不进行编码.因此,我不必使用“–enable-libx264”和“–enable-libx265”标志.

解决方法

作为FFmpeg开发人员,我希望您遵循 website中提到的注意事项:

>编译FFmpeg没有“–enable-gpl”而没有
“–enable-非自由”.
>使用动态链接(在Windows上,这意味着
链接到dll)用于链接FFmpeg库.
>分发
FFmpeg的源代码,无论你是否修改过它.
>制作
确保源代码完全对应于您的库二进制文件
分发.
>运行命令“git diff> changes.diff”
FFmpeg源代码的根目录,仅用于创建文件
变化.
>解释你如何编译FFmpeg,例如
configure行,在一个文本文件中添加到的根目录
源代码.
>使用tarball或zip文件分发源代码
码.
>将FFmpeg源代码托管在与之相同的Web服务器上
你要分发的二进制文件
>添加“此软件使用0700许可的FFmpeg代码,其源代码可以在此处下载[这里是源代码的链接]”到您网站的每个页面
哪里有你的应用程序的下载链接.
>提及“这个
软件使用LGPLv2.1下的FFmpeg项目中的库“
在你的程序“关于框”.
>在您的EULA中提及您的计划
在LGPLv2.1下使用FFmpeg.
>如果您的EULA声称拥有权
代码,你必须明确提到你没有FFmpeg,
以及可以找到相关所有者的地方.
>取消任何禁令
您的EULA中的逆向工程.
>对所有人应用相同的更改
您的EULA的翻译.
>不要拼错FFmpeg(两个首都F
和小写“mpeg”).
>不要将FFmpeg dll重命名为某些混淆
名称,但添加后缀或前缀很好(重命名为“avcodec.dll”
“MyProgDec.dll”不太好,但是“avcodec-MyProg.dll”是.
>去吧
通过所有LGPL外部库的所有项目你
编译成FFmpeg(例如LAME).
>确保您的计划是
不使用任何GPL库(特别是libx264).

从你到目前为止所说的话来看,我认为你只做了1-2,9-11,15-18.您需要制作包含修改(3-5,7-8)的源代码(包括FFmpeg)以及您的应用程序,提及构建说明(6),删除对FFmpeg的所有权声明,删除逆向工程禁止(如果有),并检查你的EULA(12-14).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读