由于我们是商业应用程序,我们无法向公众披露源代码.但是,据我所知,FFMpeg基于LGPL许可要求.通过关于LGPL要求的各种文章,似乎我可以使用ffmpeg而不透露我们的源代码,只要:
>我将ffmpeg构建为共享库,并确保在配置期间不使用“–enable-gpl”标志.
>我在“关于”对话框中确认我们正在使用ffmpeg共享库.
有人可以验证这或多或少符合要求吗?问候.
请注意,我只需要ffmpeg进行解码而不进行编码.因此,我不必使用“–enable-libx264”和“–enable-libx265”标志.
解决方法@H_502_20@ 作为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).
总结以上是内存溢出为你收集整理的在商业C/C++应用程序中使用ffmpeg共享库全部内容,希望文章能够帮你解决在商业C/C++应用程序中使用ffmpeg共享库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)