FFmpeg下载
FFMPEG下载链接
推荐下载方式:
brew install ffmpeg
FFmpeg简单介绍
- 是一个非常优秀的多媒体框架。而且是跨平台的。
- 能够解码,编码,转码,复用,解复用,过滤音视频数据。
- FFMPEG规矩:
- 用了FFmpeg开源代码要遵守FFmpeg的开源协议。
- GPL的核心思想是基于GPL协议的代码必须开源。
解复用
解复用与音视频解码操作可逆,需要用FFmpeg处理。
FFmpeg----------------------SDL
音频解码--pcm数据
-->音频播放
----------------------------- |
------------------------音视频同步(实现音频、视频同步是学习核心)->最难部分
----------------------------- |
视频解码--yuv数据
-->视频渲染
渲染流程
渲染流程
YUV -----渲染----> 纹理 ------交换 ------> 窗口展示
常用子模块
-
libavutil
-
libavformat
-
libavcodec 所有音频编解码插入处理
-
libavdevice 音视频采集设备处理
-
libavresample 音频重采样
-
libavfilter 负责所有音视频后期处理(滤镜等)
-
libswresample 音频操作
-
libswscale 视频操作
FFmpeg命令分类
(注:需要先下载好ffmpeg才可以使用命令)
处理音视频流程
-
对数据帧改变(改变文件输出体积)
输入文件----demuxer
---->编码数据包----decoder
---->解码后数据帧----encoder
---->编码数据包----muxer
---->输出文件
-
只改变数据格式(MP4转FLV)--->分解与复用
输入文件----demuxer
---->编码数据包----muxer
---->输出文件
网友评论