如何在Ubuntu中重新编译ffmpeg

时间:2016-01-01 11:35:07

标签: ubuntu ffmpeg

我在Ubuntu中安装了ffmpeg,但方式错误 - 我只用--enable-libass编译它。现在我不能使用-crf选项,所以我想重新编译它。

根据this page,我输入了以下命令:

rm -rf ~/ffmpeg_build ~/ffmpeg_sources~/bin/{ffmpeg,ffprobe,ffplay,ffserver,vsyasm,x264,x265,yasm,ytasm}
然后我再次开始编译:

cd ~/ffmpeg_sources
wget http://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" \
  --bindir="$HOME/bin" \
  --enable-gpl \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libtheora \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree
PATH="$HOME/bin:$PATH" make
make install
make distclean
hash -r

但是当我输入ffmpeg时,它仍会输出:

ffmpeg version N-77474-g11388b5 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
  configuration: --enable-libass
  libavutil      55. 11.100 / 55. 11.100
  libavcodec     57. 20.100 / 57. 20.100
  libavformat    57. 20.100 / 57. 20.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 22.100 /  6. 22.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101

我很困惑,如何以正确的方式重新编译或删除ffmpeg?

2 个答案:

答案 0 :(得分:0)

rm -rf ~/ffmpeg_build ~/ffmpeg_sources~/bin/{ffmpeg,ffprobe,ffplay,ffserver,vsyasm,x264,x265,yasm,ytasm}

您错过了~/ffmpeg_sources~/bin/...之间的空格。

更重要的是,这是你$PATH中的ffmpeg吗? which ffmpeg的输出是什么?

答案 1 :(得分:0)

您可以参考我的Github https://github.com/tangingw/libx265_installer 。我的安装脚本也包含libx265。

以下是脚本的内容。

conda list

此脚本将自动更新ffmpeg所需的所有必需库,如libnuma,YASM,AAC,CMake和libx265。事实上,因为Debian / Ubuntu总是将软件的稳定版本包含在他们的回购中,稳定版本有时可能已经过时。因此,我需要下载最新的库并自行重新编译。

并非所有图书馆都包含在内。我只需要libx254和AAC。