ffmpeg linux 开发环境,ffmpeg是什么?如何搭建搭建windows和Linux开发环境?

然后我们再测试一下ffmpeg的版本是多少:

ffmpeg -version

d5523010585db203e2ef92e435e4323b.png

注:估计这里可能有些人会遇到问题,还是不能查看,我这里后面还是采用了4.2.1的版本。

没错,如果你到了这里可以看到我上面一样的打印,那么恭喜,你的windows环境就搭建成功了

二、linux环境搭建:

这里我没有采用直接用命令的方式来下载ffmpeg,这里我参考了官网的源码安装步骤,可能会比较慢:

https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

1、首先在home目录下创建需要的目录(注这里最好和我一样的操作):

txp@txp-virtual-machine:~$ mdkir ffmpeg_sources ffmpeg_build bin

2、下载所要的依赖环境配置:

在下载之前,你最好把自己的ubuntu镜像服务器换成国内的比较好,速度会快很多(这里我用的是ubuntu16.04);同时在之前最好更新一下:

sudo apt install update

然后直接进行下面操作:

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

3、源码安装一些所需的库:

可以把这里下载的库统一放在我们刚才建立的ffmpeg目录下,方便管理!

a、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

b、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

c、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

d、libx265

sudo apt-get install libnuma-dev &&

cd ~/ffmpeg_sources &&

git -C x265_git pull 2> /dev/null || git clone https://bitbucket.org/multicoreware/x265_git &&

cd x265_git/build/linux &&

PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED=off ../../source &&

PATH="$HOME/bin:$PATH" make &&

make install

e、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

f、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

g、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

h、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

i、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

注:这个暂时国内下载不了,服务器在外国。。。。。

o、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目录看到下载的库文件;

00abb5eb9e9bbddffac716ccaa834308.png

4、现在我们可以开始下载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

e6236624022e887ba563d083bca1386d.png

主要:这里一定是在之前的那些库安装之后再操作这个步骤,不然有些库找不到,导致你编译报错,而且这里编译的时间蛮久的,大概十几分钟左右!

这里环境就搭建完了,下面我来测试一下环境是否搭建成功。记得我们得重新打开一个终端来操作,不然会显示操作失败:

83279555d613296bb90ab38d47f5a3ec.png

所以重新打开一个终端:

de880af5caf6cb4dc21974cfb052889e.png

最后我们来播放一个视频看看,是否真的有效果:

ffplay rtmp://202.69.69.180:443/webcast/bshdlive-pc

效果展示:

d03887c40475cf572536b956f4d5924c.png

当然你也可以播放你本地文件里面的视频,这里我就不演示了,很简单!

三、总结:

上面的环境搭建可能费点时间,不过还是不建议本地安装ffmpeg。

9aeff6874278b68da08f7af1e9b98b88.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值