我正在考虑在基于Linux的系统上实现我自己的DLNA系统。 “Platinum UPnP”库是一个很好的选择。
我发现“Platinum UPnP”库的大小非常大。
是否有其他开源UPnP(DLNA)库在C / C ++中具有更优化和紧凑的实现。
答案 0 :(得分:2)
pupnp基于原始的libupnp代码,年龄显示...在我看来,在应用程序中使用它是痛苦的。当你只是测试一些东西时,这似乎并不重要,但是当你有一个复杂的应用程序时,痛苦是非常真实的。
关于Platinum的一个注意事项是它与大多数Linux库不同,它是GPL。那个甚至在主Linux发行版中都没有的事实意味着我从未尝试过它,所以我不能更详细地回顾它。
我自己的选择是GUPnP(尽管你可以轻易地称我为偏见):它是用C语言编写的,使用Glib并且它是根据LGPL许可的。使用GUPnP制作的移动和机顶式设备现在在现实世界中使用。 UPnP和DLNA都拥有使用GUPnP制作的认证设备和服务。该库确实有一些依赖(libsoup,libxml2),但我相信这些是有充分理由的。 API主要设法在不牺牲性能的情况下为用户提供便利 - 这是大多数upnp堆栈无法声明的内容。
答案 1 :(得分:1)
答案 2 :(得分:0)
我建议您使用 Herqq-UPnP 。它是迄今为止最好的开源 UPnP库之一,我自己也在使用它。 你会在这里找到你需要的一切:
哦,如果您不喜欢它,请查看官方的UPnP SDK建议:
http://upnp.org/sdcps-and-certification/resources/sdks/
亲切的问候, 迈克尔