写点什么

阿里 P8 大佬整理!2021 最新阿里 Android 面试流程

发布于: 1 小时前

八大库

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():关闭输入视频文件

最后

希望本文对你有所启发,有任何面试上的建议也欢迎留言分享给大家。


好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,可以加一下下面的技术群来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。


这里放一下资料获取方式:GitHub



好了~如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。



为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!

用户头像

VX公众号:编程进阶路 2020.11.28 加入

还未添加个人简介

评论

发布
暂无评论
阿里P8大佬整理!2021最新阿里Android面试流程