上一篇我们学习了Android投屏开发过程中所用到的ADB命令,本篇我们将继续学习Android投屏软件开发过程中所需要的视频编解码方面的知识。
关于FFMPEG
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案,包含了非常先进的音频/视频编解码库libavcodec,以保证高可移植性和编解码质量。此外,FFmpeg可以使用GPU加速,并且提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种色彩格式转换、多种采样率转换等。它还提供了丰富的插件模块,包括封装和解封装的插件、编码与解码的插件等,可以方便地扩展其功能。
除了上述功能外,FFmpeg还提供了播放器相关功能,其avformat和avcode可以播放各种媒体文件或者流。此外,通过libavformat中的接口,可以实现音频布局转换和布局调整等功能。
总之,FFmpeg是一款功能强大的多媒体处理工具和开发套件,被广泛应用于音视频处理、流媒体传输等领域.
关键知识点
-
AVCodecContext
AVCodecContext 是一个描述编解码器上下文的结构体,它包含了编解码器需要的许多参数信息,这些参数信息在打开编解码器时设置。对于解码器来说,AVCodecContext 通常包含了输入数据的格式、解码后的数据格式以及其他解码相关的设置。 -
AVCodecParameters
AVCodecParameters 是一个描述编解码器参数的结构体,它包含了流的编解码