为什么 ffmpeg 的体积会这么大?多复杂的算法编译后也不会有几十 MB 吧?

2023-03-25 18:49:12 +08:00
 LLaMA
9467 次点击
所在节点    FFmpeg
47 条回复
FozillaMox
2023-03-25 19:44:24 +08:00
为什么「多复杂的算法编译后也不会有几十 MB 」?
weijancc
2023-03-25 20:11:18 +08:00
常见和不常见的视频格式 ffmpeg 都能转码, 你至少先了解下他的功能再说话吧?
LLaMA
2023-03-25 21:19:11 +08:00
@weijancc #2 我当然非常熟悉它的功能,但也不至于体积这么大吧
placeholder
2023-03-25 21:47:26 +08:00
源码就在那儿,嫌大自己优化一下呗
tuwulin365
2023-03-25 22:16:36 +08:00
不是静态链接?
TJT
2023-03-25 22:21:19 +08:00
将近 150 万行代码,凭什么不能有几十 MB ?
learningman
2023-03-25 22:32:21 +08:00
说明你对体积没概念呗。
自己编译个带符号表的版本,扫一遍每个符号多大不就知道都是啥占体积了
learningman
2023-03-25 22:32:48 +08:00
你要是能给他优化一下,保持现有功能的同时两三兆,几十万人感谢你应该还是有的
0o0O0o0O0o
2023-03-25 22:32:55 +08:00
https://github.com/FFmpeg/FFmpeg/blob/master/configure

配合这些 --enable-* 和 --disable-*
yanzhiling2001
2023-03-25 22:35:09 +08:00
@learningman #8 是几十亿人,ffmpeg 无处不在,每个人手机里或多或少 都有 app 的视频编码引用了 ffmpeg
learningman
2023-03-25 22:40:24 +08:00
@yanzhiling2001 用了而已,用户不知道,只有开发者会感谢他
MrKrabs
2023-03-25 22:40:55 +08:00
你说的也没问题,但是 ffmpeg 带了多种编解码器
yuzo555
2023-03-25 22:48:04 +08:00
运行一下:
ffmpeg -encoders
ffmpeg -decoders

然后再想想标题的问题
1423
2023-03-25 22:49:11 +08:00
https://ffmpeg.org/pipermail/ffmpeg-user/2013-February/013313.html
https://stackoverflow.com/questions/22898112/why-my-ffmpeg-libs-are-so-large

好问题果然是早就有人问过的
可以按上面的自己编译试试

不知道 28 原理是否适用,20%用不到的功能站了 80%的空间
kenvix
2023-03-25 22:49:19 +08:00
因为 ffmpeg 确实有很多屎山,建议你去重构它
yfwo
2023-03-26 01:24:42 +08:00
--disable-debug
dobelee
2023-03-26 01:40:26 +08:00
几十 MB 很大?
jevonszmx
2023-03-26 01:54:28 +08:00
@dobelee 赞同你,现在随便打开一个手机 app 都是百兆上 G 的,QQ 为了 qq 秀都是上 G 往里塞,结果大家反而为了几十 MB 折腾自己人,关键你辛辛苦苦搞了很久,别人甚至都感觉不到。
yfwo
2023-03-26 02:05:42 +08:00
@jevonszmx 嗯嗯,国内有 qq ,国外有 Gmail ,一个邮箱 app 没啥功能就 447 MB ( iOS App Store ),简直无厘头。
em70
2023-03-26 03:48:37 +08:00
大是因为编译时候带了太多功能,比如 png,aac,h265 等等,你可以根据自己业务编译一个不到 2M 的啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/927148

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX