Ubuntu 14.10 服务器上的 ffmpeg、ffprobe 和 libfdk-aac

Ubuntu 14.10 服务器上的 ffmpeg、ffprobe 和 libfdk-aac

如何正确安装ffmpeg?不是重复的因为大多数类似的答案都不能正常工作)

通常我按照以下指南手动编译 ffmpeg

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

忽略桌面库,最终得到类似这样的结果

(该指南在 12.04 服务器和 13.10 桌面上均可完美运行,但在 14.10 上则不行)

sudo apt-get update
sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev libtheora-dev libtool libvorbis-dev pkg-config texi2html zlib1g-dev
mkdir ~/ffmpeg_sources
sudo apt-get install yasm
sudo apt-get install libx264-dev
sudo apt-get install unzip
cd ~/ffmpeg_sources
wget -O fdk-aac.zip https://github.com/mstorsjo/fdk-aac/zipball/master
unzip fdk-aac.zip
cd mstorsjo-fdk-aac*
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean
sudo apt-get install libmp3lame-dev
sudo apt-get install libopus-dev
cd ~/ffmpeg_sources
wget http://webm.googlecode.com/files/libvpx-v1.3.0.tar.bz2
tar xjvf libvpx-v1.3.0.tar.bz2
cd libvpx-v1.3.0
PATH="$PATH:$HOME/bin" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples
PATH="$PATH:$HOME/bin" make
make install
make clean
cd ~/ffmpeg_sources
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$PATH:$HOME/bin" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --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-nonfree
PATH="$PATH:$HOME/bin" make
make install
make distclean
hash -r
echo "MANPATH_MAP $HOME/bin $HOME/ffmpeg_build/share/man" >> ~/.manpath
. ~/.profile

我重新安装了新的(正在使用 12.04)ubuntu 14.10 服务器 3 次。但我无法让它工作。现在我在虚拟机上测试,但它不起作用。

我找不到 ffmpeg 和 ffprobe。

它根本不起作用......我需要 ffprobe 来输出 json 和 libfdk-aac

所以我谷歌了一下,找到了 sam 的仓库

sudo apt-get-repository ppa:samrog131/ppa
sudo apt-get update
sudo apt-get-install ffmpeg-real

创建链接

sudo ls -sf /opt/ffmpeg/bin/ffmpeg /usr/bin/ffmpeg
sudo ls -sf /opt/ffmpeg/bin/ffprobe /usr/bin/ffprobe //works but NO OUTPUT

ffmpeg 可以工作,但是我有ffprobe 没有输出. 看起来还不完整...

ffprobe -v quiet -print_format json -show_streams INPUT

ffprobe 无法识别的命令....

如何在 64 位 Ubuntu 14.10 Server 上正确安装 ffmpeg 及其所有子应用程序(例如 ffprobe)以及所有必要的编解码器(例如 libfdk-aac 和 ogg)?

注 1:我正在使用 ffprobe 读取流信息,并基于 php/js 根据流创建自定义命令。

注2:我将旧相机的剪辑转换为现在的标准多媒体格式。(mp4 / h264 / aac)因此m4v只需复制流,mjpeg被转换,m2ts将音频ac3转换为aac并复制视频流等等,所以我更喜欢libfdk-aac。

注意3:使用 ubuntu 12.04 服务器,我没有到 ffmpeg 的直接链接,所以我必须写下整个路径。如果只写 ffmpeg 或 ffprobe 就好了。

更新

mc3man/trusty-media 似乎是已更新的版本,并且一切在 14.04 上均可运行,只是它安装了额外的库,这些库完全没用,因为我使用的是无头服务器。libsdl1.2-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxfixes-dev 并且还启用了 --enable-x11grab

有没有办法通过这个 repo 省略这些库?或者我可以在安装后完全删除它们吗?

14.04

samrog131/ppa

  1. ffprobe 不起作用...没有输出
  2. 包含 ffmpeg 作品和库
  3. 安装不必要的额外桌面版本库

mc3man/trusty-media

  1. ffprobe 有效
  2. ffmpeg 工作原理
  3. 安装不必要的额外桌面版本库

jon-severinsson/ffmpeg

  1. ffprobe 有效
  2. ffmpeg 版本非常旧且缺少重要的库
  3. 安装不必要的额外桌面版本库

14.10

samrog131/ppa

  1. ffprobe 不起作用...没有输出
  2. 包含 ffmpeg 作品和库
  3. 安装不必要的额外桌面版本库

mc3man/trusty-media

无法获取,无法安装 ffmpeg

jon-severinsson/ffmpeg

  1. ffprobe 有效
  2. ffmpeg 版本非常旧且缺少重要的库
  3. 安装不必要的额外桌面版本库

更新2

阅读问题

我在一台服务器上,一台无头服务器。没有 x11 库,没有桌面内容,没有 ffplay

14.10或者14.04

ffmpeg 需要工作

ffprobe 需要工作

libfdk_aac

最新版本

如果有人能告诉我应该在编译指南中更改什么就好了!

答案1

答案2

有一个静态编译版本的 ffmpeg(https://ffmpeg.org/download.html#build-linux),这是一个便携版本:-D

您可以从以下位置下载静态构建http://johnvansickle.com/ffmpeg

下载后,您只需将 .tar.xz 文件解压到 /opt/ffmpeg 即可,然后创建指向 /opt/.../ffmpeg 可执行文件的符号链接,即可享受您的 ffmpeg :-)

相关内容