如何正确安装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
- ffprobe 不起作用...没有输出
- 包含 ffmpeg 作品和库
- 安装不必要的额外桌面版本库
mc3man/trusty-media
- ffprobe 有效
- ffmpeg 工作原理
- 安装不必要的额外桌面版本库
jon-severinsson/ffmpeg
- ffprobe 有效
- ffmpeg 版本非常旧且缺少重要的库
- 安装不必要的额外桌面版本库
14.10
samrog131/ppa
- ffprobe 不起作用...没有输出
- 包含 ffmpeg 作品和库
- 安装不必要的额外桌面版本库
mc3man/trusty-media
无法获取,无法安装 ffmpeg
jon-severinsson/ffmpeg
- ffprobe 有效
- ffmpeg 版本非常旧且缺少重要的库
- 安装不必要的额外桌面版本库
更新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 :-)