音视频的编码和解码

Posted 无情风91

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了音视频的编码和解码相关的知识,希望对你有一定的参考价值。

主流的媒体解码主要是三种:FFMPEG、live555、MobileVLCKit。

FFMPEG:是一种可以用来记录、转移数字音频、视频。并能够将其转化成流的开源的计算机程序。采用LGPL或者GPL许可证。她提供了录制、转化以及流化音视频的完整解决方案。她包含了非常先进的音频、视频编码库:libavcodec。为了保证高可以执行和编解码质量,libavcodec里面有很多都是从头开始的。

需要能力:理解视频编码解码原理和流程、理解图像压缩技术、音视频压缩技术等。网站链接:http://ffmpeg.org

live555:live555实现了对多种音视频编码格式的音视频数据的流化、接受和处理等支持,包括MPEG、H264、DV、JPEG视频和多种音频编码。同时由于良好的设计,live555非常容易扩展对其他的格式的支持。

需要技能:理解音视频编码解码的流程呢个、理解图像的压缩技术、音视频压缩的技术。主页:http://www.live555.com

MobileVCLKit:鼎鼎大名的播放器VCL。优秀的封装,源码中最核心的部分,被封装成了独立的库,基于FFMPEG、LIVE555提供完整的媒体播放器,只需要定制自己的界面,支持COCOAPODS导入库,开发一个简单的界面播放器,你只需要几行代码,几乎覆盖了所有的媒体格式。

需要技能:你只需要定制自己的界面,她的API看起来就是一个播放器源码官网:http://www.videolan.org

如果播放器标准协议的视频流是http、RTSP、FTP。建议使用VCL,这个库有600M左右,兼容ARMV7、ARMV7S、ARM64的情况下,编译后大概会增加15M或者20M左右的体积。

使用POD的话,非常简单,省区了编译烦恼:

pod ‘MobileVCLKit‘

如果你要做比较精细的视频解码控制,或者要用到优化程序的体积,可以使用FFMPEG或者live555。要做视频编码的话,使用FFMPEG会更佳的好支持。

以上是关于音视频的编码和解码的主要内容,如果未能解决你的问题,请参考以下文章

Android 音视频编解码 -- 视频编码和H264格式原理讲解

音视频编解码之路:JPEG编码

音视频编解码之路:JPEG编码

音视频编解码之路:JPEG编码

视频的编解码-编码篇

直播技术总结音视频数据压缩及编解码基础