[TOC]
开始前的BB
最近学习了一些关于FFmpeg的姿势(知识),也是踩坑踩到吐血
MediaXXX
系列,谁用谁知道
本着前人滚坑,后人平躺的原则,准备记录下这一路踩坑过来的各种问题
-
首先 假装你已经有了简单的音视频的知识,如果不懂的话,传送门在这里 音视频基础知识讲解
-
其次 C/C++基本知识 ffmepg是用纯C写的 整篇文章基本都是在C/C++的环境下编写操作,包括分析ffmpeg里面的源码,都是需要以这个为前提的,假如不太了解的话产传送门在这里 C基础教程 C++基础教程
-
一些建议 开始入坑的朋友们不用着急一下把所有的东西都看懂,一步步来,一层层的进;有些刚开始只需要知道一些概念,等实际要用到的时候,再去细了解也不迟。本系列文章页就是遵循这个方式来进行讲解
环境配置
首先说一下我的本地环境
- MacOS 10.14.1
- gcc 4.2.1
- Cmake version 3.6.0-rc2
- CLion 2018.3
网上文章的ffmpeg版本参差不齐,社会在进步 人类在发展,本着稳重带皮的原则,使用的是 :
FFmpeg 4.0.2 "Wu" ------------------>下载地址
you are so kris wu?
编译
SDL2
编译ffmpeg前我们的项目用需要用的SDL2,所以我们得先去下载编译SDL2--->SDL2下载地址 下载解压,终端进去SDL2的目录 执行
./configure
make -j8
make install
复制代码
这里我们为了方便 默认的install 直接是install到了/usr/local/Cellar/sdl2/ 下
lib目录下是我们需要用的库, includ是头文件
ffmpeg
编译好了SDL2后我们来编译ffmpeg,因为我们现在暂时还没用到其他的包,这里我们就简单编译一下,下载完ffmpeg 4.0.2源码后进入目录,执行
./configure \--disable-static\ --enable-shared\ --enable-gpl\ --enable-version3\ --enable-sdl2\ --enable-bzlib\ --enable-libx264\ --enable-lzma\ --enable-zlib\ --enable-gmp\ --enable-appkit\ --enable-avfoundation\ --enable-coreimage\ --enable-audiotoolbox
make -j8
make install
复制代码
同样,我们可以去/usr/local/Cellar/ffmpeg
去取头文件和动态库
接下来,我们先来整体了解一下FFmpeg的整体结构,常用结构体与API与核心流程
未完持续。。。