在我们的应用程序中,我试图通过TPasLibVlcPlayer组件(http://prog.olsztyn.pl/paslibvlc/)播放流。我成功地做到了这一点,但只有安装了VLC。
目标是使用我们的应用程序部署所需的dll,以便我们可以在没有安装VLC的(Windows)PC上使用我们的应用程序。
问题是:我需要做些什么来完成这项工作?到目前为止,我试图把
在单独的文件夹中卸载VLC,然后设置这些dll的路径
PasLibVlcPlayer1.VLC.Path := 'C:\Tools';
然而,当尝试播放流时,没有任何反应。我调试并看到加载了libvlc.dll(返回一个句柄)并且可以执行所需的过程( GetProcAddress 为所有支持的过程返回指定的addres),但是当 libvlc_new <调用/ em>(在 TPasLibVlc.GetHandle 内),返回nil。
该目录中是否应该有其他dll,或者我需要做些什么来使其工作?
答案 0 :(得分:5)
VLC不是一个单一的程序。
VLC是不同类插件和这些插件的数据库的复杂框架,以及为每个特定任务(如转换或播放给定源)构建这些插件的互连网络的调度程序。
VLC与GStreamer或Direct X(DirectShow / DirectMedia子部分)属于同一联盟。你可以在不安装Direct X的情况下使用Direct X框架吗?几乎没有。
即使是旨在将BitTorrent转变为p2p在线视频流平台的AceStreamer项目,并且正在对其进行编码已经有几年了,但他们仍然没有复制过少数几个库和#34;来自VLC,但更改了它的灵魂,并使自己的VLC播放器构建与他们的P2P到流代理守护进程一起使用。经过这么多年以及他们所拥有和获得的所有经验。
当然,源自Linux的VLC并不依赖于Windows的安装方式,因此,如果您的目标可以接受,则可以按VLC术语安装VLC,但避免以Windows术语安装。要做到这一点你必须
但我个人认为蜡烛在这里不值得玩,你最好让你的用户可以自由地使用他们认为合适的VLC,并在发布新版本时升级它。否则,您的程序很可能会成为他们的安全问题的来源。
以上几点是从纯技术角度出发的。但还有另一个问题 - 合法。
您是否打算在办公室外分发您的计划?只要您将原始版权所有者的任何权利转让给被许可人,您就必须尊重VLC团队的权利。
http://www.videolan.org/legal.html - 请注意,很少&#34;大多数&#34;换句话说,当VLC团队描述他们整合到VLC中的小型软件项目的状态时。
只要您重新分发未修改的VLC安装包 - 您就是干净且安全的。 VLC团队明确允许您这样做。如果有人会认为VLC捆绑有一些盗版或其他非法代码 - 你有点受到保护&#34;我不知道,我只是信任他们他们确实玩得很公平&#34;防线。在将VLC安装程序视为理所当然时,您就像消费者一样。就像在商店购买汽车的人一样。如果稍后会发现该商店是非法的并且正在销售被劫持的汽车 - 你会放松那辆车,但至少你不会自己坐牢。
但是,只要您自己制作包含VLC选定部分的VLC包,您就会成为VLC的共同开发者。你获得了那些四种自由&#34; FLOSS,但任何自由都有责任。现在,如果&#34;知识产权&#34;秃鹰会来找你,你不会再说'#34; VLC做了它&#34;,没有。从这一点来看,你就是这样做的。
如果一些FLOSS项目声称VLC盗版他们的代码(机会非常小,但假设也是可能的,复杂的FLOSS项目是从不同的小作品(从库到片段和错误修复补丁)与不同的初始许可组装而成的维护者(现在就是你的意思)负责检查或协商重新许可兼容性),在你放弃标准的现成捆绑包之后,你将共同负责。
然后出现了非常“病毒性质”#34;严格的GPL许可证。使用标准安装程序包时,不要将代码与VLC代码混合使用。您只需将几个不同的安装程序放入一个介质中,并且只使用显式发布的API供其他软件使用。但是如果你将VLC重新整理到你自己的简化文件集中 - 从那时起你就是合作开发者而不再是消费者了。因此,有一天你可能会被要求披露你的申请来源,因为你使用的是LLC的LGPL / GPL来源,你的程序现在应该以相同的条款分发,否则你的VLC分发可能会成为盗版,也许不是,你在公开审判中可以自由地支持你的观点。
你想要吗?在两种情况下,这些问题不适用于您:
如果这些案件不适合您,那么您希望成为VLC的共同开发人员,因此您确实接受了它的所有责任。只是为了获得小空间。你准备好了吗?蜡烛值得游戏吗?