音视频编解码学习: FFmpeg 的基础知识

本文介绍了FFmpeg的基础知识,包括编解码、封装格式、音视频编码解码原理以及FFmpeg在Android Studio中的使用。FFmpeg支持多种编码解码器和容器格式,提供音视频的转换和处理能力。通过FFmpeg,可以理解和操作不同编码格式如YUV420P和PCM,以及封装格式如mp4和flv。在解码过程中,视频根据关键帧和过渡帧进行计算,而音频则需要保持与采集同步。文章还概述了FFmpeg的结构图,展示了函数调用关系和编解码流程。
摘要由CSDN通过智能技术生成

简介

FFmpeg 是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案;FFmpeg 的开发是基于 Linux 操作系统的,但是可以在大多数操作系统中编译和使用

FFmpeg 支持 MPEG、 DivX、MPEG4、AC3、DV、FLV 等40多种编码,AVI、MPEG、OGG、Matroska、ASF 等90多种解码

TCPMP,VLC, MPlayer 等开源播放器都用到了 FFmpeg

FFmpeg 主目录下主要有 libavcodec、libavformat和libavutil 等子目录

其中 libavcodec 用 于存放各个 encode/decode 模块,libavformat 用于存放 muxer/demuxer 模块,libavutil 用于 存放内存操作等辅助性模块

以 flash movie 的 flv 文件格式为例, muxer/demuxer 的 flvenc.c 和 flvdec.c 文件在

libavformat 目录下,encode/decode 的 mpegvideo.c 和 h263de.c 在 libavcodec 目录下

FFmpeg 编解码基础知识

FFmpeg 基本信息查询

封装格式

所谓封装格式是指音视频的组合格式,例如最常见的封装格式有 mp4、mp3、flv 等;简单来说,我们平时接触到的带有后缀的音视频文件都是一种封装格式不同的封装格式遵循不同的协议标准,有兴趣的可以自行扩展

编码格式

以 mp4 为例,通常应该包含有视频和音频;视频的编码格式为 YUV420P,音频的编码格式为 PCM;再以 YUV420 编码格式为例;我们知道通常图像的显示为 RGB(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值