概述
参考链接
http://www.360doc.com/content/18/0321/14/14679766_738999953.shtml
https://www.cnblogs.com/cxchanpin/p/6943221.html
音视频的编码格式标准有很多种: mp3, acc, mpeg4, h264, h265 …..
每个标准都有一个或多个编解码库, 如h264的库有libx264, mpeg4的库有xvid, h265的库有libx265
不同的库, 里面提供的函数及编解码操作流程都会不一样.
ffmpeg其实就把各种库的编解码接口统一标准化, 也就是学会一种接口后就可以通杀各种编解码库.
当然ffmpeg除了编解码外,还有如操作设备等的其它功能.
官网指导编译文档
http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
ubuntu环境下静态编译ffmpeg+cmake使用静态链接ffmpeg库生成可执行文件
https://blog.csdn.net/qq1124034012/article/details/94555466
http://ffmpeg.org/download.html
https://github.com/FFmpeg/FFmpeg
https://www.cnblogs.com/yklszm/p/11436548.html
centos8
git clone
https://github.com/FFmpeg/FFmpeg.git
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
#clone太慢,也可以直接下载对应的版本,比如4.2
https://github.com/FFmpeg/FFmpeg/tree/release/4.2
yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel x264-devel
yum install -y yasm
cd /etc/yum.repos.d/
wget
https://www.nasm.us/nasm.repo
yum -y install
nasm
cd ~/ffmpeg_sources
curl -O -L http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix="/usr/local/ffmpeg/"
make
make install
./configure
make -j4
make install
动态库
CFLAGS="-fPIC" ./configure --enable-shared --prefix=/usr/local/ffmpeg
vim /etc/ld.so.conf
/usr/local/ffmpeg/lib
ldconfig
gdb调试
./configure --enable-debug=3 --disable-optimizations --disable-asm
--disable-stripping
https://www.jianshu.com/p/0551d7657ed0
支持x264, opus等
https://www.jianshu.com/p/fba45a730417
cd ~/ffmpeg_sources
git clone https://github.com/mirror/x264.git
cd x264
PKG_CONFIG_PATH="/usr/local/ffmpeg//lib/pkgconfig" CFLAGS="-fPIC" ./configure --prefix="/usr/local/ffmpeg/" --enable-static
make
make install
cp libx264.a
/usr/local/ffmpeg/lib
cd opus-1.3
./configure --prefix=/usr/local/ffmpeg
make
make install
cd ~/ffmpeg_sources
git clone --depth 1 https://github.com/mstorsjo/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="/usr/local/ffmpeg/"
make
make install
cd ~/ffmpeg_sources
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
#下载libvpx-1.9.0
cd libvpx
CFLAGS="-fPIC" ./configure --prefix="/usr/local/ffmpeg/" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
make
make install
ldconfig
PKG_CONFIG_PATH="/usr/local/ffmpeg//lib/pkgconfig" ./configure
--prefix=/usr/local/ffmpeg/ --enable-shared
--enable-version3
--enable-gpl
--enable-nonfree
--enable-libx264
--enable-libfdk-aac
--enable-libvpx
--enable-libopus
--extra-cflags='-I/usr/local/ffmpeg/include'
--extra-ldflags='-L/usr/local/ffmpeg/lib/'
--extra-libs='-lopus
-lx264
-lfdk-aac
-lvpx'
make
make install
yum安装ffmpeg参考
https://blog.csdn.net/qq_41494464/article/details/88654227
yum install yasm -y
git clone git://git.videolan.org/x264.git
cd x264
//下载
tar -xvf
nasm-2.13.03.tar.gz
./configure
make
make install
./configure --enable-static --enable-shared
make
make install
git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
#编译成动态库
./configure
--enable-shared --disable-static --enable-memalign-hack --enable-libx264 --enable-gpl --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib
--enable-pthreads
./configure --disable-debug --enable-libx264
--enable-gpl --enable-shared
./configure --disable-debug --enable-libx264 --enable-libx265 --enable-gpl --enable-shared
#编译成静态库
./configure
--enable-static --disable-shared --enable-memalign-hack --enable-libx264 --enable-gpl --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib
--enable-pthreads
// 如果要调试 configure 加参数
--disable-optimizations
disable compiler optimizations
//
否则单步时gdb会乱跳一通。
make
make install
ldconfig
ffmpeg
ffplay
ffmpeg -decoders
//列出可用的解码器
H264
H265
ffmpeg -encoders
//列出可用的编码器
ffmpeg -devices
//列出可支持的设备
FFmpeg编程开发笔记 —— ffplay.c 源码注释
https://www.jianshu.com/p/87ac510edf07
ffplay.c函数结构简单分析(画图)
https://blog.csdn.net/leixiaohua1020/article/details/39762143
ijkplayer接入使用
https://www.jianshu.com/p/a57bbdd78798
王学岗音视频开发(一)FFmpeg的编译详解
https://blog.csdn.net/qczg_wxg/article/details/107830409
最后
以上就是知性期待为你收集整理的ffmpeg在centos7和centos8上的编译ubuntu环境下静态编译ffmpeg+cmake使用静态链接ffmpeg库生成可执行文件FFmpeg编程开发笔记 —— ffplay.c 源码注释ffplay.c函数结构简单分析(画图)ijkplayer接入使用王学岗音视频开发(一)FFmpeg的编译详解的全部内容,希望文章能够帮你解决ffmpeg在centos7和centos8上的编译ubuntu环境下静态编译ffmpeg+cmake使用静态链接ffmpeg库生成可执行文件FFmpeg编程开发笔记 —— ffplay.c 源码注释ffplay.c函数结构简单分析(画图)ijkplayer接入使用王学岗音视频开发(一)FFmpeg的编译详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复