ffmpeg介绍
FFmpeg是领先的多媒体框架,才能解码,编码,转码如何安装LINUX,mux,demux,流,过滤和播放人类和机器创建的几乎所有内容。它支持最模糊的唐代格式linux虚拟主机,直到最前沿。无论它们是由个别标准委员会,社区还是公司设计的。它还具有高度的可移植性:FFmpeg可以在各类建立环境,机器体系结构和配置下,跨Linux,MacOSX,MicrosoftWindows,BSD,Solaris等编译,运行并通过我们的测试基础构架FATE。
它包含可以由应用程序使用的
与ffmpeg,ffplay和ffprobe一样,最终用户也可以使用它们进行转码和播放。
其实假如那些还不够你作为知识认知上来了解一个东西的话,可以再多看几篇文章,这儿我就不再造轮子了,咋们接出来开始来搭建Linux开发环境
正所谓:工欲善其事必先利其器。可能搭建环境的时侯,会碰到一些坑。
环境搭建
官网教程
p08@ubuntu:~$ mkdir ffmpeg_sources ffmpeg_build bin
2、下载所要的依赖环境配置
最好先将ubuntu换成国内的源,这样下载速率更快
换完以后别忘了sudoaptinstallupdate
接出来进行如下操作
sudo apt-get update -qq && sudo apt-get -y install
autoconf
automake
build-essential
cmake
git-core
libass-dev
libfreetype6-dev
libgnutls28-dev
libsdl2-dev
libtool
libva-dev
libvdpau-dev
libvorbis-dev
libxcb1-dev
libxcb-shm0-dev
libxcb-xfixes0-dev
pkg-config
texinfo
wget
yasm
zlib1g-dev
NASM
cd ~/ffmpeg_sources &&
wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2 &&
tar xjvf nasm-2.14.02.tar.bz2 &&
cd nasm-2.14.02 &&
./autogen.sh &&
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" &&
make &&
make install
Yasm
cd ~/ffmpeg_sources &&
wget -O yasm-1.3.0.tar.gz https://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="$HOME/ffmpeg_build" --bindir="$HOME/bin" &&
make &&
make install
libx264
cd ~/ffmpeg_sources &&
git -C x264 pull 2> /dev/null || git clone --depth 1 https://code.videolan.org/videolan/x264.git &&
cd x264 &&
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --enable-pic &&
PATH="$HOME/bin:$PATH" make &&
make install
libvpx
cd ~/ffmpeg_sources &&
git -C libvpx pull 2> /dev/null || git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git &&
cd libvpx &&
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm &&
PATH="$HOME/bin:$PATH" make &&
make install
libfdk-aac
cd ~/ffmpeg_sources &&
git -C fdk-aac pull 2> /dev/null || git clone --depth 1 https://github.com/mstorsjo/fdk-aac &&
cd fdk-aac &&
autoreconf -fiv &&
./configure --prefix="$HOME/ffmpeg_build" --disable-shared &&
make &&
make install
libmp3lame
cd ~/ffmpeg_sources &&
wget -O lame-3.100.tar.gz https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz &&
tar xzvf lame-3.100.tar.gz &&
cd lame-3.100 &&
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm &&
PATH="$HOME/bin:$PATH" make &&
make install
libopus
cd ~/ffmpeg_sources &&
git -C opus pull 2> /dev/null || git clone --depth 1 https://github.com/xiph/opus.git &&
cd opus &&
./autogen.sh &&
./configure --prefix="$HOME/ffmpeg_build" --disable-shared &&
make &&
make install
libaom
cd ~/ffmpeg_sources &&
git -C aom pull 2> /dev/null || git clone --depth 1 https://aomedia.googlesource.com/aom &&
mkdir -p aom_build &&
cd aom_build &&
PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED=off -DENABLE_NASM=on ../aom &&
PATH="$HOME/bin:$PATH" make &&
make install
注:这个暂时国外下载不了,服务器在外国。。。。。
libsvtav1
cd ~/ffmpeg_sources &&
git -C SVT-AV1 pull 2> /dev/null || git clone https://github.com/AOMediaCodec/SVT-AV1.git &&
mkdir -p SVT-AV1/build &&
cd SVT-AV1/build &&
PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DCMAKE_BUILD_TYPE=Release -DBUILD_DEC=OFF -DBUILD_SHARED_LIBS=OFF .. &&
PATH="$HOME/bin:$PATH" make &&
make install
最终我们可以下载ffmpeg目录见到下载的库文件;
下载ffmpeg安装包并解压
cd ~/ffmpeg_sources &&
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 &&
tar xjvf ffmpeg-snapshot.tar.bz2 &&
cd ffmpeg &&
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure
--prefix="$HOME/ffmpeg_build"
--pkg-config-flags="--static"
--extra-cflags="-I$HOME/ffmpeg_build/include"
--extra-ldflags="-L$HOME/ffmpeg_build/lib"
--extra-libs="-lpthread -lm"
--bindir="$HOME/bin"
--enable-gpl
--enable-gnutls
--enable-libaom
--enable-libass
--enable-libfdk-aac
--enable-libfreetype
--enable-libmp3lame
--enable-libopus
--enable-libsvtav1
--enable-libvorbis
--enable-libvpx
--enable-libx264
--enable-libx265
--enable-nonfree &&
PATH="$HOME/bin:$PATH" make &&
make install &&
hash -r
注意:这儿一定是在之前的这些库安装以后再操作这个步骤linux安装sdk环境,不然有些库找不到,引起你编译报错,但是这儿编译的时间蛮久的,大约十几分钟左右!
这儿环境就搭建完了,下边我来测试一下环境是否搭建成功。记得我们得重新打开一个终端来操作,不然会显示操作失败:
原文ffmpeg--linux搭建ffmpeg环境_linuxffmpeggolangsdk使用环境设置_Spark!的博客-CSDN博客
★文末名片可以免费发放音视频开发学习资料,内容包括(FFmpeg,webRTC,rtmp,hls,rtsplinux安装sdk环境,ffplay,srs)以及音视频学习路线图等等。
见下方!↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓