我是靠谱客的博主 酷酷身影,最近开发中收集的这篇文章主要介绍Chromium 定制之 FFmpeg 裁剪,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

 

一、FFmpeg 的定制

在定制 Chromium 过程中,发现 WebAudio 模块依赖于 FFmpeg,但是只用到了里面的少许接口,因此需要对 FFmepg 做裁剪。

Chromium 源码中提供了对 FFMPEG 整个模块编译的支持,并提供了相关的开关来控制,但是默认该开关是关闭的。

发现 WebAudio 中用到的几个 FFmpeg 中的接口都是 RDFT 相关。接口的实现全都在 avfft.c 这个 C 源文件中。该源文件中还有 FFT、MDCT、DCT 部分的接口实现,这些函数都被预处理指令结合诸如 CONFIG_RDFT、CONFIG_MDCT、CONFIG_DCT 之类的宏定义来控制是否参与编译。

剩下的任务便是从 FFMPEG 中 截取 RDFT 相关接口来做最小化定制。即以 avfft.c 文件出发,编译出一个可用的最小动态库,以满足 WebAudio 模块的需求。

对于 CONFIG_RDFT、CONFIG_MDCT、CONFIG_DCT 等宏的定义,Chromium 针对不同的平台,以及针对 Chrome/Chromium 商标的区分,分别作了预设的配置:

1

2

sed -n 543p third_party/ffmpeg/ffmpeg.gyp

            'platform_config_root': 'chromium/config/<(ffmpeg_branding)/<(os_config)/<(ffmpeg_config)'

针对ARM 平台,找到了相关头文件的路径:

<

1

最后

以上就是酷酷身影为你收集整理的Chromium 定制之 FFmpeg 裁剪的全部内容,希望文章能够帮你解决Chromium 定制之 FFmpeg 裁剪所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部