一个Android程序员的面试心得,值得一读!
作者:互联网
### 尾声
在我的博客上很多朋友都在给我留言,需要一些系统的面试高频题目。之前说过我的复习范围无非是个人技术博客还有整理的笔记,考虑到笔记是手写版不利于保存,所以打算重新整理并放到网上,时间原因这里先列出面试问题,题解详见:
![](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625489350471696.jpg)
**展示学习笔记**
![](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625489351788918.jpg)
![](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625489351660532.jpg)
**[直达领取链接:点击领取【Android高级架构师】](https://docs.qq.com/doc/DSkNLaERkbnFoS0ZF)**## 八大库
**1.libavutil**
核心工具库,最基础模块之一,其他模块都会依赖该库做一些基本的音视频处理操作
**2. libavformat**
文件格式和协议库,封装了Protocol层和Demuxer、Muxer层,使得协议和格式对于开发者来说是透明的
**3. libavcodec**
编解码库,封装了Codec层,但是有一些codec是具备自己的License的,FFmpe不会默认添加像libx264、FDK-AAC、Lame等库,但是FFmpeg想一个平台,可以将其他的第三方codec以插件的方式添加进来,为开发者提供统一接口
**4.libavfilter**
音视频滤镜库,该模块包含了音频特效和视频特效的处理,在使用FFmpeg的API进行编解码的过程中,可以使用该模块高效的为音视频数据做特效处理
**5. libavdevice**
输入输出设备库,比如需要编译出播放声音或者视频的工具ffplay,就需要确保该模块是打开的,同事也需要libsdl的预先编译,该设备模块播放声音和视频都又是使用libsdl库
**6.libswresample**
用于音频重采样,可以对数字音频进行声道数、数据格式、采样率等多种基本信息的转换
**7.libswscale**
该模块用于图像格式转换,可以将YUV的数据转换为RGB的数据
**8.libpostproc**
该模块用于进行后期处理,当我们使用filter的时候,需要打开这个模块,filter会用到这个模块的一些基础函数
比较老的ffmpeg还会编译出avresamle模块,也是用于对音频原始出具进行重采样的,但是已经被废弃,推荐使用libswresample替代
另外,库里还可以包含对H.264/MPEG-4 AVC视频编码的X264库,是最常用的有损视频编码器,支持CBR、VBR模式,可以在编码的过程中直接改变码率的设置,在直播的场景中非常适用!可以做码率自适应的功能。
## 常用函数
1.av_register_all():注册所有组件
2.avformat_open_input():打开输入视频文件
3.avformat_find_stream_info():获取视频文件信息
4.avcodec_find_decoder():查找解码器
5.avcodec_open1():打开解码器
6.av_read_frame():从输入文件读取一帧压缩数据
7.avcodec_decode_video2():解码一桢压缩数据
8.avcodec_close():关闭解码器
9.avformat_close_input():关闭输入视频文件
# 最后
给大家送上我成功跳槽复习中所整理的资料,由于文章篇幅有限,所以只是把题目列出来了,我自己手头上整理的资料均和上面的答案可免费分享,需要这些资料和答案的朋友,**可以[点击这里免费领取](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)。**
![image](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625489351822598.jpg)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625489351459442.jpg)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625489352814513.jpg)
标签:20210705,模块,程序员,https,images,一读,Android,cto,com 来源: https://blog.51cto.com/u_15215973/2984688