LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 940|回复: 11

看到隔壁版区在讨论 libav & ffmpeg 的事

[复制链接]
发表于 2011-11-8 10:57:54 | 显示全部楼层 |阅读模式
那么,OK

https://bbs.archlinux.org/viewtopic.php?id=115895

我想知道,如果arch中使用libav的话,是否直接从头到尾的自己编译了?

然后所有依赖于ffmpeg的包,也全部重新编译一遍?

mplayer mplayer2能让用户选

ffmpeg libav为什么就不能让用户选呢?
答案是如果让用户选,那将是个庞大的工程,所有依赖ffmpeg的包都要重新处理一遍。某意义上来说,这是arch包管理器的弊端所在...
发表于 2011-11-8 11:28:21 | 显示全部楼层
rpm、deb难道不需要重新编译一遍?哥就不信了。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-8 11:37:58 | 显示全部楼层
重新编译一遍是肯定的
问题是依赖的可选....
deb我不清楚
gentoo我是知道可以用||来处理依赖A或B,譬如mplayer可以依赖ffmpeg或libav
回复 支持 反对

使用道具 举报

发表于 2011-11-8 11:50:57 | 显示全部楼层
deb不清楚,rpm可以通过provides来解决这个问题。
回复 支持 反对

使用道具 举报

发表于 2011-11-8 12:13:13 | 显示全部楼层
arch也可以用provides,java部分就是这么处理的。
回复 支持 反对

使用道具 举报

发表于 2011-11-8 12:17:28 | 显示全部楼层
Post by Havanna;2154539
重新编译一遍是肯定的
问题是依赖的可选....
deb我不清楚
gentoo我是知道可以用||来处理依赖A或B,譬如mplayer可以依赖ffmpeg或libav


那是 gentoo 的包是还未编译的嘛,一旦编译了,某个指定的包只能乖乖地承认自己依赖某一个包了 -- 除非在编译后它还可以使用任意一个依赖。
这个就像是结婚,gentoo 的包就是处于未婚阶段,你可以选择 Lucy || Lily,但是一旦结了婚,你就只能说,我的妻子是 Lucy -- 除非这是一个一夫多妻的世界,或者 Lily 是 Lucy 的双胞胎妹妹 ;-)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-8 13:07:58 | 显示全部楼层
@ lolilolicon
gentoo具有先天优势,源代码发行版的优势,我只是用gentoo作例子,问问arch究竟能否实现类似的依赖方案

不过看了jobinson99的发言,看到java的处理,似乎depends=('java-runtime‘)是个不错的实现方式
就看arch打包者愿不愿意了....
回复 支持 反对

使用道具 举报

发表于 2011-11-8 15:07:29 | 显示全部楼层
不用想太多了吧。

% yaourt -Si libav
Repository     : aur
Name           : libav
Version        : 0.7.2-1
URL            : http://www.libav.org/
AUR URL        : http://aur.archlinux.org/packages.php?ID=52831
Licenses       : GPL3
Votes          : 3
Out Of Date    : No
Groups         : None
[color="Red"]Provides       : ffmpeg
Depends On     : alsa-lib bzip2 libvpx x264 zlib
Optional Deps  : None
[color="Red"]Conflicts With : ffmpeg
Replaces       : None
Architecture   : i686 x86_64
Last update    : 2011年10月02日 星期日 17时11分13秒
Description    : Drop in replacement for ffmpeg

http://aur.archlinux.org/packages.php?ID=52831
This will replace ffmpeg if installed but can not be used as a replacement without first rebuilding any packages depending on ffmpeg libraries. Some packages may not build at all against this version of libav as they are using deprecated features no longer available.
回复 支持 反对

使用道具 举报

发表于 2011-11-8 18:57:55 | 显示全部楼层
我一直把楼上的方式称为继承,把楼上上的方式称为多态
个人觉得还是多态方式好些,因为继承方式明显地位不均等啊
回复 支持 反对

使用道具 举报

发表于 2011-11-9 14:20:44 | 显示全部楼层
先有鸡才有蛋的用继承,同时有两只鸡而只先一的用多态。
libav本来就是ffmpge生下来的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表