腾讯云+FFmpeg打造一条完备高效的视频产品链( 七 )

2.2 开源与协同

腾讯云+FFmpeg打造一条完备高效的视频产品链

在刚进腾讯云时,大的部门中有38个repo都叫FFmpeg,这可能也是业务快速发展过程中所经历的一些痛处。我们开始尝试做一个统一版本,尝试将部门将不同repo中,比较有价值的部分提炼出来,构造一个内部完整而统一的Repo;另一方面,我们认为,既然使用的FFmpeg来自开源,我们在它上面的工作成果,也应该让它最终返回到开源社区去。这样,一方面可以使得原来内部的FFmpeg库统一,减少内部的重复性工作,另一方面对于社区来说腾讯云及时将Feature、Bug Fix、性能优化、文档更新和samples反馈给它,在这个过程中,也顺势打造了一个非常完整流畅的工作流程,用于支持内部的开发,也用于反馈给开源社区。

2.3 接口与框架

腾讯云+FFmpeg打造一条完备高效的视频产品链

提及接口和框架的问题,首先想到的是上面这段话,简单说来,犹如为院子造墙,什么放在墙外,什么放在墙内,门开在什么地方,还要提防想着把墙推倒的人;在实际的项目中,也有类似的问题,如果项目要和别人合作,首先需要明确两人的职责,这是最容易出问题的部分;具体到FFmpeg,一方面,它需要解决怎么屏蔽不同的Os、硬件平台和Codec细节,并保持使用过程中能灵活构建media pipeline的能力,与此同时,在AI大潮中,它也面临着是否需要集成Deep Learning框架到AVFilter模块的这种现实问题。

推荐阅读